summaryrefslogtreecommitdiff
path: root/git-debrebase
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-12 19:04:20 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-12 19:04:20 +0100
commit49d414e316753377623e913e4576384986c108b8 (patch)
treed8182171ce5b535b0cd8eea8260a00d07ed6001c /git-debrebase
parentabd3af0ed03160a5dc627baafe633f303e65fb4c (diff)
git-debrebase: walk: Introduce $read_tree_debian
We are going to make these do something more efficient, sometimes. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'git-debrebase')
-rwxr-xr-xgit-debrebase11
1 files changed, 8 insertions, 3 deletions
diff --git a/git-debrebase b/git-debrebase
index 24aefbe..1e205c6 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -1441,6 +1441,11 @@ sub walk ($;$$$) {
read_tree_upstream $treeish, 0, $build;
};
+ my $read_tree_debian = sub {
+ my ($treeish) = @_;
+ read_tree_debian($treeish);
+ };
+
foreach my $cl (qw(Debian), (reverse @brw_cl),
{ SpecialMethod => 'RecordBreakwaterTip' },
qw(Upstream), (reverse @upp_cl)) {
@@ -1454,7 +1459,7 @@ sub walk ($;$$$) {
printdebug "WALK BUILD ".($cltree//'undef').
" $method (rewriting=$rewriting)\n";
if ($method eq 'Debian') {
- read_tree_debian($cltree);
+ $read_tree_debian->($cltree);
} elsif ($method eq 'Upstream') {
$read_tree_upstream->($cltree);
} elsif ($method eq 'StartRewrite') {
@@ -1464,7 +1469,7 @@ sub walk ($;$$$) {
$breakwater = $build;
next;
} elsif ($method eq 'DgitImportDebianUpdate') {
- read_tree_debian($cltree);
+ $read_tree_debian->($cltree);
} elsif ($method eq 'DgitImportUpstreamUpdate') {
confess unless $rewriting;
my $differs = (get_differs $build, $cltree);
@@ -1475,7 +1480,7 @@ sub walk ($;$$$) {
print "Found a general merge, will try to tidy it up.\n";
$rewriting = 1;
$read_tree_upstream->($cl->{MergeBestAnchor});
- read_tree_debian($cltree);
+ $read_tree_debian->($cltree);
@parents = map { $_->{Breakwater} } @{ $cl->{Parents} };
} elsif ($method eq 'MergeMergeSeries') {
my $cachehit = reflog_cache_lookup