summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
Diffstat (limited to 'Debian')
-rw-r--r--Debian/Dgit.pm11
1 files changed, 10 insertions, 1 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 23db637..e9a85f7 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);