From: Sven Verdoolaege Date: Tue, 5 Jul 2005 11:19:59 +0000 (+0200) Subject: git-cvsimport-script: move working directory forward X-Git-Tag: v0.99~71^2^2^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=210569f9aecee4d41420b9d9c8780f5c6bbee3cc;p=git.git git-cvsimport-script: move working directory forward If HEAD happened to point to a cvs branch, move the working directory forward to the tip of the branch. Additionally, if master and "origin" are equal, move master forward to new origin first. --- diff --git a/git-cvsimport-script b/git-cvsimport-script index 3e6d22e74..cdf989161 100755 --- a/git-cvsimport-script +++ b/git-cvsimport-script @@ -372,6 +372,7 @@ chdir($git_tree); my $last_branch = ""; my $orig_branch = ""; +my $forward_master = 0; my %branch_date; my $git_dir = $ENV{"GIT_DIR"} || ".git"; @@ -403,6 +404,21 @@ unless(-d $git_dir) { $last_branch = "master"; } $orig_branch = $last_branch; + if (-f "$git_dir/CVS2GIT_HEAD") { + die <) { unlink($git_index); +if (defined $orig_git_index) { + $ENV{GIT_INDEX_FILE} = $orig_git_index; +} else { + delete $ENV{GIT_INDEX_FILE}; +} + # Now switch back to the branch we were in before all of this happened if($orig_branch) { print "DONE\n" if $opt_v; + system("cp","$git_dir/refs/heads/$opt_o","$git_dir/refs/heads/master") + if $forward_master; + system('git-read-tree', '-m', '-u', 'CVS2GIT_HEAD', 'HEAD'); + die "read-tree failed: $?\n" if $?; } else { $orig_branch = "master"; print "DONE; creating $orig_branch branch\n" if $opt_v; @@ -705,11 +731,7 @@ if($orig_branch) { unless -f "$git_dir/refs/heads/master"; unlink("$git_dir/HEAD"); symlink("refs/heads/$orig_branch","$git_dir/HEAD"); - if (defined $orig_git_index) { - $ENV{GIT_INDEX_FILE} = $orig_git_index; - } else { - delete $ENV{GIT_INDEX_FILE}; - } system('git checkout'); die "checkout failed: $?\n" if $?; } +unlink("$git_dir/CVS2GIT_HEAD");