Hi, [Perry, my mailer could not find your MX record, so I am sorry I had to drop you from the explicit To:...] On Sat, 16 Jul 2016, Perry Hutchison wrote: > norm@xxxxxxx wrote: > > > Would some kind soul be willing to tell me if there is a way to > > do that, short of making a backup copy of the relevant file, and > > then doing 'git checkout'. Maybe the '--ext-diff' argument to > > 'git diff' will do that, but I can't figure out how to use it. > > ... > > git version: 2.5.1.454.g1616360 > > 'git cat' would be simpler than making a backup and using 'git checkout', > but for this use case there's a better way even than that. $ git cat git: 'cat' is not a git command. See 'git --help'. ;-) You probably meant `git cat-file blob <SHA-1>`. > Google is your friend when you can't figure something out from (or > find the right part of) a program's own documentation. A search for > > git "external diff program" > > (including the quotes) found several references. > > One possible complication: It's likely that the command parameters > which git passes to an external diff program are not exactly what > /usr/bin/diff requires. The solution to that sort of problem is to > write a very short executable script that rearranges the parameters > as needed, and specify that script (instead of /usr/bin/diff itself) > as the external diff program. To spell it out, you probably referred to the --ext-diff option: https://github.com/git/git/blob/v2.9.2/Documentation/diff-options.txt#L528-L531 This option can be used with any diff-producing Git command, but it requires a .gitattribute setting together with the corresponding diff.external setting in the config. A better method might be to use the `git difftool` command, e.g. git difftool -x diff You can also inspect the diff of a commit, using the ^! suffix, e.g. git difftool -x diff origin/master~3^! If you want to avoid the prompt and get the complete diff for all files in one go, you will have to write a small script as indicated, e.g. printf '#!/bin/sh\n\n/usr/bin/diff -r "$@"\n' >my-diff.sh chmod a+x my-diff.sh git difftool -d -x $PWD/my-diff.sh HEAD^! I did write all of this in the mail program, so I highly recommend reading the man page of the difftool e.g. to understand the meaning of the -d option, so that you can fix any problems with my examples yourself. Ciao, Johannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html