diff options
author | Norbert Preining <preining@logic.at> | 2012-10-13 12:32:59 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2012-10-13 12:32:59 +0000 |
commit | 14119d0fc4fe1b78c9ea07b9eabb368d6726022b (patch) | |
tree | c18b91fbd24b7f521164e7790f913f8760008823 /Master/tlpkg | |
parent | bb6d7316ac726eb8c1ce7c49eb1ea39a72c29790 (diff) |
make place check with svn info whether a directory is managed by svn
instead of checking for .svn dir, which does not exist from svn 1.6 on.
git-svn-id: svn://tug.org/texlive/trunk@27958 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg')
-rwxr-xr-x | Master/tlpkg/libexec/place | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Master/tlpkg/libexec/place b/Master/tlpkg/libexec/place index 4f8c3c2ae08..ea0dd1b807e 100755 --- a/Master/tlpkg/libexec/place +++ b/Master/tlpkg/libexec/place @@ -261,7 +261,8 @@ sub add_file { # "not working copy" error. my $newdir = $dir = dirname ($newfile); my $needed_dirs = ""; - until (-d "$dir/.svn") { + #until (-d "$dir/.svn") { + until (&is_svn_dir($dir)) { $needed_dirs = "$dir $needed_dirs"; # parents first $dirs{$dir}++; $dir = dirname ($dir); @@ -444,6 +445,14 @@ sub xchdir { } +sub is_svn_dir { + my ($dir) = @_; + + my $ret = system ("svn info $dir 2>/dev/null >/dev/null"); + $ret /= 256; + return !$ret; +} + sub xsystem { my ($cmd) = @_; |