diff options
author | Junio C Hamano <junkio@cox.net> | 2006-03-23 23:49:07 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-03-23 23:49:07 -0800 |
commit | 79f558a5fc1c471e5db926a1272fe930f24784bb (patch) | |
tree | 6dd43a8262e61bf2cea75529454f5bc86e57686d | |
parent | bdaa085f8c33e75cf477ff6b4292f35c9c5f4c22 (diff) | |
parent | cb9594e28c940d2bbf4d7fb69c337d27155da37a (diff) | |
download | git-79f558a5fc1c471e5db926a1272fe930f24784bb.tar.gz git-79f558a5fc1c471e5db926a1272fe930f24784bb.tar.xz |
Merge branch 'jc/cvsimport'
* jc/cvsimport:
cvsimport: fix reading from rev-parse
cvsimport: honor -i and non -i upon subsequent imports
-rwxr-xr-x | git-cvsimport.perl | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 02d1928ad..3728294e7 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -453,6 +453,7 @@ chdir($git_tree); my $last_branch = ""; my $orig_branch = ""; my %branch_date; +my $tip_at_start = undef; my $git_dir = $ENV{"GIT_DIR"} || ".git"; $git_dir = getwd()."/".$git_dir unless $git_dir =~ m#^/#; @@ -487,6 +488,7 @@ unless(-d $git_dir) { $last_branch = "master"; } $orig_branch = $last_branch; + $tip_at_start = `git-rev-parse --verify HEAD`; # populate index system('git-read-tree', $last_branch); @@ -873,7 +875,22 @@ if (defined $orig_git_index) { # Now switch back to the branch we were in before all of this happened if($orig_branch) { - print "DONE; you may need to merge manually.\n" if $opt_v; + print "DONE.\n" if $opt_v; + if ($opt_i) { + exit 0; + } + my $tip_at_end = `git-rev-parse --verify HEAD`; + if ($tip_at_start ne $tip_at_end) { + for ($tip_at_start, $tip_at_end) { chomp; } + print "Fetched into the current branch.\n" if $opt_v; + system(qw(git-read-tree -u -m), + $tip_at_start, $tip_at_end); + die "Fast-forward update failed: $?\n" if $?; + } + else { + system(qw(git-merge cvsimport HEAD), "refs/heads/$opt_o"); + die "Could not merge $opt_o into the current branch.\n" if $?; + } } else { $orig_branch = "master"; print "DONE; creating $orig_branch branch\n" if $opt_v; |