diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-19 17:46:42 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-19 17:46:42 +0100 |
commit | d806e898308acbaca5685a4dec6688c0164ea642 (patch) | |
tree | e49fb8aa9d99c7fb7ae1810b9387f0d72ab73245 /git-debrebase | |
parent | 86767e446f17de0fc5f79365e25332f05ab18a02 (diff) |
git-debrebase: New get_tree machinery: Fix debugging
When we localise, we get a new variable, rather than localising the
binding imported from Debian::Dgit. How annoying.
Also, add two new debug prints at level 3.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'git-debrebase')
-rwxr-xr-x | git-debrebase | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/git-debrebase b/git-debrebase index e5639a2..8fa5adb 100755 --- a/git-debrebase +++ b/git-debrebase @@ -193,7 +193,7 @@ sub get_tree ($) { my $memo = $get_tree_memo{$x}; return @$memo if $memo; - local $debugcmd_when_debuglevel = 3; + local $Debian::Dgit::debugcmd_when_debuglevel = 3; my @l; my @cmd = (qw(git ls-tree -z --full-tree --), $x); my $o = cmdoutput @cmd; @@ -223,11 +223,15 @@ sub trees_diff_walk ($$$;$) { return if !$all and $x eq $y; my @x = get_tree $x; my @y = get_tree $y; + printdebug "trees_diff_walk(..$x,$y..) ".Dumper(\@x,\@y) + if $debuglevel >= 3; while (@x || @y) { my $cmp = !@x <=> !@y # eg @y empty? $cmp=-1, use x || $x[0][0] cmp $y[0][0]; # eg, x lt y ? $cmp=-1, use x my ($n, $ix, $iy); # all same? $cmp=0, use both $ix=$iy=''; + printdebug "trees_diff_walk $cmp : @{ $x[0]//[] } | @{ $y[0]//[] }\n" + if $debuglevel >= 3; ($n, $ix) = @{ shift @x } if $cmp <= 0; ($n, $iy) = @{ shift @y } if $cmp >= 0; next if !$all and $ix eq $iy; |