From 06d4233815988df7f7583ef16444ed84dc5d8a58 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 29 Jun 2019 00:11:49 +0100 Subject: Dgit.pm: Move read-tree wrappers from git-debrebase No functional change other than to no longer honour @git. Signed-off-by: Ian Jackson --- Debian/Dgit.pm | 31 +++++++++++++++++++++++++++++++ git-debrebase | 29 ----------------------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 912a524..f1ea1e8 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -60,6 +60,8 @@ BEGIN { git_for_each_tag_referring is_fast_fwd git_check_unmodified git_reflog_action_msg git_update_ref_cmd + rm_subdir_cached read_tree_subdir + read_tree_debian read_tree_upstream make_commit_text reflog_cache_insert reflog_cache_lookup $package_re $component_re $deliberately_re @@ -678,6 +680,35 @@ sub git_update_ref_cmd { return qw(git update-ref -m), $msg, @_; } +sub rm_subdir_cached ($) { + my ($subdir) = @_; + runcmd qw(git rm --quiet -rf --cached --ignore-unmatch), $subdir; +} + +sub read_tree_subdir ($$) { + my ($subdir, $new_tree_object) = @_; + rm_subdir_cached $subdir; + runcmd qw(git read-tree), "--prefix=$subdir/", $new_tree_object; +} + +sub read_tree_debian ($) { + my ($treeish) = @_; + read_tree_subdir 'debian', "$treeish:debian"; + rm_subdir_cached 'debian/patches'; +} + +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 qw(git write-tree --prefix=debian/); + runcmd qw(git read-tree), $treeish; + read_tree_subdir 'debian', $debian; + rm_subdir_cached 'debian/patches' unless $keep_patches; +} + sub changedir ($) { my ($newdir) = @_; printdebug "CD $newdir\n"; diff --git a/git-debrebase b/git-debrebase index 39b700a..0be1af7 100755 --- a/git-debrebase +++ b/git-debrebase @@ -355,35 +355,6 @@ sub calculate_committer_authline () { return $&; } -sub rm_subdir_cached ($) { - my ($subdir) = @_; - runcmd @git, qw(rm --quiet -rf --cached --ignore-unmatch), $subdir; -} - -sub read_tree_subdir ($$) { - my ($subdir, $new_tree_object) = @_; - rm_subdir_cached $subdir; - runcmd @git, qw(read-tree), "--prefix=$subdir/", $new_tree_object; -} - -sub read_tree_debian ($) { - my ($treeish) = @_; - read_tree_subdir 'debian', "$treeish:debian"; - rm_subdir_cached 'debian/patches'; -} - -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', $debian; - rm_subdir_cached 'debian/patches' unless $keep_patches; -}; - sub make_commit ($$) { my ($parents, $message_paras) = @_; my $tree = cmdoutput @git, qw(write-tree); -- cgit v1.2.3