본문 바로가기

파워컴퓨팅/유틸리티 활용

SVN 업데이트를 편하게 하자.

SVN을 사용하다 보면 commit 은 가뭄에 콩나듯 하고 update 는 수시로 하게 된다.

실제 작업자 라던지 commit을 할 사용자는 전체 사용자중에 일부일 뿐이고 대다수의 사용자는 주로 update를 하여 최신버전을 이용하거나 테스트할 환경을 만든다.

필자의 경우 게임 클라이언트의 사내 배포를 위하여 svn 을 이용하는데 테스트용 PC마다 svn 을 세팅하기가 여간 귀찮은 것이 아니다.

물론 초기에 테스트PC마다 svn 세팅을 해놓으면 그이후로는 update 를 해주면 되겠지만 처음에 세팅을 해줘야한다는것 자체가 귀차니즘을 발동시킨다.

간단하게 실행시킬 방법으로 1. 복사 2. 실행 만 가지고 세팅이 끝나는걸 원하다 보니 많은 svn 클라이언트중 커맨드라인 클라이언트인 svn.exe 를 다이렉트로 복사해서 쓰기로 했다.

 

svn.exe 는 커맨드라인 유틸리티로 파라메터에 따라 각각의 동작을 수행하게 되어있다.

그리고 svn.exe 만 가지고는 실행이 안되고..

\libapr-1.dll
\libaprutil-1.dll
\libeay32.dll
\libsvn_client-1.dll
\libsvn_delta-1.dll
\libsvn_diff-1.dll
\libsvn_fs-1.dll
\libsvn_ra-1.dll
\libsvn_repos-1.dll
\libsvn_subr-1.dll
\libsvn_wc-1.dll
\ssleay32.dll
\svn.exe

가 모두 같이 있어야한다.

exe로 dll 을 패킹하는 방법은 많지만 우선 편하게 thinapp 를 이용하여 svn_up.exe 로 패킹을 하고

같은 폴더에

update.bat 를 만들어 아래의 내용을 저장했다.

@echo made by bulker  오후 4:32 2010-08-20
svn_up up
pause

그러면 남은 건 svn_up.exe 와 svnup.bat 를 배포할 클라이언트와 함께 대상 PC에 복사한후 필요에 따라 update.bat 만 실행해주면 자동으로 업데이트가 마쳐진다.

 

아 물론 최초 복사시 checkout 받아둔 PC에서 .svn 이라고 숨겨진 폴더까지 통채로 복사해야만 다른PC에서 checkout 하는 과정을 생략할수 있다.

- svn.exe 는 http://subversion.tigris.org/ 에서 받을수 있으니 서버 버전에 따라 필요한것으로 받아서 이용하면 된다.

- 단일파일 패킹하기가 귀찮으면 위에 적혀있는 해당파일을 몽창 같이 복사해주면 된다.

- 첨부한 파일은 svn 1.6.x 용이다.