diff options
Diffstat (limited to 'git-svnimport.perl')
-rwxr-xr-x | git-svnimport.perl | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/git-svnimport.perl b/git-svnimport.perl index 3af8c7e110..8c17fb5ae2 100755 --- a/git-svnimport.perl +++ b/git-svnimport.perl @@ -49,7 +49,7 @@ getopts("A:b:C:dDFhiI:l:mM:o:rs:t:T:SP:R:uv") or usage(); usage if $opt_h; my $tag_name = $opt_t || "tags"; -my $trunk_name = $opt_T || "trunk"; +my $trunk_name = defined $opt_T ? $opt_T : "trunk"; my $branch_name = $opt_b || "branches"; my $project_name = $opt_P || ""; $project_name = "/" . $project_name if ($project_name); @@ -542,7 +542,7 @@ sub copy_path($$$$$$$$) { if ($node_kind eq $SVN::Node::dir) { $srcpath =~ s#/*$#/#; } - + my $pid = open my $f,'-|'; die $! unless defined $pid; if (!$pid) { @@ -560,7 +560,7 @@ sub copy_path($$$$$$$$) { } else { $p = $path; } - push(@$new,[$mode,$sha1,$p]); + push(@$new,[$mode,$sha1,$p]); } close($f) or print STDERR "$newrev:$newbranch: could not list files in $oldpath \@ $rev\n"; @@ -867,34 +867,14 @@ sub commit { or die "Cannot write branch $dest for update: $!\n"; } - if($tag) { - my($in, $out) = ('',''); + if ($tag) { $last_rev = "-" if %$changed_paths; # the tag was 'complex', i.e. did not refer to a "real" revision $dest =~ tr/_/\./ if $opt_u; - $branch = $dest; - - my $pid = open2($in, $out, 'git-mktag'); - print $out ("object $cid\n". - "type commit\n". - "tag $dest\n". - "tagger $committer_name <$committer_email> 0 +0000\n") and - close($out) - or die "Cannot create tag object $dest: $!\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 $dest: $!\n"; - } - open(C,">$git_dir/refs/tags/$dest") and - print C ("$tagobj\n") and - close(C) - or die "Cannot create tag $branch: $!\n"; + system('git-tag', $dest, $cid) == 0 + or die "Cannot create tag $dest: $!\n"; print "Created tag '$dest' on '$branch'\n" if $opt_v; } |