diff options
-rw-r--r-- | debian/changelog | 1 | ||||
-rwxr-xr-x | git-debrebase | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog index f678131..58b934e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ dgit (6.7~) unstable; urgency=medium * git-debrebase: scrap works properly when it does only rebase --abort. * dgit(1): Encourage --overwrite rather than --overwrite=version. * test suite: unset GIT_EDITOR, so it works if user has that set. + * git-debrebase: Improve laundry performance. Closes:#905995. -- diff --git a/git-debrebase b/git-debrebase index d04f2a3..c240d88 100755 --- a/git-debrebase +++ b/git-debrebase @@ -53,7 +53,7 @@ END our ($opt_force, $opt_careful, $opt_noop_ok, @opt_anchors); our ($opt_defaultcmd_interactive); -$opt_careful = 1; +$opt_careful = 0; our $us = qw(git-debrebase); @@ -1612,6 +1612,18 @@ sub walk ($;$$$) { $build = $newcommit; } else { $build = $cl->{CommitId}; + trees_diff_walk "$want_upstream:", "$build:", sub { + my ($n) = @_; + no warnings qw(exiting); + next if $n eq 'debian/'; + confess "mismatch @_ ?"; + }; + trees_diff_walk "$want_debian:debian", "$build:debian", sub { + confess "mismatch @_ ?"; + }; + my @old_parents = map { $_->{CommitId} } @{ $cl->{Parents} }; + confess "mismatch @parents != @old_parents ?" + unless "@parents" eq "@old_parents"; } if (grep { $method eq $_ } qw(DgitImportUpstreamUpdate)) { $last_anchor = $cur; |