Marc-Andre Lureau <marcandre.lureau@xxxxxxxxx> writes: > git-symbolic-ref HEAD returns master reference, even if the file does > not exists. That prevents the initial checkout and fails in > git-rev-parse. I had an impression that this check was deliberately done, but I do not recall the details. Martin? > diff --git a/git-cvsimport.perl b/git-cvsimport.perl > index 95c5eec..1512fe4 100755 > --- a/git-cvsimport.perl > +++ b/git-cvsimport.perl > @@ -570,12 +570,16 @@ unless (-d $git_dir) { > open(F, "git-symbolic-ref HEAD |") or > die "Cannot run git-symbolic-ref: $!\n"; > chomp ($last_branch = <F>); > - $last_branch = basename($last_branch); > - close(F); > - unless ($last_branch) { > + if (-f "$git_dir/$last_branch") { > + $last_branch = basename($last_branch); > + unless ($last_branch) { > warn "Cannot read the last branch name: $! -- assuming 'master'\n"; > $last_branch = "master"; > + } In any case, what if last_branch is a branch with hierarchical name, I have to wonder. If you are on a branch whose name has a slash in it, like "frotz/nitfol" when you start cvsimport, doesn't this (before or after the patch) code break your repository? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html