Thread (1 message) 1 message, 1 author, 2016-06-15

Re: "git-diff-tree -R A B == git-diff-tree B A"?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:41:57

quoted
quoted
quoted
quoted
"LT" == Linus Torvalds [off-list ref] writes:
LT> On Fri, 20 May 2005, Junio C Hamano wrote:
quoted
I was preparing a set of tests for diff family because I wanted
to have something that catches screwups I am going to inflict
upon them during the coming couple of days.  One of the tests
accidentally found out that the above is not true in the current
implementation.  Just an excerpt of relevant lines [*1*]:

$ git-diff-tree -r $tree_B $tree_A

+100644 blob 7e426fb079479fd67f6d81f984e4ec649a44bc25 AN
+100644 blob 68a6d8b91da11045cf4aa3a5ab9f2a781c701249 DF/DF
-100644 blob 71420ab81e254145d26d6fc0cddee64c1acd4787 DF
-100644 blob 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 DM

$ git-diff-tree -R $tree_A $tree_B

+100644 blob 7e426fb079479fd67f6d81f984e4ec649a44bc25 AN
-100644 blob 71420ab81e254145d26d6fc0cddee64c1acd4787 DF
+100644 blob 68a6d8b91da11045cf4aa3a5ab9f2a781c701249 DF/DF
-100644 blob 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 DM

LT> Ahh.. "diff-tree" uses the wrong algorithm for selecting name ordering.

LT> It thinks that "DF" and "DF/" sort equally because it just looks at the
LT> name, not the type. So then, becuse the names sort the same, it will sort
LT> them according to where they come from, and you get the behaviour you see.

LT> It doesn't really matter, but you're right, I should fix it to be
LT> consistent.

Don't bother.  I already have a fix with the test case.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help