Bug in log for path in case of identical commit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When merging 2 branches with the same modifications on the both sides,
depending the merge side, one branch disappear from the file history.

To be more clear, there is a script in attachment to reproduce, but
here is the result :
$ git log --graph --oneline --all --decorate --name-status
*   63c807f (HEAD, master) Merge branch 'branch' into 'master'
|\
| * 5dc8785 (branch) Change line 15 on branch
| | M   file
| * d9cd3ce Change line 25 on branch
| | M   file
* | 7220d52 Change line 15 on master
|/
|   M   file
* 7566672 Initial commit
  A     file

$ git log --graph --oneline --all --decorate --name-status -- file
* 5dc8785 (branch) Change line 15 on branch
| M     file
* d9cd3ce Change line 25 on branch
| M     file
* 7566672 Initial commit
  A     file

=> The commit 7220d52 modified the file but is not shown in file
history anymore.
The expected result would be:
* 5dc8785 (branch) Change line 15 on branch
| M     file
* d9cd3ce Change line 25 on branch
| M     file
| * 7220d52 Change line 15 on master
|/
|   M   file
* 7566672 Initial commit
  A     file

The order between the 2 commits on the branch is not important.
If you do a 'cherry-pick 7220d52' or a 'merge --squash master' instead
of applying the same modification for commit 5dc8785, you get the same
result (cherry-picking was my initial use-case).
If you do not create the commit d9cd3ce, then the file history show all commits.
If you merge 'master' into 'branch', then the file history show all commits.

Am I missing something or is it really a bug?
Thanks.

-- 
Alex

Attachment: git_log_path_bug.sh
Description: Bourne shell script


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]