jsvnsync.bat revision 67a6da25aaf9aeba45544060fc74ff0e59d5ef63
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder@echo off
e9458b1a7a19a63aa4c179f9ab20f4d50681c168Jens Elkner
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maederset ERROR_CODE=0
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu:init
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder@REM Decide how to startup depending on the version of windows
1d581e55c7ec020a445684310394c3a5fc056e96Christian Maeder
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder@REM -- Win98ME
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maederif NOT "%OS%"=="Windows_NT" goto Win9xArg
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maeder@REM set local scope for the variables with windows NT shell
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibenif "%OS%"=="Windows_NT" @setlocal
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Iben
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maeder@REM -- 4NT shell
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibenif "%eval[2+2]" == "4" goto 4NTArgs
f4f87c3db7dcb604833cb7813475dcb1313013b3Christian Maeder
f4f87c3db7dcb604833cb7813475dcb1313013b3Christian Maeder@REM -- Regular WinNT shell
773a3d8e40d41417d7c7c92c65c9ff1e49f66ce2Christian Maederset CMD_LINE_ARGS=%*
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maedergoto WinNTGetScriptDir
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Iben
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Iben@REM The 4NT Shell from jp software
367103718689f8d3aa1a8648eba9e50af51c3a94Florian Mossakowski:4NTArgs
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowskiset CMD_LINE_ARGS=%$
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maedergoto WinNTGetScriptDir
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder
86d9bb76813208a0855c899a21e5ffca3ad1aa38Christian Maeder:Win9xArg
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder@REM Slurp the command line arguments. This loop allows for an unlimited number
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maeder@REM of arguments (up to the command line limit, anyway).
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowskiset CMD_LINE_ARGS=
f4f87c3db7dcb604833cb7813475dcb1313013b3Christian Maeder:Win9xApp
f4f87c3db7dcb604833cb7813475dcb1313013b3Christian Maederif %1a==a goto Win9xGetScriptDir
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maederset CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
367103718689f8d3aa1a8648eba9e50af51c3a94Florian Mossakowskishift
f4f87c3db7dcb604833cb7813475dcb1313013b3Christian Maedergoto Win9xApp
367103718689f8d3aa1a8648eba9e50af51c3a94Florian Mossakowski
367103718689f8d3aa1a8648eba9e50af51c3a94Florian Mossakowski:Win9xGetScriptDir
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maederset SAVEDIR=%CD%
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder%0\
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maedercd %0\..\..
5c09a5b695699a46a95795259a7bcbba60aea3bdHendrik Ibenset BASEDIR=%CD%
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maedercd %SAVEDIR%
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maederset SAVE_DIR=
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibengoto repoSetup
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowski
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowski:WinNTGetScriptDir
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maederset BASEDIR=%~dp0
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian MaederIF %BASEDIR:~-1%==\ SET BASEDIR=%BASEDIR:~0,-1%
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibenset BASEDIR=%BASEDIR%\..
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowski
773a3d8e40d41417d7c7c92c65c9ff1e49f66ce2Christian Maeder:repoSetup
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maeder
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowskiif "%JAVACMD%"=="" set JAVACMD=java
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowskiif not "%JAVA_HOME%"=="" set JAVACMD="%JAVA_HOME%\bin\%JAVACMD%"
86d9bb76813208a0855c899a21e5ffca3ad1aa38Christian Maeder
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowskiif "%SVNKIT_LIB%"=="" set SVNKIT_LIB=%BASEDIR%\lib
86d9bb76813208a0855c899a21e5ffca3ad1aa38Christian Maeder
f4f87c3db7dcb604833cb7813475dcb1313013b3Christian Maederset CLASSPATH=
367103718689f8d3aa1a8648eba9e50af51c3a94Florian Mossakowskiset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\svnkit-1.7.5-v1.jar"
367103718689f8d3aa1a8648eba9e50af51c3a94Florian Mossakowskiset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\sequence-library-1.0.2.jar"
773a3d8e40d41417d7c7c92c65c9ff1e49f66ce2Christian Maederset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\antlr-runtime-3.4.jar"
adaf5a640e615848c19de372218377a418f954ceFlorian Mossakowskiset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\sqljet-1.1.4.jar"
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibenset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\jna-3.4.0.jar"
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibenset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\trilead-ssh2-1.0.0-build215.jar"
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Ibenset CLASSPATH=%CLASSPATH%;"%SVNKIT_LIB%\svnkit-cli-1.7.5-v1.jar"
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maederset EXTRA_JVM_ARGUMENTS=-Djava.util.logging.config.file="%BASEDIR%\conf\logging.properties" -Dsun.io.useCanonCaches=false
67f0eb92a02309cd70d9c9691a94d96d70cd0b85Christian Maedergoto endInit
d34c6711bc746459074986c06f7c28b083b4be2fChristian Maeder
5c09a5b695699a46a95795259a7bcbba60aea3bdHendrik Iben@REM Reaching here means variables are defined and arguments have been captured
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maeder:endInit
ffb20d566649ab4ce80c225a791c44d8b8487492Hendrik Iben
6dcb974e3ccdbc9bcd013a5a923f87069a65e09fFlorian Mossakowski%JAVACMD% %JAVA_OPTS% %EXTRA_JVM_ARGUMENTS% -classpath %CLASSPATH% org.tmatesoft.svn.cli.SVNSync %CMD_LINE_ARGS%
c8a9d35be2207e0d4fbd26a2411e1ba17e3e4c96Christian Maederif ERRORLEVEL 1 goto error
goto end
:error
if "%OS%"=="Windows_NT" @endlocal
set ERROR_CODE=1
:end
@REM set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" goto endNT
@REM For old DOS remove the set variables from ENV - we assume they were not set
@REM before we started - at least we don't leave any baggage around
set CMD_LINE_ARGS=
goto postExec
:endNT
@endlocal
:postExec
if "%FORCE_EXIT_ON_ERROR%" == "on" (
if %ERROR_CODE% NEQ 0 exit %ERROR_CODE%
)
exit /B %ERROR_CODE%