레이블이 Subversion인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Subversion인 게시물을 표시합니다. 모든 게시물 표시

2014년 2월 2일 일요일

[소스관리] Visual Studio + SVN 연동 (3)

자 마저 연동 작업을 해봅시다.

설치 마치시고 확인 끝나셨으면

재부팅 하시는것을 권유 합니다. Tortoise SVN 은 레지스터로 적용되기 때문에

기능은 동작하나, Icon 등 Display 등이 보이지 않을 겁니다.

그럼 차츰 설명 드리겠습니다.

먼저 SVN 설정 및 Check Out  받아 봅시다.



Get Solution from Subversion 버튼을 클릭 합니다.


그러면 다음과 같은 창이 뜨고 Repository URL 을 잡아 주면 되는데

처음에 URL 잡기가 힘드니 Start repository browser 를 선택합니다.

이런식으로 우리의 거북이 SVN 이 URL 에 해당 어떤 소스들이 있는지 보여주게 됩니다.

이렇게 찾은 후 URL을 아까 그 창에 복사 해주시면 됩니다.

그후 Location 편할 때로 지정 하여

내려 받습니다.

내려 받는게 완료되면 Open 할 건지 물어봅니다 솔루션을 그럼 한번 열어봅니다!!























그러면 이렇게 이쁜 모양으로 SVN 에서 Check Out 된 소스를 확인하실 수 있습니다.

그 후 Commit 과 Update 방법은 기존 다른 SVN 방식과 동일합니다.


이렇게 변경된 파일은 주황색으로 색이 바뀌고 Commit 하면 되며 뭐 Update 도 같습니다.


해당 Project Local Location 으로 가보시면 체크 표시로 되어 있고 (해당 표기법은 Tortoise Setting 에서 변경 가능합니다)

Commit Update 및 다양한 작업을 할 수 있습니다.

연동해서 쓰고 있는 사람의 입장에서 느낌을 얘기하자면..

뭐 Visual SVN 덕에 불편한 점도 없고 AnkhSVN 보다 모양도 확실하고  Merge 나 충돌에 대한 지원도 확실하니.

훨씬 안전하고 편하게 쓸 수 있는 강점이 있습니다.

그럼 즐거운 개발 되시길~

[소스관리] Visual Studio + SVN 연동(2)

그럼 첫번째 포스트에 이어 SVN 연동에 대해 설명합니다.

이제는 Tortoise SVN을 설치해 봅시다.




Tortoise SVN 을 자신의 운영체제에 맞춰서 다운받습니다.


그럼 설치를 해봅시다.


그냥 쭉~쭉~ 설치합니다. Next Next Next 누르면 끝

다른거 신경쓰지 않습니다.

쭉쭉 설치하시면 됩니다.

그 다음 이제 Visual SVN 을 설치 합니다.



Visual SVN 을 이제 설치해봅시다.

위의 링크대로 그냥 내려 받으시구요



Custom Setup 입니다. 근데 뭐 특별히 설정할 것은 없으니..

그냥 설정된 대로 설치해 주시면 됩니다.

다음~다음 다음 누르면 설치 완료



※ Tortoise SVN을 설치하기 전에 Visual SVN을 설치하게 되면

    Tortoise 가 설치되지 않았다는 경고와 함께 설치 Download Link창이 뜨게 됩니다

     참고하십시오


그럼 이제 Visual Studio 를 켜볼까요?

Visual Studio 를 키면 새로운 메뉴가 추가 된 것을 확인 할 수 있습니다.


그럼 이제 연동에 대해서는 다음 포스트에서 계속 하겠습니다.

[소스관리] Visual Studio + SVN 연동(1)

SVN 연동에 대해서 기술합니다.

양대환 군과 권민석 군이 알아왔던

Ankhsvn 은 당연히 괜찮습니다.

callabNet에서 개발한 Visual Studio 플러그인이고 사용이 간편한 편입니다.

하지만 알아본 결과 AnkhSVN은 닷넷 C#을 위한 플러그인 성향을 띄고 있습니다.

즉 웹 환경에 맞춰져 있단 것이죠. 

따라서 패키지, 리소스를 많이 사용하는 C# Application 기반에서는 조금 사용이 불편한 부분들이 발생하였고

그것이 현재 사용이 어려운 지경에 이르렀습니다.

따라서 , 충돌/병합/재구성 등의 SVN 오류 상황에 대해 대처 할 수 있는

방식으로 바꾸려고 합니다.

이번에 소개 드릴 방법은 

Visual SVN + Tortoise SVN 을 함께 사용하는 것입니다.

Tortoise SVN 에 대해 설명 드리면

개발 툴이 SVN 을 지원하는 플러그인이 없을 경우 Local에 설치하여 사용하는

SVN 관리 도구 입니다.

따라서, Visual Studio 도 AnkhSVN 에 제대로 동작하지 않는다고 판단하고

위와 같이 쓰도록 하겠습니다.

그럼 다운을 받아보지요

다운 링크



일단 Tortoise 부터 설치 해봅시다.

설치 내용은 다음 포스트에 기술 합니다.

2013년 5월 12일 일요일

Eclipse SVN(SubClipse) Merge 방법

저번까지는 Branch 사용 법에 대해 알아 보았다.
이번에는 Branch 를 가지고 Merge 하는 방법을 알아보자.

1. 선택한 Project 에서 Team -> Merge 를 선택합니다.


2. 각 Merge 방법에 대해 알아보자

   1. Merge a range of revisions : 
      머지하려고 하는 상대편 최신 Revision에 수정된 일정 부분 을 범위를 지정해서 
      Merge하는 방법 입니다. 부분 머지 , 통합 머지가 가능한 기능입니다.


   2. Reintegrate a branch :
      trunk 에서 만든 branch 를 통째로 다시 통합하는 merge 방식 입니다.
      이 방식은 다른 Local 에 작업본이 없거나 , 계정 하나에서 관리할때 쓰는 방법이며.
      여러명이 branch 를 사용하는 경우 추천하지 않습니다.


   3. Change-set based merge :
       콜 랩넷 에서 지원하는 클라이언트 병합 기능 

   4. Merge two different trees :
       현재 위치의 2개의 branch 의 차이점을 병합하기 위해서 사용합니다.
       이 Merge 는 재통합하는 대안으로 사용할 수 있습니다.

       즉 차이점이 심하다면 한번 merge 하고 가져올 수 있는 거죠


   5. Manually record merge information (block one or more revisions) : 
       수동 머지 방법입니다. 머지 되는 버전의 수정 또는 범위를 차단하여 머지 
       함으로 충돌을 방지 합니다.


   6. Manually record merge information (unblock one or more revisions) : 
       수동 머지 방법입니다. 머지 되는 버전의 수정 또는 범위 차단 해제 하려면
       이 머지 방법을 쓰시면 됩니다. 또는 일부 계정의 기록이 병합 된 것으로
       다시 머지 할 수 있습니다.

3. Merge 와 New Trunk 의 갈림길...

   만약 Merge 를 하는 것보다 새로 만드는게 더 좋을 수 있다.

   예를 들어 기존의 Project 를 Branch 후에 그 Branch 에서 획기적으로 변경이 되었고

   merge 하기에는 너무 많이 변형했다 할 경우 중요한 core 부분까지....

  그럴땐 새로 trunk 에 생성하고 . 그것을 다시 Branch 해서 작업 후

   새로 생성된 Trunk 에 올리는 것이 더 용이하다.

      
      
      

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 로 이어짐..