From: Junio C Hamano Date: Tue, 12 Mar 2013 20:38:26 GMT Subject: Re: difftool -d symlinks, under what conditions Message-ID: <7vk3pc73r1.fsf@alter.siamese.dyndns.org> In-Reply-To: David Aguilar writes: > Interesting approach. While this does get the intended behavior > for difftool, I'm afraid this would be a grave regression for > existing "git diff --raw" users who cannot have such behavior. The 0{40} in RHS of --raw output is to say that we do not know what object name the contents at the path hashes to. If you run "git diff HEAD^" for a path that is different between HEAD and the index for which you do not have a local change in the working tree, we have to show the path (because it is different between the working tree and HEAD^), but we know the object name for copy in the working tree, simply because we know it matches what is in the index. Showing 0{40} on the RHS in such a case loses information, making us say "We don't know" when we perfectly well know. That is a regression. If the user is allowed to touch any random file in the working tree, I do not see a workable solution other than John Keeping's follow-up patch to make symlinks of all paths involved.