X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit;h=e75210805370d71b799df411fbad4ed2ead8c2b3;hp=2a3d9ac45cbb7909002bccd1750ad7d8b4b4a1c2;hb=17164daffe9910cf9b1574316b181986769837ce;hpb=3553a7c60866f392445d7bbf2ed028f3f92da33d diff --git a/dgit b/dgit index 2a3d9ac4..e7521080 100755 --- a/dgit +++ b/dgit @@ -5368,9 +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"; @@ -5920,10 +5928,15 @@ END push @failsuggestion, [ 'applied', "This might be a patches-applied branch." ]; } - 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?" ]; + push @failsuggestion, [ 'quilt-mode', + "Maybe you need one of --[quilt=]gbp --[quilt=]dpm --quilt=unapplied ?" ]; + + push @failsuggestion, [ 'gitattrs', + "Warning: Tree has .gitattributes. See GITATTRIBUTES in dgit(7)." ] + if stat_exists '.gitattributes'; + + push @failsuggestion, [ 'origs', + "Maybe orig tarball(s) are not identical to git representation?" ]; if (quiltmode_splitbrain()) { quiltify_splitbrain($clogp, $unapplied, $headref, $oldtiptree,