XpressEngine - 팁 공유 게시판
XpressEngine과 관련된 팁이나 강좌를 소개하는 게시판입니다.
자신이 생각하기에는 아주 사소한 내용이라도 누군가에게는 큰 도움이 될 수 있습니다.
제로보드4 버전의 팁을 공유하고 싶으시다면 여기로~
자신이 생각하기에는 아주 사소한 내용이라도 누군가에게는 큰 도움이 될 수 있습니다.
제로보드4 버전의 팁을 공유하고 싶으시다면 여기로~
글수 611
제로보드 XE(이하 XE)의 코드를 수정하여 사용하는 경우에는 업데이트를 적용하기 위해서는 변경한 내역을 따로 보관해두고 업데이트후에 다시
고친다거나, 몇 달전에 배포된 버전을 사용하시는 분들이 많은 것 같습니다. 날로 업그레이드되는 기능들과 버그들을 관리의
어려움으로 인해 포기해야 하는 상황을 조금은 간단히 해결할 수 있도록 팁을 공유합니다.
TortoiseSVN 설치
windows환경에서 사용하기 편리한 TortoiseSVN을 이용하도록 하겠습니다. TortoiseSVN은 여기에서 자신의 환경에 맞는 버전을 다운받아 설치하시면 됩니다. 한글 언어팩도 있으니 같이 설치해두시는 것도 좋습니다.
설치과정은 따로 설명하지 않습니다.
SVN 저장소 만들기
현 재 사용하고 있는 코드를 svn저장소에 넣어둘 겁니다. 저장소는 사용하시는 PC에 생성하여 사용하시면 되고 외부 저장소를 사용하셔도 좋습니다. 저장소는 눈에 띌 필요는 없기 때문에 거슬리지 않을만한 곳에 디렉토리를 하나 만들어 둡니다.
예로 'D:\DATA\SVN\myxe'를 저장소로 사용하겠습니다.

내 코드를 저장소에 넣기
위와 같이 저장소로 사용될 폴더에 저장소를 생성하고, 이제 실제 사용중인 코드를 보관한 디렉토리를 생성합니다. 혹은 이미 코드를 보관하고 있는 디렉토리를 그대로 사용하셔도 됩니다. 예로 'D:\mysite'라고 하겠습니다.
이제 'D:\mysite' 디렉토리에서 메뉴에서 'SVN 체크아웃'을 클릭하고 다음과 같이 입력하시면 됩니다.

[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
일단은, 아래 문서를 참고해주세요.
http://whistle.springnote.com/pages/610674/attachments/277411
업데이트하기
병합이 완료되었고, 충돌 상황이 없거나 해결되었다 가정하겠습니다.
병합이 완료되면 폴더 및 파일들이 붉은색 느낌표 아이콘으로 장식됩니다. 수정되거나 추가/삭제되었다는 표시입니다. 이제 mysite을 커밋하여 myxe 저장소에 이 변경사항들을 반영해줍니다.
또 다시 새로운 디렉토리를 만들고 'TortoiseSVN > 익스포트'에서 저장소 URL에 myxe 저장소 경로를 선택하고 [확인]을 누르시면 비로소 내가 수정한 코드를 그대로 유지하고 XE의 최신 업데이트까지 적용된 코드를 얻게됩니다. 변경한 내역을 일일히 적어두고 고쳐야 하는 번거로움은 날아가는거죠. :)
이제 이 코드를 서버에 업로드하여 반영하시면 됩니다.
가장 중요한 이야기가 빠졌다!!
사실, '충돌 상황 해결'에 관한 것이 가장 중요한 부분인데 앞에서 그냥 건너 띄어 버렸습니다. ;;
마음의 준비(?)가 되면 다음 글에서 이어가도록 하겠습니다.^^;
- svn,
- tortoisesvn,
- 병합
2008.10.29 12:31:07 (*.135.192.182)
SVN 사용하시는 분들의 목적은 세가지 정도라고나 할까요?
- 커미터(개발자)분들께서 공동작업을 위해서 : 위에서는 그 방법을 설명하지는 않고있습니다. (권한도 있어야합니다.)
- 자기자신이 zbXE의 코드를 임의로 수정해서 사용하고 있을 때 배포된 최신버젼을 덮어쓰면 자기 코드가 없어지기 때문에 고쳤던 부분을 찾아서 다시 커스터마이징 해야하는 번거로움을 덜기위해서 위에 BNU님께서 설명하신 것과 같은 방법을 사용합니다.
사실 zbXE의 배포본에 포함된 코어,모듈은 손대지 않고 추가모듈들만 수정 또는 추가해서 사용하는 것이 좋다고봅니다. - 단순히 (공식배포본이 아닌) 현재 개발중인 최신코드를 받아서 쓰기위한 목적입니다. (sandbox 같은경우 아직 안정화작업이 되지 않은 코드들이니 위험을 좀 감수해야겠죠.)
2008.10.29 12:35:05 (*.135.192.182)
근데 BNU님 질문있는데요.
저는 위 댓글처럼 단순히 최신코드를 받아오기위해서 쓰고있습니다.
저장소 만들어서 sandbox 받아오고 그것을 APM 가상서버에 export 시키는 뭐 그런 단순한 사용을 하고있습니다.
근데 저장소 위치를 바꿔주고 싶거든요?
저장소를 해제하고 다시 설정하려면 어떻게해야하나요? 해제하는 방법을 모르겠네요.^^;;
* 제가 쓰고있용어가 틀렸을지도 모른다는 생각이 드네요. 저장소는 제 하드의 녹색동그라미 체크모양 붙은 폴더가 아니라 http://svn.zeroboard.com/zeroboard_xe/sandbox 여기가 저장소인거 같은데...^^;;
제가 받아와서 저장하는 디렉토리는 체크아웃폴더라고 해야 맞는건가? 복사본폴더인가? 작업폴더인가? 약간 헷갈리는..
저는 위 댓글처럼 단순히 최신코드를 받아오기위해서 쓰고있습니다.
저장소 만들어서 sandbox 받아오고 그것을 APM 가상서버에 export 시키는 뭐 그런 단순한 사용을 하고있습니다.
근데 저장소 위치를 바꿔주고 싶거든요?
저장소를 해제하고 다시 설정하려면 어떻게해야하나요? 해제하는 방법을 모르겠네요.^^;;
* 제가 쓰고있용어가 틀렸을지도 모른다는 생각이 드네요. 저장소는 제 하드의 녹색동그라미 체크모양 붙은 폴더가 아니라 http://svn.zeroboard.com/zeroboard_xe/sandbox 여기가 저장소인거 같은데...^^;;
제가 받아와서 저장하는 디렉토리는 체크아웃폴더라고 해야 맞는건가? 복사본폴더인가? 작업폴더인가? 약간 헷갈리는..





글 솜씨가 없어서 매우매우매우 장황한데, 다들 이해력이 높으시리라 기대하겠습니다. =_=;