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

Re: [PATCH v5] gitk: Use git-difftool for external diffs when git >= 1.7.0

From
Paul Mackerras <paulus@samba.org>
Date
Apr 17, 2010, 08:52 UTC
Message-ID
<20100417085230.GC6681@brick.ozlabs.ibm.com>
In-Reply-To
<1270717690-32133-1-git-send-email-davvid@gmail.com>
On Thu, Apr 08, 2010 at 02:08:10AM -0700, David Aguilar wrote:
Show 7 quoted lines
> git-difftool is used instead of the built-in external diff
> code when git is >= 1.7.0.  git-difftool's '--extcmd=frotz'
> feature was first introduced in 1.7.0 and is the mechanism
> through which we launch the configured difftool.
> 
> A benefit of this change is that gitk's external diff feature
> no longer needs write-access to the current directory.

I applied this one, and in testing it I noticed that if the git difftool invocation fails, for example because the user doesn't have meld installed, there is no notification via the GUI. Instead an error message is printed to stderr. We need to do something more like what we do in the old-git case -- use open rather than exec -- and pop up an error dialog with error_popup on error so that the user knows what the problem is.

Another minor problem is that the file names that meld (or other diff tool) displays are less informative now. For example I see "KyaZ5d_gitk : 8iucke_gitk" as the tab label in meld instead of the "[87d24ec87abc...e236e0833ff] gitk" label that we got before, which was a little more informative, though the e236e0833ff is the end of the second SHA1 rather than the beginning.

So I backed it out. The error handling needs to be fixed using something like what delete_at_eof does (except that obviously we don't have any files to delete).

Paul.
Previous: David AguilarNext: David Aguilar
Message 10 of 14 in “gitk: Use git-difftool for external diffs”
  1. gitk: Use git-difftool for external diffsDavid Aguilar, Mar 27, 2010
  2. gitk: Use git-difftool for external diffsDavid Aguilar, Mar 28, 2010
  3. gitk: Use git-difftool for external diffsDavid Aguilar, Mar 28, 2010
  4. Markus HeidelbergMar 28, 2010
  5. David AguilarMar 31, 2010
  6. gitk: Use git-difftool for external diffsDavid Aguilar, Mar 31, 2010
  7. Markus HeidelbergApr 2, 2010
  8. David AguilarApr 8, 2010
  9. gitk: Use git-difftool for external diffs when git >= 1.7.0David Aguilar, Apr 8, 2010
  10. Paul MackerrasApr 17, 2010
  11. David AguilarApr 17, 2010
  12. Jay SoffianApr 18, 2010
  13. gitk: Use git-difftool for external diffs when availableDavid Aguilar, Apr 20, 2010
  14. David AguilarJun 8, 2010

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.