Re: git-difftool
- From
David Aguilar <davvid@gmail.com>
- Date
- Jan 2, 2009, 17:39 UTC
- Message-ID
- <402731c90901020939k1a8ae795oc4cbfd0ced992aab@mail.gmail.com>
- In-Reply-To
- <vpq63kxofi3.fsf@bauges.imag.fr>
On Fri, Jan 2, 2009 at 8:10 AM, Matthieu Moy <Matthieu.Moy@imag.fr> wrote:
Show 17 quoted lines
> > As done with "vimdiff" in another message, simply write a > one-liner wrapper script that calls xxdiff $2 $3, and call this > wrapper script. > > ... > > Right, but a script "git-difftool" calling the later is a one-liner, > so 2 one-liners give you the same result as the ~500 lines script > proposed. And GIT_EXTERNAL_DIFF has the great advantage > of being maintained together with git, and will most likely handle > all cases (diff between index, working tree, arbitrary commit, ...) > correctly. > > -- > Matthieu >
Thanks for the feedback. I've done exactly what you suggested.
I now have a git-difftool wrapper script that basically just sets up the environment for git-difftool-helper. git-difftool-helper does all of the merge tool configuration stuff ala http://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html (it uses the same git config variables and thus works with existing custom commands). If you drop them both into the same directory it should work as-is (it munges $PATH).
It's not a two-liner (they do all that git config stuff and handle more than just vimdiff) but it does use GIT_EXTERNAL_DIFF now, which makes the script infinitely more useful. This is much nicer now since you can pass any 'git diff' options to git-difftool and it'll handle it correctly.
The usage is simpler now too:
usage: git difftool [--no-prompt] [--tool=tool] ["git diff" options]
Thanks for your help,
--
David