chiark / gitweb /
git-debrebase: Improve ffq head recording message
[dgit.git] / git-debrebase
index 1a79a280efd7a258af01864402215a64ae95035a..ad20e4b6dce45a4d0439d32e850de703cee412db 100755 (executable)
@@ -261,6 +261,14 @@ sub read_tree_debian ($) {
     rm_subdir_cached 'debian/patches';
 }
 
+sub read_tree_upstream ($) {
+    my ($treeish) = @_;
+    my $save = cmdoutput @git, qw(write-tree --prefix=debian/);
+    runcmd @git, qw(read-tree), $treeish;
+    read_tree_subdir 'debian', $save;
+    rm_subdir_cached 'debian/patches';
+};
+
 sub make_commit ($$) {
     my ($parents, $message_paras) = @_;
     my $tree = cmdoutput @git, qw(write-tree);
@@ -873,12 +881,6 @@ sub walk ($;$$$) {
 
     my $rewriting = 0;
 
-    my $read_tree_upstream = sub {
-       my ($treeish) = @_;
-       runcmd @git, qw(read-tree), $treeish;
-       read_tree_debian($build);
-    };
-
     $#upp_cl = $upp_limit if defined $upp_limit;
  
     my $committer_authline = calculate_committer_authline();
@@ -906,7 +908,7 @@ sub walk ($;$$$) {
            if ($method eq 'Debian') {
                read_tree_debian($cltree);
            } elsif ($method eq 'Upstream') {
-               $read_tree_upstream->($cltree);
+               read_tree_upstream($cltree);
            } elsif ($method eq 'StartRewrite') {
                $rewriting = 1;
                next;
@@ -919,7 +921,7 @@ sub walk ($;$$$) {
                confess unless $rewriting;
                my $differs = (get_differs $build, $cltree);
                next unless $differs & D_UPS;
-               $read_tree_upstream->($cltree);
+               read_tree_upstream($cltree);
                push @parents, map { $_->{CommitId} } @{ $cl->{OrigParents} };
            } else {
                confess "$method ?";
@@ -1154,7 +1156,7 @@ sub record_ffq_prev_deferred () {
 
     push @deferred_updates, "update $ffq_prev $currentval $git_null_obj";
     push @deferred_updates, "delete $gdrlast";
-    push @deferred_update_messages, "Recorded current head for preservation";
+    push @deferred_update_messages, "Recorded previous head for preservation";
     return ('deferred', undef);
 }