X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Debian%2FDgit.pm;fp=Debian%2FDgit.pm;h=e9a85f76b7e4145263d478e0b11f217f145d5992;hb=5bed21be705bbfc578b623b9543344e4d8efb4a9;hp=23db6378fe1a06bfb388c25293b4e9e3822d51f9;hpb=f612635f94e6c25585ee0064fda468099f22b88f;p=dgit.git diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 23db6378..e9a85f76 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -62,7 +62,7 @@ BEGIN { git_reflog_action_msg git_update_ref_cmd rm_subdir_cached read_tree_subdir read_tree_debian read_tree_upstream - hash_commit_text + make_commit hash_commit_text reflog_cache_insert reflog_cache_lookup $package_re $component_re $deliberately_re $distro_re $versiontag_re $series_filename_re @@ -831,6 +831,15 @@ sub parsechangelog_loop ($$$) { close CLOGS or $?==SIGPIPE or failedcmd @$clogcmd; } +sub make_commit ($$) { + my ($parents, $message_paras) = @_; + my $tree = cmdoutput qw(git write-tree); + my @cmd = (qw(git commit-tree), $tree); + push @cmd, qw(-p), $_ foreach @$parents; + push @cmd, qw(-m), $_ foreach @$message_paras; + return cmdoutput @cmd; +} + sub hash_commit_text ($) { my ($text) = @_; my ($out, $in);