From: Elvis Pranskevichus Date: Sun, 3 Jun 2007 06:56:36 +0000 (-0400) Subject: Use git-tag in git-cvsimport X-Git-Tag: v1.5.3-rc0~111^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=5c08931dfc9fa0acbf8667581e4c98d643e66dbe;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 4e6c9c6cc..524c9bb48 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; }