]>
git.ipfire.org Git - thirdparty/git.git/blob - CheckPush
7 git for-each-ref
--format='%(refname)' refs
/heads
/maint-\
* |
9 sub compare_dotted_version {
10 my (@ours) = split(/\./, $_[0]);
11 my (@theirs) = split(/\./, $_[1]);
14 for ($i = 0; $i < @ours && $i < @theirs; $i++) {
15 $diff = $ours[$i] - $theirs[$i];
16 return $diff if ($diff);
18 return 1 if ($i < @ours);
19 return -1 if ($i < @theirs);
24 next unless s|^refs/heads/||;
26 my ($v) = ($_ =~ /^maint-(.*)$/);
27 push @maint, [$v, $_];
30 sort { compare_dotted_version($a->[0], $b->[0]) }
45 if test -n "$prev_branch"
47 echo "$branch..$prev_branch"
54 lg
=$
(git log
--oneline "$range")
62 if ! next_equiv
=$
(git rev-parse
--verify 'jch^{/^### match next}' 2>/dev
/null
) ||
63 ! git
diff --stat --exit-code next
$next_equiv
65 next_tree
=$
(git rev-parse next^
{tree
}) &&
66 next_equiv
=$
(git rev-list
--first-parent $MASTER..seen |
68 echo $(git rev-parse $1^{tree}) $1
69 ' - |
sed -n -e "s/^$next_tree //p"
73 if test -n "$next_equiv"
75 jch
=$
(git rev-list
--first-parent $MASTER..jch |
wc -l) &&
76 seen
=$
(git rev-list
--first-parent $MASTER..seen |
wc -l) &&
77 next
=$
(git rev-list
--first-parent $MASTER..
$next_equiv |
wc -l) &&
78 if test $jch -le $next
80 echo "$MASTER..$jch..jch..$next..next..$seen..seen"
82 echo "$MASTER..$next..next..$jch..jch..$seen..seen"