chiark / gitweb /
dgit(1): Document as-yet-unwritten `dgit checkout'
[dgit.git] / dgit
diff --git a/dgit b/dgit
index d18cc73b000be7b6fefafb869f900d940e5bda09..404eab9620edd61190668285164899d0010ad960 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -4013,10 +4013,12 @@ sub splitbrain_pseudomerge ($$$$) {
        infopair_cond_ff($i_dep14, [ $maintview, 'HEAD' ]);
        1;
     }) {
+        $@ =~ s/^\n//; chomp $@;
        print STDERR <<END;
-$us: check failed (maybe --overwrite is needed, consult documentation)
+$@
+| Not fast forward; maybe --overwrite is needed, see dgit(1)
 END
-       die "$@";
+       finish -1;
     }
 
     my $r = pseudomerge_make_commit
@@ -4595,11 +4597,15 @@ sub branchsuite () {
     }
 }
 
-sub fetchpullargs () {
+sub package_from_d_control () {
     if (!defined $package) {
        my $sourcep = parsecontrol('debian/control','debian/control');
        $package = getfield $sourcep, 'Source';
     }
+}
+
+sub fetchpullargs () {
+    package_from_d_control();
     if (@ARGV==0) {
        $isuite = branchsuite();
        if (!$isuite) {
@@ -4652,11 +4658,10 @@ sub cmd_update_vcs_git () {
        }
     }
 
-    my $sourcep = parsecontrol 'debian/control', 'debian/control';
-    $package = getfield $sourcep, 'Source';
+    package_from_d_control();
     my $ctrl;
     if ($specsuite eq '.') {
-       $ctrl = $sourcep;
+       $ctrl = parsecontrol 'debian/control', 'debian/control';
     } else {
        $isuite = $specsuite;
        get_archive_dsc();
@@ -5398,7 +5403,8 @@ sub quiltify ($$$$) {
                print STDERR "$us:  ", $reportnot->($notp), "\n";
            }
            print STDERR "$us: $_\n" foreach @$failsuggestion;
-           fail "quilt fixup naive history linearisation failed.\n".
+           fail
+ "quilt history linearisation failed.  Search \`quilt fixup' in dgit(7).\n".
  "Use dpkg-source --commit by hand; or, --quilt=smash for one ugly patch";
        } elsif ($quilt_mode eq 'smash') {
        } elsif ($quilt_mode eq 'auto') {