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

Re: git log --follow doesn't follow a rename over a merge

From: James Blackburn <hidden>
Date: 2016-06-15 22:51:29

On 16 June 2011 19:15, Jeff King [off-list ref] wrote:
This test case shows full-history helping:
This test shows what I've done:

commit() {
 echo $1 >>$1 && git add $1 && git commit -m $1
}

git init repo
cd repo
commit one
commit two
commit three

git symbolic-ref HEAD refs/heads/newroot
rm *
git rm --cached *
commit four
commit four
commit four
commit four
commit four
commit four
commit five

git checkout master
git merge --no-commit newroot

git mv four four2
commit six
commit four2
commit five

git log --graph --oneline
* 7c4c441 five
* 02a7262 four2
*   6ac2fe0 six
|\
| * d4f5e35 five
| * 350d3e9 four
| * b975d48 four
| * 3bdbf38 four
| * 5b58da8 four
| * 9fb4f59 four
| * a6d1492 four
* b301c9c three
* 38865e2 two
* 9a9c689 one

At this point, only git-blame seems correct:
git blame -- four2
Correct
git log --oneline -- four2
02a7262 four2
6ac2fe0 six
git log --follow --oneline -- four2
02a7262 four2
From the above: I can't log past four2 (without using  blame-log.sh).
git log -- four
 <no output>
git log --follow --oneline -- four
350d3e9 four
b975d48 four
3bdbf38 four
5b58da8 four
9fb4f59 four
a6d1492 four
From above: I can't log four without doing '--follow', and the output
is missing the deletion in the merge commit.

Log of 'five', which hasn't been renamed, looks ok.

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