On Thu, May 19, 2011 at 09:31:54PM -0700, Junio C Hamano wrote: > David Aguilar <davvid@xxxxxxxxx> 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, -- David -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html