Thread (7 messages) flat view 7 messages, 5 authors, 2016-06-15

Re: Possible bug in Git

From: Avery Pennarun <hidden>
Date: 2016-06-15 22:48:39

On Thu, Apr 15, 2010 at 8:06 PM, Avery Pennarun [off-list ref] wrote:
On Thu, Apr 15, 2010 at 8:01 PM, Junio C Hamano [off-list ref] wrote:
quoted
Avery Pennarun [off-list ref] writes:
quoted
So what git tries to do is reduce the diff output of a merge commit
down to just the "unexpected" parts: the parts that are different from
what you'd get if you just merged in the individual changes in the
obvious way.
This (and everything you said after this paragraph) is not quite correct.
What is shown is the pieces that do not match either of the parent.

So if you have a conflicted merge and resolve it by taking what one side
did literally (think: "merge -X ours"), that hunk becomes uninteresting
because the end result matches what one of the parents had.
Hmm, but David also said:
quoted
quoted
quoted
git show commit:path shows empty file:
$ git show dac6a95f5:facturacion/facturacion/scripts/lineasfacturascli.qs | wc
    0       0       0
The output seems to match neither parent in any way, and yet the
simplification has resulted in no diff at all.  Strange, no?

Avery
 mkdir testy
 cd testy
 git init
 cp /etc/profile .
 git add profile
 git commit -m root
 git checkout -b a master
 cat /etc/profile >>profile
 git commit -a -m test1
 git checkout -b b master
 cat /etc/profile | tr A-Za-z a-zA-Z >profile
 git commit -a -m test1b
 git merge a
   # produces a conflict
 true >profile   # blank the file
 git commit -a -m resolved
 git show HEAD:profile
   # no output

Note that if you instead replace the file with a nonempty (but
different) file, you get something appropriate as the output.

Have fun,

Avery
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help