On Thu, Sep 01, 2022 at 05:25:55PM +0100, Richard W.M. Jones wrote: > > > > Can we introduce some xfuncname pattern for these "state machine" C > > files? The STATE_MACHINE hunk header is totally useless. I'd like > > "NEWSTYLE.OPT_META_CONTEXT.START". :) > > It took me a while to work out what this means, but yes I agree. > It seems the following should work but does not for me: > > .git/config add: > [diff "nbdstate"] > xfuncname = "^ [A-Z.]*:$"
Probably also want _0-9 in that []. > > .git/info/attributes: > generator/states-*.c diff=nbdstate We could also put it in .gitattributes (we've already done it for *.ml files, where we give the user the 'git config' command to run to take advantage of it). It's a shame it's not quite automatic from a fresh git checkout, but the idea should work if done right. Here's what I tested. In .gitattributes: # Use the following one-time config to get nicer diffs of generator state files: # git config diff.states.xfuncname '^([a-zA-Z_]| [A-Z._0-9]*:$)' generator/states-*.c diff=states then run that git config, then looking at 'git log -p generator/states-*.c', the diff for 30ee21f6 is a lot more legible, with lines like: +++ b/generator/states-reply-structured.c @@ -89,13 +89,8 @@ REPLY.STRUCTURED_REPLY.CHECK: } /* Skip an unexpected structured reply, including to an unknown cookie. */ - if (cmd == NULL || !h->structured_replies) { where the @@ line points to the right sub-state. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs