X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=git-debrebase;h=bc92cfab4b88d08cb874a79c0413bbb95bfab81d;hb=2358a651a8d11f2aab46a32b15fe142983ed230a;hp=88118aa42c6decdc923647bc7dcd241a03fbec40;hpb=850b9cacb62d6009cb503cbec266174fe92a90a7;p=dgit.git diff --git a/git-debrebase b/git-debrebase index 88118aa4..bc92cfab 100755 --- a/git-debrebase +++ b/git-debrebase @@ -405,7 +405,11 @@ sub classify ($) { } my @identical = grep { !$_->{Differs} } @p; - if (@p == 2 && @identical == 1) { + if (@p == 2 && @identical == 1 && + $r->{Msg} !~ m{^\[git-debrebase breakwater.*\]$}m + # breakwater merges can look like pseudomerges, if they are + # "declare" commits (ie, there are no upstream changes) + ) { my @overwritten = grep { $_->{Differs} } @p; confess "internal error $objid ?" unless @overwritten==1; return $classify->(qw(Pseudomerge), @@ -492,10 +496,11 @@ sub walk ($;$$) { my $cl; my $xmsg = sub { - my ($appendinfo) = @_; + my ($prose, $info) = @_; my $ms = $cl->{Msg}; chomp $ms; - $ms .= "\n\n[git-debrebase $appendinfo]\n"; + $info //= ''; + $ms .= "\n\n[git-debrebase$info: $prose]\n"; return (Msg => $ms); }; my $rewrite_from_here = sub { @@ -628,7 +633,8 @@ sub walk ($;$$) { push @brw_cl, { %$cl, SpecialMethod => 'DgitImportUpstreamUpdate', - $xmsg->("convert dgit import: upstream changes") + $xmsg->("convert dgit import: upstream changes", + " breakwater") }; } $prline->(" Import"); @@ -876,7 +882,7 @@ sub cmd_new_upstream_v0 () { if ($old_upstream->{Msg} =~ m{^\[git-debrebase }m) { if ($old_upstream->{Msg} =~ - m{^\[git-debrebase (?:\w*-)?upstream combine \.((?: $extra_orig_namepart_re)+)\]} + m{^\[git-debrebase upstream-combine \.((?: $extra_orig_namepart_re)+)\:.*\]$}m ) { my @oldpieces = ('', split / /, $1); my $parentix = -1 + scalar @{ $old_upstream->{Parents} }; @@ -886,7 +892,7 @@ sub cmd_new_upstream_v0 () { } } else { fproblem "previous upstream $old_upstream->{CommitId} is from". - " git-debrebase but not an \`upstream combine' commit"; + " git-debrebase but not an \`upstream-combine' commit"; } } @@ -930,9 +936,9 @@ sub cmd_new_upstream_v0 () { # need to make the upstream subtree merge commit $new_upstream = make_commit \@upstream_merge_parents, [ "Combine upstreams for $new_upstream_version", - ("[git-debrebase new-upstream combine . ". - (join " ", map { $_->{Name} } @newpieces[1..$#newpieces]). - "]"), + ("[git-debrebase upstream-combine . ". + (join " ", map { $_->{Name} } @newpieces[1..$#newpieces]). + ": new upstream]"), ]; } @@ -945,7 +951,7 @@ sub cmd_new_upstream_v0 () { # index now contains the breakwater merge contents $new_bw = make_commit [ $old_bw, $new_upstream ], [ "Update to upstream $new_upstream_version", - "[git-debrebase new-upstream breakwater $new_upstream_version]", + "[git-debrebase breakwater: new upstream $new_upstream_version, merge]", ]; # Now we have to add a changelog stanza so the Debian version @@ -973,7 +979,7 @@ END # Now we have the final new breakwater branch in the index $new_bw = make_commit [ $new_bw ], [ "Update changelog for new upstream $new_upstream_version", - "[git-debrebase new-upstream changelog $new_upstream_version]", + "[git-debrebase: new upstream $new_upstream_version, changelog]", ]; }; @@ -1035,14 +1041,14 @@ sub cmd_gbp2debrebase () { $work = make_commit ['HEAD'], [ 'git-debrebase import: drop patch queue', 'Delete debian/patches, as part of converting to git-debrebase format.', - '[git-debrebase gbp2debrebase drop-patches]' + '[git-debrebase: gbp2debrebase, drop patches]' ]; # make the breakwater pseudomerge # the tree is already exactly right $work = make_commit [$work, $upstream], [ 'git-debrebase import: declare upstream', 'First breakwater merge.', - '[git-debrebase declare-upstream breakwater]' + '[git-debrebase breakwater: declare upstream]' ]; # rebase the patch queue onto the new breakwater