diff options
Diffstat (limited to 'Build/cdbuild/place')
-rwxr-xr-x | Build/cdbuild/place | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Build/cdbuild/place b/Build/cdbuild/place index e8cd110ad08..00854662692 100755 --- a/Build/cdbuild/place +++ b/Build/cdbuild/place @@ -54,7 +54,7 @@ else { $newpackage=1; } -xchdir ("$mydir/$package"); +&xchdir ("$mydir/$package"); find (\&files,"."); foreach $file (sort keys %Old) { print "* $file: [retained=$New{$file}]\n"; @@ -169,7 +169,8 @@ sub files # add a file to the repository. for svn, we also have to add the -# containing dir, if it is new. +# containing dir, and the parent of that dir, if they are new. +# (Should really just traverse ) # sub add_file { @@ -177,6 +178,13 @@ sub add_file my $newdir = dirname ($newfile); + # when it's needed, parent must come first, else have svn "not working copy". + my $parentdir = dirname ($newdir); + unless (-d "$parentdir/.svn") { + &my_system ("svn add -N $parentdir"); + $dirs{$parentdir}++; + } + unless (-d "$newdir/.svn") { &my_system ("svn add -N $newdir"); } |