summaryrefslogtreecommitdiff
path: root/git-debrebase
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2022-11-11 22:50:17 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2022-11-11 23:01:06 +0000
commit333644a9b9ed23152aa27432953858493b6d422f (patch)
treeefb1a920d78156d94ee3a885b555abbfa2e0b22a /git-debrebase
parent7f83688b268bc0740464eee79d8ba556290ff5f0 (diff)
git-debrebase: convert-from-dgit-view: Bail if output is wrong
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'git-debrebase')
-rwxr-xr-xgit-debrebase14
1 files changed, 14 insertions, 0 deletions
diff --git a/git-debrebase b/git-debrebase
index cafe83b..ab2c0dd 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -2834,6 +2834,20 @@ END
print STDERR f_ "Yes, will base new branch on %s\n", $result->{Source};
+ my $out_diff = get_differs $result->{Result}, $head;
+ if ($out_diff & (D_UPS | DS_DEB)) {
+ print STDERR "\n", f_ <<END, $result->{Result};
+Result of applying debian/patches/ onto the upstream is not the same as HEAD.
+(Applying patches gave the commit %s)
+Perhaps the upstream is not right, or not all of the delta is in d/patches.
+END
+ runcmd @git, qw(--no-pager diff --stat),
+ $result->{Result}, $head,
+ qw( -- :!/debian/patches :/);
+ snag 'conversion-mismatch',
+ __ "Output of conversion does not match input!";
+ }
+
complete_convert_from $head, $result->{Result}, $gdrlastinfo,
'convert-from-dgit-view';
}