chiark / gitweb /
do not clean after all
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 17 Aug 2013 16:12:03 +0000 (17:12 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 17 Aug 2013 16:12:03 +0000 (17:12 +0100)
dgit
dgit.1

diff --git a/dgit b/dgit
index f724369..7f68b09 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -42,7 +42,6 @@ our (@git) = qw(git);
 our (@dget) = qw(dget);
 our (@dput) = qw(dput);
 our (@debsign) = qw(debsign);
-our (@cleancmd) = qw(debian/rules clean);
 our $keyid;
 
 our $debug = 0;
@@ -553,15 +552,7 @@ sub pull () {
 }
 
 sub check_not_dirty () {
-    my $output = cmdoutput @git, qw(status --porcelain);
-    if (length $output) {
-       my $m = "tree dirty:\n$output\n";
-       if (!$dryrun) {
-           die $m;
-       } else {
-           warn $m;
-       }
-    }
+    runcmd @git, qw(diff --quiet);
 }
 
 sub commit_quilty_patch () {
@@ -577,15 +568,15 @@ sub commit_quilty_patch () {
     }
     print DEBUG "checking for quilty\n", Dumper(\@files);
     if (@files == 2) {
+       my $m = "Commit Debian 3.0 (quilt) metadata";
+       print "$m\n";
        runcmd_ordryrun @git, qw(add), @files;
-       runcmd_ordryrun
-           @git, qw(commit -m), "Commit Debian 3.0 (quilt) metadata";
+       runcmd_ordryrun @git, qw(commit -m), $m;
     }
 }
 
 sub dopush () {
     print DEBUG "actually entering push\n";
-    runcmd @cleancmd;
     my $clogp = parsechangelog();
     $package = $clogp->{Source};
     my $dscfn = "${package}_$clogp->{Version}.dsc";
@@ -762,8 +753,6 @@ sub parseopts () {
                push @$om, $2;
            } elsif (m/^--existing-package=(.*)/s) {
                $existing_package = $1;
-           } elsif (m/^--clean-command=(.*)/s) {
-               @cleancmd = split /\s+/, $1;
            } else {
                die "$_ ?";
            }
diff --git a/dgit.1 b/dgit.1
index ad4be5f..37601e7 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -52,8 +52,7 @@ Tagging and signing should be left to dgit push.
 does an `upload', pushing the current HEAD to the archive (as a source
 package) and to dgit-repos (as git commits).  This also involves
 making a signed git tag, and signing the files to be uploaded to the
-archive.  dgit push does a
-.BR "debian/rules clean" .
+archive.
 .SH WORKFLOW - SIMPLE
 It is always possible with dgit to clone or fetch a package, make
 changes in git (using git-commit) on the suite branch
@@ -233,9 +232,6 @@ there is no way to ask the archive to do this without knowing the
 name of an existing package.  Without --new we can just use the
 package we are trying to push.  But with --new that will not work, so
 we guess that
-.TP
-.BI --clean-command= "cmd arg arg"
-dgit push needs to clean the tree to make sure the 
 .SH CONFIGURATION
 dgit looks at the following git config keys to control its behaviour.
 You may set them with git-config (either in system-global or per-tree