summaryrefslogtreecommitdiff
path: root/Master/tlpkg/libexec/place
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2012-10-13 12:32:59 +0000
committerNorbert Preining <preining@logic.at>2012-10-13 12:32:59 +0000
commit14119d0fc4fe1b78c9ea07b9eabb368d6726022b (patch)
treec18b91fbd24b7f521164e7790f913f8760008823 /Master/tlpkg/libexec/place
parentbb6d7316ac726eb8c1ce7c49eb1ea39a72c29790 (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/libexec/place')
-rwxr-xr-xMaster/tlpkg/libexec/place11
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) = @_;