From 2661b5cfff01cc72d2a440b5412fe38ad45345cc Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 18 Mar 2013 06:18:06 +0000 Subject: [PATCH] (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 --- config.lib | 6 ++++++ findversion.sh | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/config.lib b/config.lib index 3fbabe341c..47ccd0e5b9 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 35568de0ca..c0d500a8fd 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"