Teach CTest.UpdateSVN to detect svn add --depth before using it

Older svn versions do not have the --depth option for "svn add".
Fortunately we do not need it for versions that old.  Look for the
option and use it only when available.
This commit is contained in:
Brad King 2011-10-24 17:33:29 -04:00
parent 74eb86c4a3
commit 6d79b50518
1 changed files with 11 additions and 1 deletions

View File

@ -23,6 +23,16 @@ file(MAKE_DIRECTORY ${TOP}/config)
set(SVNCMD ${SVN} --config-dir ${TOP}/config) set(SVNCMD ${SVN} --config-dir ${TOP}/config)
set(SVNUSER --username "test author" --non-interactive) set(SVNUSER --username "test author" --non-interactive)
# Configure for this svn version.
execute_process(
COMMAND ${SVN} help add OUTPUT_VARIABLE help_add ERROR_VARIABLE help_add
)
if("${help_add}" MATCHES "--depth")
set(depth_empty "--depth=empty")
else()
set(depth_empty "")
endif()
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Initialize the testing directory. # Initialize the testing directory.
message("Creating test directory...") message("Creating test directory...")
@ -63,7 +73,7 @@ update_content(user-source files_added files_removed dirs_added)
if(dirs_added) if(dirs_added)
run_child( run_child(
WORKING_DIRECTORY ${TOP}/user-source WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${SVNCMD} add --depth=empty ${dirs_added} COMMAND ${SVNCMD} add ${depth_empty} ${dirs_added}
) )
endif(dirs_added) endif(dirs_added)
run_child( run_child(