summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2013-03-18 06:18:06 +0000
committerrubidium <rubidium@openttd.org>2013-03-18 06:18:06 +0000
commit2661b5cfff01cc72d2a440b5412fe38ad45345cc (patch)
tree4c9afe2df6769307817119252ef762d2b2358aab
parentc6187b5d9733807884777678f88a661534e1efbc (diff)
downloadopenttd-2661b5cfff01cc72d2a440b5412fe38ad45345cc.tar.xz
(svn r25107) -Change: be slightly more lenient with trying to detect a subversion repository in case someone has a sparse tags checkout. In that case the .svn folder misses from the $ROOT_DIR because it is in the $ROOT_DIR/.. (i.e. tags) folder
-rw-r--r--config.lib6
-rwxr-xr-xfindversion.sh2
2 files changed, 7 insertions, 1 deletions
diff --git a/config.lib b/config.lib
index 3fbabe341..47ccd0e5b 100644
--- a/config.lib
+++ b/config.lib
@@ -1012,6 +1012,12 @@ check_params() {
if [ -d "$ROOT_DIR/.svn" ] && [ -n "`svn help 2>/dev/null`" ]; then
log 1 "checking revision... svn detection"
+ elif [ -d "$ROOT_DIR/../.svn" ] && [ -n "`svn help 2>/dev/null`" ] && [ -n "`LC_ALL=C svn info $ROOT_DIR/.. | grep '^URL:.*tags$'`" ]; then
+ # subversion changed its behaviour; now not all folders have a .svn folder,
+ # but only the root folder. Since making tags requires a (sparse) checkout
+ # of the tags folder, the folder of the tag does not have a .svn folder
+ # anymore and this fails to detect the subversion repository checkout.
+ log 1 "checking revision... svn detection (tag)"
elif [ -d "$ROOT_DIR/.git" ] && [ -n "`git help 2>/dev/null`" ]; then
log 1 "checking revision... git detection"
elif [ -d "$ROOT_DIR/.hg" ] && [ -n "`hg help 2>/dev/null`" ]; then
diff --git a/findversion.sh b/findversion.sh
index 35568de0c..c0d500a8f 100755
--- a/findversion.sh
+++ b/findversion.sh
@@ -70,7 +70,7 @@ ROOT_DIR=`pwd`
# Determine if we are using a modified version
# Assume the dir is not modified
MODIFIED="0"
-if [ -d "$ROOT_DIR/.svn" ]; then
+if [ -d "$ROOT_DIR/.svn" ] || [ -d "$ROOT_DIR/../.svn" ]; then
# We are an svn checkout
if [ -n "`svnversion | grep 'M'`" ]; then
MODIFIED="2"