Re: difftool -d symlinks, under what conditions
- From
Matt McClure <matthewlmcclure@gmail.com>
- Date
- Mar 12, 2013, 21:43 UTC
- Message-ID
- <CAJELnLGBr1wOX4-3rCNjPpPLezc_6FgyeuPqty268JR0==qtvQ@mail.gmail.com>
- In-Reply-To
- <20130312210630.GF2317@serenity.lan>
On Tue, Mar 12, 2013 at 5:06 PM, John Keeping <john@keeping.me.uk> wrote:
Show 9 quoted lines
> 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] <commit> [--] [<path>...]
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