From: Ian Jackson Date: Sat, 17 Aug 2013 10:57:58 +0000 (+0100) Subject: construct import commits differently (merge separate from contents) X-Git-Tag: debian/0.3~23 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=ab34d3425ffc141e64a3beb90868619c5a21b407 construct import commits differently (merge separate from contents) --- diff --git a/dgit b/dgit index 5fc93789..819ea558 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