From: Matt McClure Date: Tue, 12 Mar 2013 21:43:37 GMT Subject: Re: difftool -d symlinks, under what conditions Message-ID: In-Reply-To: <20130312210630.GF2317@serenity.lan> On Tue, Mar 12, 2013 at 5:06 PM, John Keeping wrote: > On Tue, Mar 12, 2013 at 01:39:17PM -0700, Junio C Hamano wrote: >> >> What is the situation when you do not want symbolic links? > > When you're not comparing the working tree. > > If we can reliably say "the RHS is the working tree" then it could be > unconditional, but I haven't thought about how to do that - I can't see > a particularly easy way to check for that; Agreed. From what I can see, the only form of the diff options that compares against the working tree is git difftool -d [--options] [--] [...] At first, I thought that the following cases were also working tree cases, but actually they use the HEAD commit. git difftool -d commit1.. git difftool -d commit1... > is it sufficient to say > "there is no more than one non-option to the left of '--' and '--cached' > is not among the options"? An alternative approach would be to reuse git-diff's option parsing and make it tell git-difftool when git-diff sees the working tree case. At this point, I haven't seen an obvious place in the source where git-diff makes that choice, but if someone could point me in the right direction, I think I'd actually prefer that approach. What do you think? -- Matt McClure http://www.matthewlmcclure.com http://www.mapmyfitness.com/profile/matthewlmcclure