Save debian/ explicitly. This is a bit annoying.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
rm_subdir_cached 'debian/patches';
}
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);
sub make_commit ($$) {
my ($parents, $message_paras) = @_;
my $tree = cmdoutput @git, qw(write-tree);
- 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();
$#upp_cl = $upp_limit if defined $upp_limit;
my $committer_authline = calculate_committer_authline();
if ($method eq 'Debian') {
read_tree_debian($cltree);
} elsif ($method eq 'Upstream') {
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;
} elsif ($method eq 'StartRewrite') {
$rewriting = 1;
next;
confess unless $rewriting;
my $differs = (get_differs $build, $cltree);
next unless $differs & D_UPS;
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 ?";
push @parents, map { $_->{CommitId} } @{ $cl->{OrigParents} };
} else {
confess "$method ?";