제로보드 XE(이하 XE)의 코드를 수정하여 사용하는 경우에는 업데이트를 적용하기 위해서는 변경한 내역을 따로 보관해두고 업데이트후에 다시
고친다거나, 몇 달전에 배포된 버전을 사용하시는 분들이 많은 것 같습니다. 날로 업그레이드되는 기능들과 버그들을 관리의
어려움으로 인해 포기해야 하는 상황을 조금은 간단히 해결할 수 있도록 팁을 공유합니다.
TortoiseSVN 설치windows환경에서 사용하기 편리한 TortoiseSVN을 이용하도록 하겠습니다. TortoiseSVN은
여기에서 자신의 환경에 맞는 버전을 다운받아 설치하시면 됩니다. 한글 언어팩도 있으니 같이 설치해두시는 것도 좋습니다.
설치과정은 따로 설명하지 않습니다.
SVN 저장소 만들기현
재 사용하고 있는 코드를 svn저장소에 넣어둘 겁니다. 저장소는 사용하시는 PC에 생성하여 사용하시면 되고 외부 저장소를
사용하셔도 좋습니다. 저장소는 눈에 띌 필요는 없기 때문에 거슬리지 않을만한 곳에 디렉토리를 하나 만들어 둡니다.
예로 'D:\DATA\SVN\myxe'를 저장소로 사용하겠습니다.
내 코드를 저장소에 넣기위와 같이 저장소로 사용될 폴더에 저장소를 생성하고, 이제 실제 사용중인 코드를 보관한 디렉토리를 생성합니다. 혹은 이미 코드를 보관하고 있는 디렉토리를 그대로 사용하셔도 됩니다. 예로 'D:\mysite'라고 하겠습니다.
이제 'D:\mysite' 디렉토리에서 메뉴에서 'SVN 체크아웃'을 클릭하고 다음과 같이 입력하시면 됩니다.
[1] 항목에는 svn 저장소의 경로 입력. 'file:///D:/DATA/SVN/myxe'
[2] 항목은 코드가 보관될 디렉토리의 경로입니다. (자동 입력됩니다.)
이제 svn 저장소를 사용할 준비는 끝났습니다만, 내 코드를 저장소에 반영시켜야 합니다. 'D:\mysite'에 XE파일들을 옮겨두고 mysite 디렉토리에서 우클릭하여 'svn 커밋'을 실행합니다.
위와 같이 전체 파일을 선택 후 [확인]버튼을 누르시면 내 코드를 관리하기 위한 준비가 끝납니다. 커밋이 완료되면 모든 폴더와 파일들에 녹색 체크 아이콘으로 멋지게 장식됩니다. :)
[!] 파일을 추가하고 저장소에 반영하는데 시간이 좀 걸릴 수 있으니 잠시 기다려야합니다.
업데이트 파일 적용하기XE
의 업데이트를 적용하기위해서 서브버전의 '병합'기능을 이용할 겁니다. XE의 svn저장소 중 sandbox나 안정버전인
trunk의 코드를 내 저장소에 쉽게 반영할 수 있습니다. mysite에서 'TortoiseSVN > 병합' 메뉴를
클릭합니다.
[1]의 '리비전의 구간을 병합합니다'를 선택합니다.
여기서 중요합니다.
[1] 번 항목에는 'http://svn.zeroboard.com/zeroboard_xe/sandbox'이와 같이 XE의 sandbox 저장소를 입력합니다. trunk를 사용해도 좋습니다.
[2] 번 항목에는 업데이트정보를 가져올 구간을 선택합니다. [로그 보기]에서 구간을 선택하시면 됩니다. 각 XE 버전별로 변경범위는 다운로드 게시물마다 상단에 '변경 범위'로 기록되어 있습니다.
예
로 내 코드가 1.0.5를 변형한 것이라면, 1.0.5의 변경범위는 'revision 4311 ~ 4381'이와 같이 기록되어
있습니다. 여기서 끝 번호 '4831'부터 지정하시면 됩니다. '4831-HEAD'는 '4831'부터 최신 리비전까지 선택하게
됩니다.
병합을 진행하면 위와 같이 '충돌 상황 해결'이라는 창이 자주 나타날 겁니다. 여러분이 수정한 코드와 동일한 라인에서 XE에서
수정된 코드가 있으면 어느 것을 적용해야할지 사용자에게 물어보게 됩니다. [충돌 상황 편집]으로 편집기를 통해 직접 수정할 수
있고, 혹은 [저장소를 사용합니다]로 강제로 업데이트 할 수 있습니다.
충돌 상황 해결에 관한 것은 나중에 다시 살펴보도록 하겠습니다.
일단은, 아래 문서를 참고해주세요.
http://whistle.springnote.com/pages/610674/attachments/277411
업데이트하기
병합이 완료되었고, 충돌 상황이 없거나 해결되었다 가정하겠습니다.
병합이 완료되면 폴더 및 파일들이 붉은색 느낌표 아이콘으로 장식됩니다. 수정되거나 추가/삭제되었다는 표시입니다. 이제 mysite을 커밋하여 myxe 저장소에 이 변경사항들을 반영해줍니다.
또 다시 새로운 디렉토리를 만들고 'TortoiseSVN > 익스포트'에서 저장소 URL에 myxe 저장소 경로를 선택하고
[확인]을 누르시면 비로소 내가 수정한 코드를 그대로 유지하고 XE의 최신 업데이트까지 적용된 코드를 얻게됩니다. 변경한 내역을
일일히 적어두고 고쳐야 하는 번거로움은 날아가는거죠. :)
이제 이 코드를 서버에 업로드하여 반영하시면 됩니다.
가장 중요한 이야기가 빠졌다!!
사실, '충돌 상황 해결'에 관한 것이 가장 중요한 부분인데 앞에서 그냥 건너 띄어 버렸습니다. ;;
마음의 준비(?)가 되면 다음 글에서 이어가도록 하겠습니다.^^;
최근 댓글