summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-20 01:42:47 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-20 01:45:39 +0100
commit1bc7acac1e13f58de74e7e07b0f3c3741f4ef405 (patch)
tree7d75bafac2ed14ea894a1a4317beeab432786b9c /dgit
parenteef842fb0e323b265071e751bcb704a1ce79e950 (diff)
dgit: quilt fixup: Do not suggest quilt modes if we see gdr
If `stopped at' is a git-debrebase commit, then a non-default quilt mode is probably not the answer. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit9
1 files changed, 8 insertions, 1 deletions
diff --git a/dgit b/dgit
index 83d1d09..6377e32 100755
--- a/dgit
+++ b/dgit
@@ -5368,10 +5368,17 @@ sub quiltify ($$$$) {
};
if ($quilt_mode eq 'linear') {
print STDERR "\n$us: error: quilt fixup cannot be linear. Stopped at:\n";
+ my $all_gdr = !!@nots;
foreach my $notp (@nots) {
print STDERR "$us: ", $reportnot->($notp), "\n";
+ $all_gdr &&= $notp->{Child} &&
+ (git_cat_file $notp->{Child}{Commit}, 'commit')
+ =~ m{^\[git-debrebase.*\]$}m;
}
print STDERR "\n";
+ $failsuggestion =
+ [ grep { $_->[0] ne 'quilt-mode' } @$failsuggestion ]
+ if $all_gdr;
print STDERR "$us: $_->[1]\n" foreach @$failsuggestion;
fail
"quilt history linearisation failed. Search \`quilt fixup' in dgit(7).\n";
@@ -5924,7 +5931,7 @@ END
push @failsuggestion, [ 'quilt-mode', "Maybe you need to specify one of".
" --[quilt=]gbp --[quilt=]dpm --quilt=unapplied ?" ],
[ 'origs',
- "Or, maybe orig tarball(s) are not identical to git representation?" ];
+ "Maybe orig tarball(s) are not identical to git representation?" ];
if (quiltmode_splitbrain()) {
quiltify_splitbrain($clogp, $unapplied, $headref, $oldtiptree,