From: Jay Soffian <jaysoffian@gmail.com>
To: Charles Bailey <charles@hashpling.org>
Cc: Scott Chacon <schacon@gmail.com>, git list <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>,
David Aguilar <davvid@gmail.com>
Subject: Re: [PATCH] mergetool--lib: add p4merge as a pre-configured mergetool option
Date: Thu, 29 Oct 2009 20:47:08 -0400 [thread overview]
Message-ID: <76718490910291747l165baf49tab781727d010610a@mail.gmail.com> (raw)
In-Reply-To: <20091029221234.GB32590@hashpling.org>
On Thu, Oct 29, 2009 at 6:12 PM, Charles Bailey <charles@hashpling.org> wrote:
> I'm not sure I understand why only p4merge on Mac OS X is special, we
> don't seem to treat any other mergetool specially and we don't seem to
> need absolute paths anywhere else.
On other platforms, the merge tool is very likely to be in your PATH.
On OS X, p4merge is going to be installed as part of an application
bundle (/Applications/p4merge.app or $HOME/Applications/p4merge.app).
This is virtually never going to be in a user's PATH.
So in order to provide equivalent behavior for OS X as Linux (i.e., so
that you can just specify p4merge as the mergetool without having to
provide it's path), we need to look in these additional locations.
> If it's a Mac OS X only thing, can we (and should we) avoid special
> treatment for p4merge on other platforms?
It is a Mac OS X only thing. Yes, we could avoid looking in these
locations on other platforms, but why? Using type to look for the
executable is virtually no cost. The alternative (calling uname to
determine the platform) requires running a separate process.
> The only other question I have is what are the merits of using
> /dev/null as the base vs. a second copy of the local version in the
> baseless merge case? It's the only other difference between the two
> p4merge patches that I noticed.
p4merge's argument handling is stupid, you need to pass it a dummy
argument in some cases. A second copy of the local version is probably
better than /dev/null. Actually, I think just passing it an empty
argument ("") works too.
> Perhaps we could consider having both p4merge and launchp4merge as
> separate options?
I think that would be over-engineered. Decide on one or the other.
They have slightly different semantics as I've previously described.
Personally I think calling launchp4merge provides a more Mac-like
behavior, but honestly it doesn't make much difference.
j.
next prev parent reply other threads:[~2009-10-30 0:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-27 22:36 [PATCH] mergetool--lib: add p4merge as a pre-configured mergetool option Scott Chacon
2009-10-27 23:00 ` Charles Bailey
2009-10-28 7:18 ` Junio C Hamano
2009-10-28 9:00 ` David Aguilar
2009-10-28 15:37 ` Scott Chacon
2009-10-28 21:39 ` Scott Chacon
2009-10-28 23:37 ` Junio C Hamano
2009-10-29 6:17 ` Jay Soffian
2009-10-29 22:12 ` Charles Bailey
2009-10-30 0:47 ` Jay Soffian [this message]
2009-10-30 1:02 ` Markus Heidelberg
2009-10-30 3:00 ` Jay Soffian
2009-10-30 10:35 ` Markus Heidelberg
2009-10-30 11:25 ` Reece Dunn
2009-10-30 15:17 ` Jay Soffian
2009-10-30 15:30 ` Markus Heidelberg
2009-10-30 17:44 ` Charles Bailey
2009-10-30 18:54 ` Junio C Hamano
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=76718490910291747l165baf49tab781727d010610a@mail.gmail.com \
--to=jaysoffian@gmail.com \
--cc=charles@hashpling.org \
--cc=davvid@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=schacon@gmail.com \
/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).