From ab34d3425ffc141e64a3beb90868619c5a21b407 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 17 Aug 2013 11:57:58 +0100 Subject: construct import commits differently (merge separate from contents) --- dgit | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'dgit') diff --git a/dgit b/dgit index 5fc9378..819ea55 100755 --- a/dgit +++ b/dgit @@ -336,6 +336,11 @@ sub is_orig_file ($) { m/\.orig(?:-\w+)?\.tar\.\w+$/; } +sub make_commit ($) { + my ($file) = @_; + return cmdoutput @git, qw(hash-object -w -t commit), $file; +} + sub generate_commit_from_dsc () { prep_ud(); chdir $ud or die $!; @@ -362,9 +367,8 @@ sub generate_commit_from_dsc () { my $authline = "$author $date"; $authline =~ m/^[^<>]+ \<\S+\> \d+ [-+]\d+$/ or die $authline; open C, ">../commit.tmp" or die $!; - print C "tree $tree\n" or die $!; - print C "parent $upload_hash\n" or die $! if $upload_hash; print C <{Changes} # imported from the archive END close C or die $!; - my $commithash = cmdoutput @git, qw(hash-object -w -t commit ../commit.tmp); + my $commithash = make_commit qw(../commit.tmp); + if ($upload_hash) { + open C, ">../commit2.tmp" or die $!; + print C <{Version}) in archive suite $suite +END + $commithash = make_commit qw(../commit2.tmp); + } print "synthesised git commit from .dsc $clogp->{Version}\n"; chdir '../../../..' or die $!; - cmdoutput @git, qw(update-ref -m),"dgit synthesise $clogp->{Version}", + cmdoutput @git, qw(update-ref -m),"dgit fetch import $clogp->{Version}", 'DGIT_ARCHIVE', $commithash; cmdoutput @git, qw(log -n2), $commithash; # ... gives git a chance to complain if our commit is malformed -- cgit v1.2.3