git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Matthieu MoyNext: Markus Heidelberg
Message 8 of 16 in “git-difftool”
  1. David AguilarDec 26, 2008
  2. Matthieu MoyDec 31, 2008
  3. David AguilarDec 31, 2008
  4. Boyd Stephen Smith Jr.Dec 31, 2008
  5. Matthieu MoyJan 1, 2009
  6. Markus HeidelbergJan 2, 2009
  7. Matthieu MoyJan 2, 2009
  8. David AguilarJan 2, 2009
  9. Markus HeidelbergJan 15, 2009
  10. David AguilarJan 16, 2009
  11. Ping YinJan 1, 2009
  12. Markus HeidelbergJan 2, 2009
  13. Ping YinJan 2, 2009
  14. ensoJan 17, 2009
  15. David AguilarJan 17, 2009
  16. Ping YinJan 17, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.