git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Aguilar <davvid@gmail.com>
To: Paul Mackerras <paulus@samba.org>, Jay Soffian <jaysoffian@gmail.com>
Cc: Markus Heidelberg <markus.heidelberg@web.de>,
	Nanako Shiraishi <nanako3@lavabit.com>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org
Subject: Re: [PATCH v5] gitk: Use git-difftool for external diffs when git >= 1.7.0
Date: Sat, 17 Apr 2010 15:45:58 -0700	[thread overview]
Message-ID: <20100417224556.GB9366@gmail.com> (raw)
In-Reply-To: <20100417085230.GC6681@brick.ozlabs.ibm.com>

On Sat, Apr 17, 2010 at 06:52:30PM +1000, Paul Mackerras wrote:
> On Thu, Apr 08, 2010 at 02:08:10AM -0700, David Aguilar wrote:
> 
> > 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.

I'll fix the error handling and add a few more notes to the
final commit message.

The title display is tool-specific so there's something we can
do about it on a tool-by-tool basis.  This'll have to wait until
we can break out the tool-dependent parts of git-mergetool--lib
as was discussed in the past:

http://lists-archives.org/git/707440-mergetool-lib-add-diffmerge-as-a-pre-configured-mergetool-option.html
(sorry, couldn't find it on gmane... :-/)

Jay, you mentioned wanting to give Junio's approach a try as
well as looking into what mercurial did with mergetools.
Do you have any thoughts about it since then?  I can help
factor out the backends if you don't think you'll have time to
get to it soon.

Once we factor out the backends we'll should have an easier
time working in additional variables for doing user-friendly
things like passing the --label= flag to meld.
git-difftool should be able to do it since its GIT_EXTERNAL_DIFF
helper is passed the sha1s.

Thanks all,

-- 
		David

  reply	other threads:[~2010-04-17 22:46 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-27 21:45 [PATCH] gitk: Use git-difftool for external diffs David Aguilar
2010-03-28  0:01 ` [PATCH v2] " David Aguilar
2010-03-28  0:20 ` [PATCH v3] " David Aguilar
2010-03-28 10:59   ` Markus Heidelberg
2010-03-31  2:06     ` David Aguilar
2010-03-31  2:09     ` [PATCH v4] " David Aguilar
2010-04-02 11:32       ` Markus Heidelberg
2010-04-08  9:02         ` David Aguilar
2010-04-08  9:08           ` [PATCH v5] gitk: Use git-difftool for external diffs when git >= 1.7.0 David Aguilar
2010-04-17  8:52             ` Paul Mackerras
2010-04-17 22:45               ` David Aguilar [this message]
2010-04-18  2:20                 ` Jay Soffian
2010-04-20  8:11               ` [PATCH v6] gitk: Use git-difftool for external diffs when available David Aguilar
2010-06-08  8:10                 ` David Aguilar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100417224556.GB9366@gmail.com \
    --to=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jaysoffian@gmail.com \
    --cc=markus.heidelberg@web.de \
    --cc=nanako3@lavabit.com \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).