chiark / gitweb /
git-debrebase: drop d/patches from all laundered commits
[dgit.git] / git-debrebase
index 8a431110faad1fc0b47aee9ec9220aba48262612..dc55df8c821e93a37961d859b64ac68ba7881a7c 100755 (executable)
@@ -657,6 +657,7 @@ sub walk ($;$$) {
     my $read_tree_debian = sub {
        my ($treeish) = @_;
        read_tree_subdir 'debian', "$treeish:debian";
+        rm_subdir_cached 'debian/patches';
     };
     my $read_tree_upstream = sub {
        my ($treeish) = @_;
@@ -831,10 +832,13 @@ sub cmd_new_upstream_v0 () {
     # now we need to investigate the branch this generates the
     # laundered version but we don't switch to it yet
     my $old_head = get_head();
-    my ($old_laundered_tip,$old_bw) = walk $old_head;
+    my ($old_laundered_tip,$old_bw,$old_upstream_update) = walk $old_head;
 
     my $old_bw_cl = classify $old_bw;
-    my $old_upstream = parsecommit $old_bw_cl->{OrigParents}[0]{CommitId};
+    my $old_upstream_update_cl = classify $old_upstream_update;
+    confess unless $old_upstream_update_cl->{OrigParents};
+    my $old_upstream = parsecommit
+        $old_upstream_update_cl->{OrigParents}[0]{CommitId};
 
     my $problems = 0;
     my $problem = sub {