SubversionQuickStart

Clunix Wiki
(버전 사이의 차이)
(기타사항 추가)
 
(사용자 2명의 중간의 편집 3개 숨겨짐)
1번째 줄: 1번째 줄:
= Subversion Quick Start =
 
 
 
== Subversion 관련 S/W 설치 ==
 
== Subversion 관련 S/W 설치 ==
 
* Linux 환경
 
* Linux 환경
24번째 줄: 22번째 줄:
 
       - save private key 버튼을 통하여 putty 용 private key를 생성
 
       - save private key 버튼을 통하여 putty 용 private key를 생성
  
== Repository ==
+
== 클루닉스 Repository 정보 ==
* xeon(192.168.12.93)의 /home/cvs/repos아래의 아래와 같은 개발 패키지 모듈이 존재(현재)
+
* [[Subversion Repository 목록]]
** ECMCore
+
* [[Subversion Repository 구성]]
** ECMmodules
+
** EMS
+
** EnClusterHA
+
** MCS
+
* CVS와 달리 각 모듈별로 별도의 Repository이며, 현재 5개의 repository가 존재
+
* Authorization
+
** 3개의 그룹으로 나누어 권한 단계를 설정
+
*** devusers: 일반 권한으로 release관련한 정보를 제외하고는 모두 Read/Write
+
*** devtemp: 모두 Read only
+
*** devmasters: 모두 Read/Write
+
** /home/cvs/repos/authz: 권한관련 정보로서 모든 repository가 공유
+
** 그룹별 소속 사용자(현재)
+
*** devusers: nozino, zames, jwpark, shlee
+
*** devtemp: 없음
+
*** devmasters: cezanne, joon626, rfast76
+
* 각 Repository는 3개의 디렉토리인 /trunk, /branches, /release로 구성
+
** /trunk: 개발 중인 revison이 진행
+
** /branches: 별도 기능 혹은 실험적인 테스트가 분기되어 revision이 진행
+
** /release: /trunk로부터 복사된 revision으로서 package release 용
+
  
 
== Check Out ==
 
== Check Out ==
* Linux 환경
+
Linux 환경에서 repository로 부터 working copy를 얻어내기 위해 다음 과정을 수행한다.
  svn co svn+ssh://svn/home/cvs/repos/ECMCore/trunk ECM
+
 
** svn+ssh 프로토콜
+
  svn co svn+ssh://svn/home/cvs/repos/GC2/trunk GC2
*** host이름은 svn으로서 192.168.12.1 nameserver에 xeon이 svn으로 등록되어 있음
+
 
*** Path가 ECMCore/trunk임을 유념
+
* host이름은 svn으로서 192.168.12.1 nameserver에 repo(192.168.12.10)가 svn으로 등록되어 있음
*** 마지막 인자는 local working 디렉토리 이름
+
* svn+ssh 프로토콜을 사용함. svn 서버에 접근 가능한 계정이 필요함
* Windows 환경 (ToroiseSVN)
+
* checkout하는 저장소 경로가 GC2/trunk임을 유념
** 탐색기의 오른쪽 버튼을 이용하여 SVN Checkout 메뉴를 이용
+
* 마지막 인자는 local working 디렉토리 이름
** Repository URL과 Working Folder를 지정후 Checkout
+
 
 +
Windows 환경은 (TortoiseSVN 기준)
 +
* 탐색기의 오른쪽 버튼을 이용하여 SVN Checkout 메뉴를 이용
 +
* Repository URL과 Working Folder를 지정후 Checkout
 +
 
 +
== 고급 기능 ==
 +
=== 원본 복원 ===
 +
Working Copy에서 수정된 파일을 Checkout된 시점의 내용으로 복원하고자 하는 경우
 +
 
 +
svn revert
 +
 
 +
=== 이전 revision으로 복원 ===
 +
특정 revision으로 복원하고자 하는 경우에는 reverse merge를 한다
 +
 
 +
svn merge -r HEAD:390
  
 
== 기타 사항 ==
 
== 기타 사항 ==
 
* SSH의 특정 포트를 사용하여 접근하고자 한다면 SVN_SSH 환경변수를 설정하거나 홈디렉토리의 .subversion/config의 [tunnels]의 ssh를 설정하면 된다.
 
* SSH의 특정 포트를 사용하여 접근하고자 한다면 SVN_SSH 환경변수를 설정하거나 홈디렉토리의 .subversion/config의 [tunnels]의 ssh를 설정하면 된다.

2013년 2월 7일 (목) 10:26 현재 판

목차

Subversion 관련 S/W 설치

  • Linux 환경
    • subversion RPM 패키지를 설치
    • 기본적으로 OS를 설치하면 대부분 설치되어 있음
    • emacs frontend로는 psvn이 있음
      • ~/.emacs 파일에 다음과 같이 해당 모듈을 자동으로 로딩하도록 등록 (require 'psvn)
      • emacs 수행후 Alt+X + svn-examine으로 구동
  • Windows 환경
    • TortoiseSVN 패키지 설치
    • \\192.168.12.98\data2\tortoiseSVN
    • 한글 언어팩도 함께 있음
    • TortoiseSVN은 탐색기와 연동되어 있는 형태로서 탐색기의 오른쪽 버튼을 이용한 메뉴에 Tortoise 관련 메뉴가 생성됨
    • SVN+SSH 프로토콜을 사용하므로 설정 메뉴에서 SSH 클라이언트 설정을 아래와 같이 변경
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -i C:\mykey.ppk

* mykey.ppk는 puttygen을 통하여 putty용 private key를 생성한 파일
* Subversion 서버는 xeon(192.168.12.93)이며, OpenSSH 기반의 ssh를 지원
    - xeon에 접속가능한 OpenSSH의 private key를 Putty용 private key로 변환이 필요
    - \\192.168.12.98\data2\putty\puttygen.exe 를 이용
      - 수행후 Conversions 메뉴에서 import key를 통하여 OpenSSH private key를 열기
      - save private key 버튼을 통하여 putty 용 private key를 생성

클루닉스 Repository 정보

Check Out

Linux 환경에서 repository로 부터 working copy를 얻어내기 위해 다음 과정을 수행한다.

svn co svn+ssh://svn/home/cvs/repos/GC2/trunk GC2
  • host이름은 svn으로서 192.168.12.1 nameserver에 repo(192.168.12.10)가 svn으로 등록되어 있음
  • svn+ssh 프로토콜을 사용함. svn 서버에 접근 가능한 계정이 필요함
  • checkout하는 저장소 경로가 GC2/trunk임을 유념
  • 마지막 인자는 local working 디렉토리 이름

Windows 환경은 (TortoiseSVN 기준)

  • 탐색기의 오른쪽 버튼을 이용하여 SVN Checkout 메뉴를 이용
  • Repository URL과 Working Folder를 지정후 Checkout

고급 기능

원본 복원

Working Copy에서 수정된 파일을 Checkout된 시점의 내용으로 복원하고자 하는 경우

svn revert

이전 revision으로 복원

특정 revision으로 복원하고자 하는 경우에는 reverse merge를 한다

svn merge -r HEAD:390

기타 사항

  • SSH의 특정 포트를 사용하여 접근하고자 한다면 SVN_SSH 환경변수를 설정하거나 홈디렉토리의 .subversion/config의 [tunnels]의 ssh를 설정하면 된다.
부서별 위키