Introduce usagef() that takes a printf-style format
[gitweb.git] / git-cvsimport.perl
index d7411151ddbe3594431dafac46608a8f487a0263..a7d215c8aa479bc6b456ec5c3792e931598ac365 100755 (executable)
@@ -253,6 +253,7 @@ sub conn {
                                        }
                                }
                        };
+                       $pass = "A" unless $pass;
                }
 
                my ($s, $rep);
@@ -578,10 +579,21 @@ ($)
        return $r;
 }
 
+my $user_filename_prepend = '';
+sub munge_user_filename {
+       my $name = shift;
+       return File::Spec->file_name_is_absolute($name) ?
+               $name :
+               $user_filename_prepend . $name;
+}
+
 -d $git_tree
        or mkdir($git_tree,0777)
        or die "Could not create $git_tree: $!";
-chdir($git_tree);
+if ($git_tree ne '.') {
+       $user_filename_prepend = getwd() . '/';
+       chdir($git_tree);
+}
 
 my $last_branch = "";
 my $orig_branch = "";
@@ -643,7 +655,7 @@ ($)
 -f "$git_dir/cvs-authors" and
   read_author_info("$git_dir/cvs-authors");
 if ($opt_A) {
-       read_author_info($opt_A);
+       read_author_info(munge_user_filename($opt_A));
        write_author_info("$git_dir/cvs-authors");
 }
 
@@ -678,7 +690,7 @@ ($)
        $? == 0 or die "git-cvsimport: fatal: cvsps reported error\n";
        close $cvspsfh;
 } else {
-       $cvspsfile = $opt_P;
+       $cvspsfile = munge_user_filename($opt_P);
 }
 
 open(CVS, "<$cvspsfile") or die $!;