chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
git-debrebase: note re debrebase push?
[dgit.git]
/
git-debrebase
diff --git
a/git-debrebase
b/git-debrebase
index 87928bc55db59739c1ec7875826f1969e48641a9..6d8091e63bfb880b42a56aa1387d8d0b1a0aacfd 100755
(executable)
--- a/
git-debrebase
+++ b/
git-debrebase
@@
-371,7
+371,13
@@
sub classify ($) {
return $r;
};
return $r;
};
+ my $claims_to_be_breakwater =
+ $r->{Msg} =~ m{^\[git-debrebase breakwater.*\]$}m;
+
if (@p == 1) {
if (@p == 1) {
+ if ($claims_to_be_breakwater) {
+ return $unknown->("single-parent git-debrebase breakwater \`merge'");
+ }
my $d = $r->{Parents}[0]{Differs};
if ($d == D_PAT_ADD) {
return $classify->(qw(AddPatches));
my $d = $r->{Parents}[0]{Differs};
if ($d == D_PAT_ADD) {
return $classify->(qw(AddPatches));
@@
-405,7
+411,10
@@
sub classify ($) {
}
my @identical = grep { !$_->{Differs} } @p;
}
my @identical = grep { !$_->{Differs} } @p;
- if (@p == 2 && @identical == 1) {
+ if (@p == 2 && @identical == 1 && !$claims_to_be_breakwater
+ # 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),
my @overwritten = grep { $_->{Differs} } @p;
confess "internal error $objid ?" unless @overwritten==1;
return $classify->(qw(Pseudomerge),