summaryrefslogtreecommitdiff
path: root/tools/get-scala-revision.bat
blob: 880bcc3f5c6cf13f0bb517b7439a6c52420d80a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
@echo off
rem
rem Usage: get-scala-revison.bat [dir]
rem Figures out current scala revision of an svn checkout or
rem a git-svn mirror (or a git clone.)
rem
rem If no dir is given, current working dir is used.

if "%OS%" NEQ "Windows_NT" (
  echo "Sorry, your version of Windows is too old to run Scala."
  goto :eof
)
@setlocal

set _DIR=
if "%*"=="" (
  for /f "delims=;" %%i in ('cd') do set "_DIR=%%i"
) else (
  set "_DIR=%~1"
)
cd %_DIR%

if exist .svn\NUL (
  rem 2>&1 to catch also error output (e.g. svn warnings)
  for /f "skip=4 tokens=2" %%i in ('svn info') do (
    echo %%i
    goto :end
  )
) else ( if exist .git\NUL (
  set _GIT_PAGER=type
  rem this grabs more than one line because otherwise if you have local
  rem commits which aren't in git-svn it won't see any revision.
  rem TODO: git log -10 | findstr git-svn-id | ...
  echo 0
) else (
  echo %_DIR% doesn't appear to be git or svn dir.
  echo 0
  exit 1
))

:end
@endlocal