From: "Frédéric Heitzmann" <frederic.heitzmann@gmail.com>
To: David Aguilar <davvid@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: git difftool does does not respect current working directory
Date: Sat, 21 May 2011 11:35:06 +0200 [thread overview]
Message-ID: <4DD7874A.2050604@gmail.com> (raw)
In-Reply-To: <20110520044851.GD13582@gmail.com>
Reading your replies, my understanding is :
- difftool is consistent with diff, and chdir to root directory. It is
seems indeed very common to have diffs showing from the root directory.
- on the overhand, openning gvimdiff via difftool and having a new cwd
is for sure not consistent with usual gvim text editing.
I am afraid I am going to need some gvim trick like :
$ git difftool -x "gvimdiff -f -d -c 'wincmd l' -c 'cd $PWD' " my_file
Not sure that it is less messy though ;-)
If there is no stronger need to adapt git-difftool, for gvimdiff or any
other difftool, we could probably settle for it.
Thanks for you help.
--
Fred
Le 20/05/2011 06:48, David Aguilar a écrit :
> On Thu, May 19, 2011 at 09:31:54PM -0700, Junio C Hamano wrote:
>> David Aguilar<davvid@gmail.com> writes:
>>
>>> We would have to change the way $GIT_EXTERNAL_DIFF works so
>>> that it preserves the current directory and constructs
>>> paths relative to it. Patches welcome :-)
>> I am afraild that would break a lot more than difftool.
>>
>> If we really wanted to change the behaviour, the external diff interface
>> needs to export the value of prefix (i.e. what the original subdirectory
>> was), and the script that is spawned as $GIT_EXTERNAL_DIFF (optionally
>> optionally) take it into account, perhaps by cd'ing back to that
>> subdirectory and possibly moving or renaming the temporary files to suit
>> its needs (I think recently we also saw a request to rename the temporary
>> files).
>>
>> Or something like that.
> Yup, yup. That's a lot of machinery for a relatively small
> gain. Simple is simple, simple is good. Thanks for
> outlining how someone could implement it, though.
>
> I won't do it myself but if someone is motivated enough then
> your email at least gives an idea about how to go about doing
> it. git-difftool--helper could chdir to $prefix and diff each
> file with $(git rev-parse --show-cdup)/$path as the path since
> it may no longer be at the root.
>
> This seems very messy so I don't really want to sound too
> encouraging about going down this route. I probably
> shouldn't have encouraged looking at the temporary files
> thing in the other thread either.
>
> Thanks,
next prev parent reply other threads:[~2011-05-21 9:35 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-14 14:25 git difftool does does not respect current working directory Frédéric Heitzmann
2011-05-16 5:39 ` Junio C Hamano
2011-05-20 3:59 ` David Aguilar
2011-05-20 4:10 ` David Aguilar
2011-05-20 4:31 ` Junio C Hamano
2011-05-20 4:48 ` David Aguilar
2011-05-21 9:35 ` Frédéric Heitzmann [this message]
2011-05-22 6:14 ` David Aguilar
2011-05-22 6:30 ` Junio C Hamano
2011-05-22 6:50 ` David Aguilar
2011-05-22 9:57 ` [PATCH 1/3] setup: Provide GIT_PREFIX to built-ins David Aguilar
2011-05-22 9:57 ` [PATCH 2/3] git: Remove handling for GIT_PREFIX David Aguilar
2011-05-22 9:57 ` [PATCH 3/3] git-mergetool--lib: Make vimdiff retain the current directory David Aguilar
2011-05-23 6:36 ` Michael J Gruber
2011-05-23 19:59 ` Junio C Hamano
2011-05-23 12:09 ` [PATCH 1/3] setup: Provide GIT_PREFIX to built-ins Ævar Arnfjörð Bjarmason
2011-05-25 4:19 ` David Aguilar
[not found] ` <1306058055-93672-1-git-send-email-davvid@gmail.com>
[not found] ` <4DDA0044.2060207@drmicha.warpmail.net>
2011-05-23 8:40 ` David Aguilar
2011-05-23 9:58 ` Michael J Gruber
2011-05-23 16:43 ` Junio C Hamano
2011-05-24 7:23 ` Michael J Gruber
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=4DD7874A.2050604@gmail.com \
--to=frederic.heitzmann@gmail.com \
--cc=davvid@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.