Hi! This helps us to use git-cvsimport on our ref-packed repositories. Maybe you want to use this or a similar solution to be integrated in stock git. Thank you. Stephan. commit 83f8922f1ad385ef3493684838e11a34edbf68a7 Author: Stephan Springl <springl-git@xxxxxxxxxxxxx> Date: Wed May 23 09:06:37 2007 +0200 Use git-for-each-ref to check whether the origin (or opt_o) branch exists. This works in repositories that have their refs packed by "git-pack-refs --all --prune" whereas testing the file $git_dir/refs/heads/$opt_o does not. diff --git a/git-cvsimport.perl b/git-cvsimport.perl index ac74bc5..f68afe7 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -559,11 +559,6 @@ unless (-d $git_dir) { $last_branch = $opt_o; $orig_branch = ""; } else { - -f "$git_dir/refs/heads/$opt_o" - or die "Branch '$opt_o' does not exist.\n". - "Either use the correct '-o branch' option,\n". - "or import to a new repository.\n"; - open(F, "git-symbolic-ref HEAD |") or die "Cannot run git-symbolic-ref: $!\n"; chomp ($last_branch = <F>); @@ -588,6 +583,11 @@ unless (-d $git_dir) { $branch_date{$head} = $1; } close(H); + if (!exists $branch_date{$opt_o}) { + die "Branch '$opt_o' does not exist.\n". + "Either use the correct '-o branch' option,\n". + "or import to a new repository.\n"; + } } -d $git_dir -- Stephan Springl BFW Werner Völk GmbH springl-git@xxxxxxxxxxxxx Energiemesstechnik & Service +49 89 82917-452 Drosselgasse 5 82166 Gräfelfing/München