chiark / gitweb /
Support dgit --delayed= push
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 3e746d2cce9808bbc3ca1e74a48c4577e2ff7ee9..5f923aaaef02234c9d17cfe4425e38bfdcbf20fa 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -2869,6 +2869,11 @@ sub clone ($) {
     }
     setup_new_tree();
     runcmd @git, qw(reset --hard), lrref();
+    runcmd qw(bash -ec), <<'END';
+        set -o pipefail
+        git ls-tree -r --name-only -z HEAD | \
+        xargs -0r touch -r . --
+END
     printdone "ready for work in $dstdir";
 }
 
@@ -5598,6 +5603,9 @@ sub parseopts () {
            } elsif (m/^--overwrite=(.+)$/s) {
                push @ropts, $_;
                $overwrite_version = $1;
+           } elsif (m/^--delayed=(\d+)$/s) {
+               push @ropts, $_;
+               push @dput, $_;
            } elsif (m/^--dgit-view-save=(.+)$/s) {
                push @ropts, $_;
                $split_brain_save = $1;