2013년 5월 12일 일요일

Eclipse SVN(SubClipse) Branch 사용 방법

OpenSource 가 아닌 경우 보통 소스관리 시 SVN 을 주로 사용한다.

이번에는 Eclipse 로 개발 할 경우 SVN 에서 소스 관리하는 방법을 알아 본다.

1. SVN 관리

   일반 적으로 Commit 하는 사람이 적다고 한다면 1~2명 정도 라면 ,
  
   trunk 에서 관리해도 충분하다.

   그러나 , 개발하는 사람이 늘어날 경우 Conflict 가 많아 지고 ,

   개발 효율성이 떨어진다.

   따라서 그럴 경우 branch 로 분리해서 관리하고 끝난 후에 trunk 로 머지 하는 것이 좋다.


2. Eclipse 에서는 무슨 Plugin 을 쓸 것인가?

Eclipse 에서 제공되는 SVN Plugin 은 현재 2가지를 주로 쓴다.

- trigis 의 subcilpse  ( http://subclipse.tigris.org/ ) (이하 trigis)
- polarion 의 subversive(이하 pola)(http://www.polarion.com/products/svn/subversive.php )


2가지 중 뭘 써야 하는가 라고 묻는다면... 뭐를 쓰든 상관없다 ..

다만 나 같은 경우는 subcilpse 를 선호하는 편이다 . 이유는 아래와 같다.

 1. 편집상태 표현 방식에 차이 . (pola 는 꺽새로 표시 , trigis 는 별표로 표시 해준다.) 나는 후자가 더 보기 편함

 2. Subclipse 는 Branch 를 그래프로 보여주는 기능을 제공해준다.

하지만 Eclipse 에 공식적으로 들어가 있는건 subversive 다.. ㅋ 뭐 편한대로 쓰면 될듯 하지만..

내가 편하니 subcilpse 로 설명 하겠음.


3. SubClipse 어디서 받지?

   위에 링크한 trigis 에 직접 가서 다운이 가능하지만, 밑에 언급하기로 한다.

   현재(2013-05-05) 확인 결과 1.8 이 가장 최신 릴리즈다.

   이걸로 eclipse 에서 add 하세요  http://subclipse.tigris.org/update_1.8.x
  
   
4.  SubClipse 제대로 알고 사용하자

 SVN Repositiories 에서 SVN 구성을 보면 Branch , Tag , Trunk 가 있다 .

 그 의미와 실제 사용 메뉴얼을 좀 알고 쓰자

 trunk

  • 프로젝트에서 가장 중심이 되는 디렉토리
  • 모든 프로그램의 개발 작업은 Trunk 디렉토리에서 이루어 집니다.
  • trunk 디렉토리 바로 아래에는 소스들의 파일과 디렉토리가 들어가게 됩니다.
  • 단어 자체의 뜻은 mainLine 과 동일한 뜻

 branches

  • trunk 에서 뻗어져 나온 나무가지를 뜻합니다.
  • 프로그램을 개발하다 보면 trunk 디렉토리에서 또 다른 작은 분류로 빼서 개발해야 할 경우가 생김.
  • 프로젝트 내의 작은 프로젝트라 생각하면 됨
  • branches 디렉토리 안에 또 다른 디렉토리를 두어 그 안에서 개발하게 됨

 tags

  • 단어 자체의 뜻은 꼬리표 
  • 이 디렉토리는 프로그램을 개발하면서 정기적으로 릴리즈 할 때 , 0.1/0.2/1.0 등
  • 버전 별로 소스 코드를 따로 관리하는 공간
  • 버전 별로 태그를 붙여서 tag 디렉토리 안에 보관한다고 생각하면 됩니다.

5.  SubClipse 에서 Branch 를 만들어 보자 


  • 이미 branch 가 만들어져 있다고 하면 있는 Branch 를 용도에 맞게 다운받아 쓰면 됩니다. 
  1. Trunk 에서 소스를 CheckOut 합니다.
  2. Check Out 받은 프로젝트를 마우스 우클릭 후 Team -> Branch/Tag 선택


   3. Copy to URL 에서 경로 변경 -> branches/MK4.1-20130513 으로 입력합니다.

      ※ 뒤의 파일명 부분은 Project명-branch 일자 로 입력해주세요.

   

  4. Copy Revision 화면에서 HEAD revision in the repository 에 놓고 Next
     
     ※ 1. HEAD revision in the repository : 해당 Project SVN 최신 Revision 으로 Branch 생성
          2. Specific revision in the repository : SVN revision 중 선택해서 Branch 생성
          3. Working copy : 해당 Local workspace 의 Project 소스를 대상으로 Branch 생성


 5. Comment 넣으시고 Finish 합니다.

 6. SVN Repositories의 Branch 를 보시면 생성 된 것이 보이실 것입니다.

 7. 이제 Branch 소스를 내려 받습니다.

 8. Branch 소스에서 작업 하시면 됩니다. 다음 편 Marge 로 이어짐..

댓글 4개:

  1. 잘 읽었습니다. brach, trunk, log에 대해 막연한 개념밖에 없었는데 정확한 의미와 활용 용도를 어느정도 알 것 같습니다.

    답글삭제
    답글
    1. 도움이 되셨다니 기쁘네요 ^^ 감사합니다

      삭제
  2. 고맙습니다. 개념에 대해서 잘 이해하게 되었습니다. 다음편 Merge도 관심갖고 보겠습니다.

    답글삭제
  3. 항상 팀장님의 글에 감복합니다. 도움이 많이 되었습니다.

    답글삭제