mirror of
https://github.com/git/git.git
synced 2026-08-09 01:21:47 +00:00
sort_in_topological_order(): avoid setting a commit flag
We used to set the TOPOSORT flag of commits during the topological sorting, but we can just as well use the member "indegree" for it: indegree is now incremented by 1 in the cases where the commit used to have the TOPOSORT flag. This is the same behavior as before, since indegree could not be non-zero when TOPOSORT was unset. Incidentally, this fixes the bug in show-branch where the 8th column was not shown: show-branch sorts the commits in topological order, assuming that all the commit flags are available for show-branch's private matters. But this was not true: TOPOSORT was identical to the flag corresponding to the 8th ref. So the flags for the 8th column were unset by the topological sorting. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
b1264da863
commit
11ee57bc4c
59
t/t3202-show-branch-octopus.sh
Executable file
59
t/t3202-show-branch-octopus.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_description='test show-branch with more than 8 heads'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
numbers="1 2 3 4 5 6 7 8 9 10"
|
||||
|
||||
test_expect_success 'setup' '
|
||||
|
||||
> file &&
|
||||
git add file &&
|
||||
test_tick &&
|
||||
git commit -m initial &&
|
||||
|
||||
for i in $numbers
|
||||
do
|
||||
git checkout -b branch$i master &&
|
||||
> file$i &&
|
||||
git add file$i &&
|
||||
test_tick &&
|
||||
git commit -m branch$i || break
|
||||
done
|
||||
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
! [branch1] branch1
|
||||
! [branch2] branch2
|
||||
! [branch3] branch3
|
||||
! [branch4] branch4
|
||||
! [branch5] branch5
|
||||
! [branch6] branch6
|
||||
! [branch7] branch7
|
||||
! [branch8] branch8
|
||||
! [branch9] branch9
|
||||
* [branch10] branch10
|
||||
----------
|
||||
* [branch10] branch10
|
||||
+ [branch9] branch9
|
||||
+ [branch8] branch8
|
||||
+ [branch7] branch7
|
||||
+ [branch6] branch6
|
||||
+ [branch5] branch5
|
||||
+ [branch4] branch4
|
||||
+ [branch3] branch3
|
||||
+ [branch2] branch2
|
||||
+ [branch1] branch1
|
||||
+++++++++* [branch10^] initial
|
||||
EOF
|
||||
|
||||
test_expect_success 'show-branch with more than 8 branches' '
|
||||
|
||||
git show-branch $(for i in $numbers; do echo branch$i; done) > out &&
|
||||
test_cmp expect out
|
||||
|
||||
'
|
||||
|
||||
test_done
|
||||
Reference in New Issue
Block a user