Code

Merge branch 'js/rebase' into HEAD
[git.git] / git-cvsexportcommit.perl
index 7a955d4530611674c1d6650ce00dd4ff65cf15bc..f284c88a46b5cc7d6e75b78346829ce03e60b060 100755 (executable)
@@ -219,6 +219,17 @@ print "Applying\n";
 
 print "Patch applied successfully. Adding new files and directories to CVS\n";
 my $dirtypatch = 0;
+
+#
+# We have to add the directories in order otherwise we will have
+# problems when we try and add the sub-directory of a directory we
+# have not added yet.
+#
+# Luckily this is easy to deal with by sorting the directories and
+# dealing with the shortest ones first.
+#
+@dirs = sort { length $a <=> length $b} @dirs;
+
 foreach my $d (@dirs) {
     if (system(@cvs,'add',$d)) {
        $dirtypatch = 1;