summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-debrebase13
1 files changed, 9 insertions, 4 deletions
diff --git a/git-debrebase b/git-debrebase
index 60ea976..c8ee5e5 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -1276,6 +1276,11 @@ sub walk ($;$$$) {
my $rewriting = 0;
+ my $read_tree_upstream = sub {
+ my ($treeish) = @_;
+ read_tree_upstream $treeish, 0, $build;
+ };
+
$#upp_cl = $upp_limit if defined $upp_limit;
my $committer_authline = calculate_committer_authline();
@@ -1303,7 +1308,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;
@@ -1316,13 +1321,13 @@ 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} };
} elsif ($method eq 'MergeCreateMergedBreakwaters') {
print "Found a general merge, will try to tidy it up.\n";
$rewriting = 1;
- read_tree_upstream($cl->{MergeBestAnchor});
- read_tree_upstream($cl->{MergeBestAnchor});
+ $read_tree_upstream->($cl->{MergeBestAnchor});
+ $read_tree_upstream->($cl->{MergeBestAnchor});
read_tree_debian($cltree);
@parents = map { $_->{Breakwater} } @{ $cl->{Parents} };
} elsif ($method eq 'MergeMergeSeries') {