summaryrefslogtreecommitdiff
path: root/git-debrebase
diff options
context:
space:
mode:
Diffstat (limited to 'git-debrebase')
-rwxr-xr-xgit-debrebase12
1 files changed, 8 insertions, 4 deletions
diff --git a/git-debrebase b/git-debrebase
index ef619be..4f9a9bb 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -263,11 +263,15 @@ sub read_tree_debian ($) {
rm_subdir_cached 'debian/patches';
}
-sub read_tree_upstream ($;$) {
- my ($treeish, $keep_patches) = @_;
- my $save = cmdoutput @git, qw(write-tree --prefix=debian/);
+sub read_tree_upstream ($;$$) {
+ my ($treeish, $keep_patches, $tree_with_debian) = @_;
+ # if $tree_with_debian is supplied, will use that for debian/
+ # otherwise will save and restore it.
+ my $debian =
+ $tree_with_debian ? "$tree_with_debian:debian"
+ : cmdoutput @git, qw(write-tree --prefix=debian/);
runcmd @git, qw(read-tree), $treeish;
- read_tree_subdir 'debian', $save;
+ read_tree_subdir 'debian', $debian;
rm_subdir_cached 'debian/patches' unless $keep_patches;
};