SVN(Subversion)이란?
서브버젼은 하나의 프로그램을 여러 프로그래머가 공동으로 개발할때 작업파일을 저장해서 편리하게 공유할 수 있는 공유폴더라고 생각하시면 쉽습니다. 단순한 공유폴더가 아닌 개발을 위한 권한관리 및 히스토리, 버전, 배포를 관리하는 등 다양한 기능을 가지는 저장소입니다.

'SVN으로 업데이트 한다.'는 말은 배포된 프로그램 압축파일을 다운받는 것이 아니라 SVN의 저장소에서 파일을 바로 받아 적용시킨다는 말이 되겠지요.

SVN을 지원하는 웹서버에서는 SVN 명령어를 이용해 별도의 다운로드 과정 없이 변경(수정,추가,삭제)된 파일만 직접 갱신해줄 수 있습니다. 하지만 저처럼 SVN을 지원하지 않는 웹호스팅 서비스를 사용하는 사람은 별도의 프로그램을 이용해 SVN으로 부터 최신파일을 다운받아 FTP로 웹서버에 업로드하는 과정을 거치게 됩니다.
이 강좌에서는 그런 방법에 관해서 알아보겠습니다.

1. TortoiseSVN 설치하기

http://tortoisesvn.net/downloads 에서 윈도우즈용 SVN 프로그램인 TortoiseSVN + 한글언어팩을 다운받아 설치합니다.
일명 '거북이'라고 불리는데 속도가 느려서 거북이가 아니라 Tortoise 가 거북이라는 뜻입니다.^^

설치가 완료되면 언어를 한국어로 설정합니다.

cglinkXE_svn1_001.gif
[그림0-1] 설치 후 아무데서나 RMB(마우스오른쪽버튼)을 누르면 TortoiseSVN 메뉴를 보실 수 있습니다.

'설정'을 선택합니다.

cglinkXE_svn1_002.gif
[그림0-2] 언어를 '한국어'로 선택하고 '확인'합니다.

2. 체크아웃 폴더 만들기

SVN에서 파일을 내려받을 체크아웃 폴더를 원하는 곳에 생성합니다.
필자는 'XE_SVN' 이라는 폴더를 만들었습니다.

cglinkXE_svn1_01.gif
[그림1]

3. SVN 저장소 선택

XE의 SVN 저장소는 여러가지가 있습니다. 대표적인 두가지를 소개합니다.

* http://svn.xpressengine.com/XpressEngine/trunk
   '트렁크'는 가장최근 '공식배포된 XE Full 버전'을 담고있는 저장소입니다.

* http://svn.zeroboard.com/zeroboard_xe/faceOff
   '페이스오프'는 현재 한창 개발이 진행중인 작업공간입니다.
   개발중인 버전이라 테스트용으로만 다운받아 사용하시길 바랍니다. (실제 서비스중인 계정에 적용하는 것은 권장하지 않습니다.)
   * 위 경로는 XE 1.2.0  배포후 다음과 같이 변경되었습니다. http://svn.xpressengine.com/XpressEngine/sandbox

- XE공식매뉴얼에서 SVN 저장소에관한 설명을 보시려면 http://www.zeroboard.com/?mid=manual&pageid=641824 클릭.

코드명 faceOff의 SVN 저장소 URL
http://svn.xpressengine.com/XpressEngine/sandbox
* 위 코드뷰의 오른쪽 버튼 중 두번째 '복사'버튼을 이용해서 복사하실 수 있습니다.

cglinkXE_svn1_02_checkout.gif
[그림2] 그림과 같이 저장소 URL을 입력하고 '확인'합니다.
* XE 1.2.0 이후 SVN 주소가 변경되었음에 유의하세요. 위 그림과 주소가 다릅니다.

cglinkXE_svn1_03.gif
[그림3] 체크아웃이 완료되면 마지막에 최신 리비전 번호를 표시해줍니다.

4. 익스포트(추출)

XE_SVN 폴더에 저장소로부터 받아온 최신 XE 파일들이 들어왔지만 그 파일을 그대로 쓰지 않습니다.
체크아웃 폴더는 사실 개발작업을 하기위해서 최신파일을 받아오는 개발작업용 폴더라고 보시면 됩니다.

XE_SVN 폴더 앞에 녹색체크표시가되어 '체크아웃 폴더'라는 표시가 된것 처럼 그 안에 있는 모든 파일과 폴더들이 모두 그런 표시가 되어있는 것을 보실 수 있을 것입니다. 이런 표시가 된 파일들은 '수정되었는지','추가된 파일인지','삭제예정인지' 등에 관한 정보를 담고있습니다. 그 파일을 그대로 다른 곳에 복사해도 그 속성이 따라오게 됩니다.
그래서 별도의 폴더에 익스포트하는 과정을 거칩니다.


cglinkXE_svn1_04_export.gif
[그림4] 익스포트 메뉴를 선택합니다.

cglinkXE_svn1_05_export.gif
[그림5] 저장할 폴더를 선택합니다.

XE_SVN.Exports 라는 폴더를 만들어 선택하였습니다.

5. 업로드

XE_SVN.Exports 폴더에 들어가보면 체크아웃폴더와 같은 이름으르 가진 XE_SVN이라는 폴더가 생성되면서 추출된 최신 파일들이 확인됩니다.
cglinkXE_svn1_06.gifcglinkXE_svn1_07_update.gif
[그림6]
이 파일들을 FTP 프로그램 등을 이용해 웹서버에 업로드 하시면 됩니다.
업로드 하신 후에는 관리자모드에서 '설치' 혹은 '업데이트'해야하는 모듈이 있으면 하시고, Settings 에 가셔서 '캐시파일 재생성'하는거 잊지 마시구요.

여기까지 처음으로 SVN으로부터 업데이트 하는 작업이 끝났습니다. emoticon


6. 버그리포팅

개발중인 버전은 테스트용이므로 버그가 남아있을 수 있습니다.
버그가 발견되시면 정말버그인지 확인 후(^^) 정성껏! 버그리포팅 부탁드립니다. (함께 만들어요~ XE)
공식 배포본이 아닌버젼을 리포팅 하실때는 r5679와 같이 구체적인 리비전 번호와 증상을 자세히 적어주시면 좋겠네요.^^

7. 업데이트

faceOff 저장소는 수시로 갱신됩니다.
다시 최신 리비전을 확인하고 다운로드 하시고 싶으시면 아래와 같이 'SVN 업데이트' 메뉴를 누르시고 '익스포트','업로드' 과정을 다시 진행하시면 됩니다.
cglinkXE_svn1_07_update.gif
[그림7]



추가 : 개인적으로 XE의 코드를 수정(개조)해서 사용하시는 분들은 업데이트 할때마다 자기가 수정했던 파일을 일일이 찾아 다시 개조해야하는 불편함이 있습니다. 그런 경우 BNU님의 'XE에서 SVN을 이용한 수정한 코드 최신화'를 참고하시면 좋겠습니다.



profile

 즐거운CG생활 CGlink~