diff options
author | Elvis Pranskevichus <el@prans.net> | 2007-06-03 10:56:36 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-07 03:14:28 +0400 |
commit | 5c08931dfc9fa0acbf8667581e4c98d643e66dbe (patch) | |
tree | 943c5b52a4bf1133e81363cdba47f5e8a7c9febb | |
parent | d44c782bbd6b0e806e056f9e8ff8cd8e426e67a3 (diff) |
Use git-tag in git-cvsimport
Currently git-cvsimport tries to create tag objects directly via git-mktag
in a very broken way, e.g the stuff it writes into the tagger field of
the tag object doesn't really resemble the GIT_COMMITTER_IDENT. This makes
gitweb and possibly other tools that try to interpret tag objects to be
confused about tag date and authorship.
Fix this by calling git-tag instead. This also has a nice side effect of
not creating the tag object but only the lightweight tag as that's the only
thing CVS has anyways.
Signed-off-by: Elvis Pranskevichus <el@prans.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-cvsimport.perl | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 4e6c9c6cc7..524c9bb487 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -771,31 +771,9 @@ sub commit { $xtag =~ s/\s+\*\*.*$//; # Remove stuff like ** INVALID ** and ** FUNKY ** $xtag =~ tr/_/\./ if ( $opt_u ); $xtag =~ s/[\/]/$opt_s/g; - - my $pid = open2($in, $out, 'git-mktag'); - print $out "object $cid\n". - "type commit\n". - "tag $xtag\n". - "tagger $author_name <$author_email>\n" - or die "Cannot create tag object $xtag: $!\n"; - close($out) - or die "Cannot create tag object $xtag: $!\n"; - - my $tagobj = <$in>; - chomp $tagobj; - - if ( !close($in) or waitpid($pid, 0) != $pid or - $? != 0 or $tagobj !~ /^[0123456789abcdef]{40}$/ ) { - die "Cannot create tag object $xtag: $!\n"; - } - - - open(C,">$git_dir/refs/tags/$xtag") + + system('git-tag', $xtag, $cid) == 0 or die "Cannot create tag $xtag: $!\n"; - print C "$tagobj\n" - or die "Cannot write tag $xtag: $!\n"; - close(C) - or die "Cannot write tag $xtag: $!\n"; print "Created tag '$xtag' on '$branch'\n" if $opt_v; } |