fix imap-send for OSX
[gitweb.git] / git-cvsimport.perl
index 24f983434249e0c37b7f2229e73c70b374403dc4..02d1928ada5001d938a549bd9a33acd4b9c0f074 100755 (executable)
@@ -452,7 +452,6 @@ ($$)
 
 my $last_branch = "";
 my $orig_branch = "";
-my $forward_master = 0;
 my %branch_date;
 
 my $git_dir = $ENV{"GIT_DIR"} || ".git";
@@ -488,21 +487,6 @@ ($$)
                $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);
@@ -846,8 +830,12 @@ ($$)
                        print "Drop $fn\n" if $opt_v;
                } else {
                        print "".($init ? "New" : "Update")." $fn: $size bytes\n" if $opt_v;
-                       open my $F, '-|', "git-hash-object -w $tmpname"
+                       my $pid = open(my $F, '-|');
+                       die $! unless defined $pid;
+                       if (!$pid) {
+                           exec("git-hash-object", "-w", $tmpname)
                                or die "Cannot create object: $!\n";
+                       }
                        my $sha = <$F>;
                        chomp $sha;
                        close $F;
@@ -885,17 +873,11 @@ ($$)
 
 # 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) {
@@ -903,4 +885,3 @@ ($$)
                die "checkout failed: $?\n" if $?;
        }
 }
-unlink("$git_dir/CVS2GIT_HEAD");