Teach cvsexportcommit to add new files
authorYann Dirson <ydirson@altern.org>
Fri, 6 Jan 2006 20:54:41 +0000 (21:54 +0100)
committerJunio C Hamano <junkio@cox.net>
Fri, 6 Jan 2006 22:27:47 +0000 (14:27 -0800)
"cvs add" support was already there, but the "unknown" status
returned when querying a file not yet known to cvs caused the
script to abort prematurely.

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-cvsexportcommit.perl

index 5a8c011..d5fbee7 100755 (executable)
@@ -103,8 +103,16 @@ undef @files; # don't need it anymore
 
 # check that the files are clean and up to date according to cvs
 my $dirty;
-foreach my $f (@afiles, @mfiles, @dfiles) {
-    # TODO:we need to handle removed in cvs and/or new (from git) 
+foreach my $f (@afiles) {
+    my $status = `cvs -q status "$f" | grep '^File: '`;
+
+    unless ($status =~ m/Status: Unknown$/) {
+       $dirty = 1;
+       warn "File $f is already known in your CVS checkout!\n";
+    }
+}
+foreach my $f (@mfiles, @dfiles) {
+    # TODO:we need to handle removed in cvs
     my $status = `cvs -q status "$f" | grep '^File: '`;
 
     unless ($status =~ m/Status: Up-to-date$/) {