chiark / gitweb /
Split brain: Capture patches-unapplied tree object
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 299c531214cc5a50efd193bc29de9b7d7fea820f..97bd283170e833209d36f2e0bbd3546cf0bea17a 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -2932,7 +2932,8 @@ END
     $dscaddfile->($debtar);
     close $fakedsc or die $!;
 
-    runcmd qw(sh -ec), 'exec dpkg-source --no-check -x fake.dsc >/dev/null';
+    runcmd qw(sh -ec),
+        'exec dpkg-source --no-check --skip-patches -x fake.dsc >/dev/null';
 
     my $fakexdir= $package.'-'.(stripepoch $upstreamversion);
     rename $fakexdir, "fake" or die "$fakexdir $!";
@@ -2942,9 +2943,19 @@ END
     remove_stray_gits();
     mktree_in_ud_here();
 
-    changedir '..';
+    rmtree '.pc';
+
+    runcmd @git, qw(add -Af .);
+    my $origtree=git_write_tree();
 
-    my $origtree='';
+    printdebug "fake orig tree object $origtree\n";
+
+    ensuredir '.pc';
+
+    runcmd qw(sh -ec),
+        'exec dpkg-source --before-build . >/dev/null';
+
+    changedir '..';
 
     quilt_fixup_mkwork($headref);