청포도잼
180
2018-09-05 17:56:53
0
966

SVN hook script의 Pre-commit hook에서 java로 조건을 검사할 수 있나요?


이번에 SVN 관련된것을 하고있는데 SVN 레파지토리에 커밋할 때 발생하는 이벤트 전후에 hook script가 작동한다는것을 알았습니다.

Pre-commit hook에서 Comment나 이슈번호 등을 검사하여 조건에 맞지 않으면 커밋이 안되게 에러를 띄우는 일반적인 예제 까지만 따라해 보았구요.

그런데 여기 이 쉘스크립트에서 java파일을 실행해 해당 파일에서 조건을 검사할 수 있는지가 궁금합니다.

예를들면 보통의 예제가


@echo off
::
:: After commits that have empty log messages.
::
@echo off

setlocal

rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2

set SVNLOOK="C:\Program Files\VisualSVN Server\bin\svnlook.exe"

%SVNLOOK% log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto EMPTY) else (goto NOT_EMPTY)

:EMPTY
echo 커밋메시지없음 1>&2
echo 커밋실패 1>&2
goto ERROR_EXIT

:NOT_EMPTY
echo 커밋메시지있음 1>&2
echo 커밋됨 1>&2
goto NORMAL_EXIT

:ERROR_EXIT
exit 1

:NORMAL_EXIT
exit 0

이런 식으로 작성되어 커밋 여부를 결정한다고 할 때, 저 검사하는 부분을 아예 자바파일 혹은 jar파일이나 api를 호출해서 그 안에서 조건을 검사할 수 있는지를 여쭤보고 싶습니다.


예를들어 자바파일을 호출한다고 할 때는 위의 코드에서 조건검사부분이 다 빠지고 Test.java라는 파일을 호출해서 그 안에서 검사한 후 System.exit(-1) 등의 코드를 돌려보내 주는 방법으로요.


public class Test {

	public static void main(String[] args) {
		Test t = new Test();
		
		if(t.check() == 1) {
			System.exit(1);
			System.out.println("errCode: 1, commit failed...");
		}else {
			System.exit(0);
			System.out.println("errCode : 0, commit success...");
		}
	}
	public int check() {
		return 1;
	}
}

이런식으로 쉘스크립트에서 했던 검사를 자바 파일을 호출하여 자바파일에 코드를 짜서 검사할 수 있는지 알려주시면 감사하겠습니다.


0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.