# Script helping make fast-forwarding histories while still rebasing
# upstream deltas when working on Debian packaging
#
-# Copyright (C)2017,2018 Ian Jackson
+# Copyright (C)2017-2019 Ian Jackson
+# Copyright (C)2019 Niko Tyni
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
our $rd;
our $workarea;
-our @git = qw(git);
our @dgit = qw(dgit);
sub in_workarea ($) {
return $&;
}
-sub make_commit ($$) {
- my ($parents, $message_paras) = @_;
- my $tree = cmdoutput @git, qw(write-tree);
- my @cmd = (@git, qw(commit-tree), $tree);
- push @cmd, qw(-p), $_ foreach @$parents;
- push @cmd, qw(-m), $_ foreach @$message_paras;
- return cmdoutput @cmd;
-}
-
our @snag_force_opts;
sub snag ($$;@) {
my ($tag,$msg) = @_; # ignores extra args, for benefit of keycommits
open C, ">", "../mcommit" or confess "$!";
print C $commit or confess "$!";
close C or confess "$!";
- $build = cmdoutput @git, qw(hash-object -w -t commit ../mcommit);
+ $build = hash_commit '../mcommit';
}
$result = $build;
mwrecknote($wrecknotes, 'merged-result', $result);
my $spec = shift @ARGV;
my $commit = git_rev_parse "$spec^{commit}";
push @upstreams, { Commit => $commit,
- Source => (f_ "%s, from command line", $ARGV[0]),
+ Source => (f_ "%s, from command line", $spec),
Only => 1,
};
}