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$(echo .)com \
--cc=davvid@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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