The code which tried to update the master branch was somewhat broken. => People should do that manually, with "git merge". Signed-off-by: Matthias Urlichs <smurf@xxxxxxxxxxxxxx> --- Junio C Hamano: > I do not understand what cvsimport is trying to do here; I > _suspect_ the part that updates the "master" branch head might > be a bug. > This should fix it. --- Documentation/git-cvsimport.txt | 6 ++++++ git-cvsimport.perl | 27 ++------------------------- 2 files changed, 8 insertions(+), 25 deletions(-) 4c28ef8000d68a0736084022a047019dca96c823 diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt index dfe86ce..57027b4 100644 --- a/Documentation/git-cvsimport.txt +++ b/Documentation/git-cvsimport.txt @@ -22,6 +22,12 @@ repository, or incrementally import into Splitting the CVS log into patch sets is done by 'cvsps'. At least version 2.1 is required. +You should *never* do any work of your own on the branches that are +created by git-cvsimport. The initial import will create and populate a +"master" branch from the CVS repository's main branch which you're free +to work with; after that, you need to 'git merge' incremental imports, or +any CVS branches, yourself. + OPTIONS ------- -d <CVSROOT>:: diff --git a/git-cvsimport.perl b/git-cvsimport.perl index b46469a..02d1928 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -452,7 +452,6 @@ chdir($git_tree); my $last_branch = ""; my $orig_branch = ""; -my $forward_master = 0; my %branch_date; my $git_dir = $ENV{"GIT_DIR"} || ".git"; @@ -488,21 +487,6 @@ unless(-d $git_dir) { $last_branch = "master"; } $orig_branch = $last_branch; - if (-f "$git_dir/CVS2GIT_HEAD") { - die <<EOM; -CVS2GIT_HEAD exists. -Make sure your working directory corresponds to HEAD and remove CVS2GIT_HEAD. -You may need to run - - git read-tree -m -u CVS2GIT_HEAD HEAD -EOM - } - system('cp', "$git_dir/HEAD", "$git_dir/CVS2GIT_HEAD"); - - $forward_master = - $opt_o ne 'master' && -f "$git_dir/refs/heads/master" && - system('cmp', '-s', "$git_dir/refs/heads/master", - "$git_dir/refs/heads/$opt_o") == 0; # populate index system('git-read-tree', $last_branch); @@ -889,17 +873,11 @@ if (defined $orig_git_index) { # 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; - unless ($opt_i) { - system('git-read-tree', '-m', '-u', 'CVS2GIT_HEAD', 'HEAD'); - die "read-tree failed: $?\n" if $?; - } + print "DONE; you may need to merge manually.\n" if $opt_v; } else { $orig_branch = "master"; print "DONE; creating $orig_branch branch\n" if $opt_v; - system("cp","$git_dir/refs/heads/$opt_o","$git_dir/refs/heads/master") + system("git-update-ref", "refs/heads/master", "refs/heads/$opt_o") unless -f "$git_dir/refs/heads/master"; system('git-update-ref', 'HEAD', "$orig_branch"); unless ($opt_i) { @@ -907,4 +885,3 @@ if($orig_branch) { die "checkout failed: $?\n" if $?; } } -unlink("$git_dir/CVS2GIT_HEAD"); -- 1.2.GIT -- Matthias Urlichs | {M:U} IT Design @ m-u-it.de | smurf@xxxxxxxxxxxxxx Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de - - You will be run over by a bus.
Attachment:
signature.asc
Description: Digital signature