'프로그램/SVN'에 해당되는 글 7건
- 2009.03.03 소스 버전 변경하기
- 2009.03.02 Branch & Merge
- 2009.02.27 AnkhSvn 클라이언트 사용하기 1
- 2009.02.27 AnkhSvn 설치
- 2009.02.27 VisualSVN 서버 사용하기
- 2009.02.27 VisualSVN 설치
- 2009.02.25 SVN 설치 준비하기
변경 방법
원하는 파일에서 우클릭하여 Update를 선택합니다.
Head : 가장 최신 버전을 가져옵니다.
Preview : 현재 로컬 파일 버전의 이전버전을 가져옵니다.
숫자 : 해당 버전으로 변경합니다.
만약 16 버전으로 되돌리고 싶은 경우엔 16을 직접 입력하면 됩니다.
만약 SVN이 직접 변경하기 어려운 경우 ( 변경해야 하는 부분이 수정중인 경우 )
다음과 같이 표시됩니다.
<<<<<<< .mine // 3 1 ======= // 2 >>>>>>> .r16
이렇게 나오며 위의 부분은 현재 수정중인 부분
아래는 변경해야 할 부분이 나옵니다. 이 경우엔 사용자가 지정해 줘야 합니다.
해당 파일은 ! 표시가 되며 해당 파일에서 우클릭을 하면 Resolve라는 메뉴가 생기고
그 안에서 결정을 해주면 됩니다.
Resolve Conflict : 현재 보이는 대로 나둡니다.
Using Working copy file : Resolve Conflict 와 동일한 작업으로 보입니다.
Using Original file : 로컬 버전으로 되돌립니다.
Using My File : 수정하던 것을 유지합니다.
Using Their file : Update하려는 버전으로 변경합니다.
버전을 확인하는 방법
원하는 파일에서 우클릭 한뒤 View History 를 선택하면 됩니다.
만약 이곳에서 보이지 않는 14같은 버전을 선택하면 그 아래의 9가 선택 됩니다.
( 실제 14버전은 존재하지만 그 버전 때에 해당 파일의 변경이 9에서 없었던 겁니다. )
만약 없는 버전을 선택한다면 다음과 같은 에러를 보입니다.
Branch
솔루션에서 우클릭하여 Subversion –> Branch Solution 선택
기본적으로 trunk 상위 경로에 branches 경로로 생성됩니다.
인증까지 마치면 Branches가 완료 됩니다.
이제 Branch 소스를 가져옵니다.
보기(V)->Repository Explorer 실행
인증을 합니다.
왼쪽 창에 branches가 생긴 것을 확인할 수 있습니다.
Repository Explorer안의 툴바 첫번째 하트 모양의 아이콘을 클릭합니다.
경로를 지정하고 OK를 하여 해당 소스를 받도록 합니다.
받은 솔루션을 열면 Branch가 완료된 것입니다.
이제 Merge를 하기 위해서 우선 소스를 수정해보도록 하겠습니다.
Form1.cs 의 소스를 수정하도록 해보겠습니다.
public Form1() { InitializeComponent(); }
기본 소스를 다음과 같이 변경 하도록 하겠습니다.
public Form1() { InitializeComponent(); this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { this.Text = "Merge Test"; }
이제 변경한 소스가 제대로 동작하는지 확인을 합니다.
이제 변경한 파일을 Commit 합니다.
이제 Merge를 하도록 하겠습니다.
다시 trunk 솔루션을 열도록 하겠습니다.
솔루션에서 우클릭 Subversion->Merge Solution 선택
Perform pre-merge best practices check 체크 해제 합니다. Next
Select 를 눌러 Branches 경로로 설정합니다.
인증을 한 후
OK 후 Finish 선택
이제 Form1.cs파일을 확인하면 변경한 것이 적용된 것을 볼 수 있습니다.
이제 서버에도 적용하려면 commit을 해야 합니다.
단 제대로 Merge 되었는지 확인 후에 commit 을 하도록 합시다.
이제 Branch와 Merge가 완료 되었습니다.
VS2008 ( VS2005 ) 를 실행합니다.
우선 제대로 설치 되었는지 확인을 위하여 도구(T)->옵션(O)을 선택합니다.
설치가 제대로 되면 소스제어 가 Source Control로 변해있게 됩니다.
만약 원래인 소스제어를 원하시면
http://code.msdn.microsoft.com/KB957507/Release/ProjectReleases.aspx?ReleaseId=1854
VS90SP1-KB957507-KOR-x86.exe 를 다운받아 설치합니다.
( SP1 설치시 Intellisense가 영어로 나오는걸 다시 한글로 변경하는 겁니다. )
명령 설명
Commit : 변경된 파일을 서버에 적용합니다.
만약 서버의 해당 파일의 버전이 로컬의 해당 파일의 버전보다 높다면
적용되지 않습니다.
Update : 서버의 변경된 파일을 받습니다.
SourceSafe와는 달리 해당 파일을 모두 변경하는 것이 아닌
로컬과 비교하여 바뀐 부분만 Merge하게 됩니다.
Revert : 변경 이전으로 되돌립니다.
Branch Solution : 복사본을 만듭니다.
보통 Trunk에서 Branch로 복사본을 만듭니다.
개발 작업은 Branch에서 진행하고 배포 버전 관리를 Trunk에서 합니다.
Merge Solution : Branch와 Trunk를 Merge를 수행합니다.
왠만하면 잘 되는 것으로 알고 있습니다.
프로젝트 생성시 추가방법
소스제어를 선택하여 AnkhSVN을 선택합니다.
프로젝트 생성시 Add to Subversion을 선택하면 프로젝트를 만든 다음에 다음과 같은 화면이 나옵니다.
이곳의 Url에 SVN의 https주소를 적습니다.
( https://localhost:8443/svn/저장소이름 )
저장소이름까지 적어야 보입니다.
https의 경우 인증이 필요로 합니다. Accept 클릭
VisualSVN에서 추가한 User로 로그인합니다.
원하는 경우 Create Folder로 폴더를 새로 생성하고 진행합니다.
Add trunk Folder for Project를 선택하여 trunk로 생성합니다.
다시 한번 인증 합니다.
로그인까지 하고 나면 이제 등록하게 됩니다.
Log Message에 남길 기록을 작성한 뒤 OK를 누릅니다.
솔루션 탐색기에 + 표시가 되고 아래 창에 Pending Changes에 변화된 내역이 보입니다.
솔루션 위에서 우클릭하여 Commit Solution Changes를 선택하여 서버에 적용하도록 하겠습니다.
Log Message에 변경 사유등을 작성한 뒤 OK를 클릭합니다.
그러면 솔루션 탐색기의 + 표시가 V 표시로 변경된 것을 볼 수 있습니다.
이번엔 기존 프로젝트를 가져오도록 하겠습니다.
보기(V)->Repository Explorer 를 선택합니다.
현재 작업할 저장소를 선택합니다.
그 뒤 Repository Explorer 탭 이름 밑의 하트모양의 아이콘 ( Checkout ) 을 선택합니다.
해당 파일을 받을 곳을 지정하고 OK를 누르면 모든 내용을 가져오게 됩니다.
그 뒤엔 동일하게 작업하면 됩니다.
최초 실행하면 0 users and 0 groups 입니다.
우선 user를 만듭니다.
왼쪽 창의 Users를 선택합니다.
우측창에서 우클릭을 하여 새로운 User를 생성할 수 있습니다.
처음 설치하면 Users는 없습니다.
Create User 나 새로만들기 –> User 를 이용하여 새로운 User를 만듭니다.
이번엔 그룹을 만들도록 하겠습니다.
왼쪽창에 Groups를 선택합니다.
그룹 역시 처음엔 없습니다.
역시 같은 방법으로 Create Group을 선택합니다.
그룹명을 선택하고 그룹에 속할 Members(Groups, Users)를 Add버튼을 이용하여 추가합니다.
Add 버튼을 누르면 추가할 수 있는 Group과 User가 나타납니다.
원하는 Member를 선택합니다.
이제 왼쪽창의 Repositories를 선택하여 저장소를 추가합니다.
역시 처음에는 하나도 없습니다.
우클릭을 하여 Create New Repositoriy를 선택합니다.
저장소 이름을 적습니다.
Create default structure의 경우에는 기본적인 저장소 구분을 만들지 여부를 결정합니다.
trunk의 경우에는 안정화 된 배포버전을 보관하는 장소로 이용됩니다.
branches의 경우에는 trunk에서 개발을 위하여 임시 장소 격으로 사용되는 장소입니다.
tags의 경우는 임시 배포로 알고 있습니다.
우선은 생성 안하도록 하겠습니다.
생성한 Repository에서 우클릭 하여 Properties를 선택합니다.
최초엔 Everyone만 존재하며 Read / Write 옵션으로 되어 있습니다.
이 옵션을 No Access로 선택하여 정해진 사용자 외에는 접근을 금지합니다.
그리고 위에서 만든 User를 등록합니다.
(Everyone 의 경우에는 삭제가 되지 않습니다. 삭제를 누르면 기본 설정인 Read / Write로 돌아갑니다. )
기본 설정이 완료가 되었고 실제 확인을 해보도록 하겠습니다.
이제 왼쪽창의 VisualSVN Server를 선택하여 최초 화면으로 돌아갑니다.
보이는 URL로 접속을 하면 Internet Explorer로 접속되며 다음과 같은 화면이 나타납니다.
이곳에 좀전에 만든 User로 로그인을 합니다. ( 대소문자를 구분합니다. )
최초 접근시 확인되지 않은 인증서 사용이라고 나옵니다.
Internet Explorer 상단의 자물쇠를 클릭하여 사용 가능하도록 변경 하셔야 합니다.
그러면 다음과 같은 화면이 나옵니다.
( 이미 테스트를 다 하였기 때문에 해당 화면이 없습니다. )
위와 같이 생성한 Repositories가 나오면 설정 완료입니다.
우선 다운받은 프로그램을 실행합니다. ( 1.6.3 기준으로 설명합니다. )
Apache2.2.9, Subversion1.5.5 가 함께 설치 됩니다.
Next 클릭
License에 동의한 뒤 Next 클릭
Location: 기본 프로그램 설치 경로
Repositories: 저장소 설치 경로
Server Port: 웹 기본 사용 포트입니다.
Use secure connection: 보안된 접속으로 할지 여부입니다.
http://로 접속 하려면 체크 해지합니다.
Authentication: 인증방식을 결정합니다.
Next 클릭
Install 클릭
( 설치 완료 이전에 새로운 Repositories를 만든것인지
기존의 Repositories를 연결할 것인지 물어보는 곳이 있었는데
테스트 후 재 설치를 하여서 기존 정보를 그대로 이용된거 같습니다. )
이것으로 SVN 서버 설치가 완료 되었습니다.
Visual SVN - Server
http://www.visualsvn.com/server/
AnkhSVN – Client ( VS 2005, 2008 Plugin )
http://ankhsvn.open.collab.net/servlets/ProjectProcess?pageID=3794