X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=git-debrebase;h=4f9a9bb98e21bbe6a5e46ddbc3adc262173d7fce;hp=ef619be4d1141f3cc7aa3d9884538ad9cf34841e;hb=cfbec7a706fd1f631ebbed0c545980590eb26656;hpb=185e64f8d95dd925adaa840595dd62af7ea88244 diff --git a/git-debrebase b/git-debrebase index ef619be4..4f9a9bb9 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; };