[PATCH] git-cvsimport: fix initial checkout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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. The patch checks the existence of the reference file
before assuming an original branch exists. There might be better
solutions than checking file existence.
---
 git-cvsimport.perl |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

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";
+	    }
+	} else {
+	    $last_branch = "";
 	}
+	close(F);
 	$orig_branch = $last_branch;
 	$tip_at_start = `git-rev-parse --verify HEAD`;
 
@@ -953,6 +957,7 @@ while (<CVS>) {
 		print "* UNKNOWN LINE * $_\n";
 	}
 }
+
 commit() if $branch and $state != 11;
 
 unless ($opt_P) {
-- 
1.5.4.4.534.gfb90c.dirty

--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux