'저장소'에 해당되는 글 3건

  1. 2010.07.17 Flash Player 설정 관리자
  2. 2009.07.10 서브버전(Subversion 1.2.2)의 개략적인 소개와 사용법
  3. 2009.07.10 CVSNT 2.5.03 설치 및 설정(Eclipse 포함) 가이드 (1)
2010.07.17 10:52

Flash Player 설정 관리자

설정 관리자

- 전역 개인 정보 설정 패널
- 전역 저장소 설정 패널
- 전역 보안 설정 패널
- 전역 알림 설정 패널
- 웹 사이트 개인 정보 설정 패널
- 웹 사이트 저장소 설정 패널
- 보호된 내용 재생 설정 패널
- 피어 지원 네트워킹 패널

목차

  • Flash Player 도움말
  • 디스플레이 설정
  • 개인 정보 설정
  • 로컬 저장소 설정
  • 마이크 설정
  • 카메라 설정
  • 로컬 저장소 팝업 질문
  • 개인 정보 보호에 대한 팝업 질문
  • 보안 팝업 질문
  • 피어 지원 네트워킹에 대한 팝업 질문
  • Adobe Flash Player 업데이트 정보

Trackback 0 Comment 0
2009.07.10 17:29

서브버전(Subversion 1.2.2)의 개략적인 소개와 사용법

서브버전(Subversion)의 개략적인 소개와 사용법에 대해서 정리한다.

소개

서브버전의 기본적인 개요는 What is Subversion?(번역본: Subversion을 이용한 버전 컨트롤: Part 1. 소개)를 참고하도록 한다. 또한 오라일리의 온라인 출판물인 Online Versions of the Book를 참고하여 서브버전의 자세한 내용을 참고할 수 있다. 여기서는 간략하게 기술한다.

서브버전(Subversion)은 CVS를 대체하기 위해 만들어진 자유 소프트웨어 버전 관리(제어) 시스템이다. 명령행 인터페이스에서는 사용하는 명령어를 따서 svn이라고 줄여서 부르기도 한다. 서브버전은 버전 지정으로 변경되는 이름, 디렉토리 및 메타데이터 그리고 원자적 커밋1)(atomic commit) 및 HTTP/HTTPS를 통한 원격 액세스와 같이 CVS에서 제공하지 않은 여러 가지 중요한 기능을 지원한다. 또한 CVS에 비해 효율적인 브랜치(branch), 태그(tag)의 작성으로 응답시간이 많이 향상되었다.

반가운 것은 서브버전의 사용법이 CVS와 매유 유사2)하므로 CVS를 사용해봤다면 쉽게 접근할 수 있다는 것이다.

CVS와 상대적으로 좋아진 기능

  • 원자적 커밋(여러 파일을 커밋 중 하나라도 실패하면 전체를 롤백).
  • 이진 파일을 보다 효율적으로 컨트롤(space-efficient binary-diff storage 사용).
  • 소스 저장소의 크기에 상관없이 일정한 시간안에 branching이나 tagging.
  • 파일 이름 변경, 이동, 삭제해도 revision history를 유지.
  • 디렉토리도 버전 관리 가능(디렉토리 전체를 빠르게 옮기거나 복사할 수 있으며, revision history도 그대로 유지).
  • HTTP 기반 프로토콜.
  • 양방향 데이터 전송으로 네트워크 소통량 최소화.
  • 트리별, 파일별 접근 제어 리스트(ACL).
  • 저장소 및 프로젝트별 환경 설정 가능.
  • 커밋 통지 메일 스크립트를 기본으로 제공.

서브버전의 아키텍처

서브버전의 주요 컴포넌트 요소

  • svn: 명령줄 클라이언트 프로그램.
  • svnversion: 작업 사본의 상태를 보기 위한 프로그램.
  • svnlook: Subversion의 저장소를 조회하기 위한 도구.
  • svnadmin: Subversion의 저장소를 만들거나 수정, 복구하기 위한 프로그램.
  • svndumpfilter: Subversion 저장소 덤프파일 포맷 스트림을 필터링하기 위한 프로그램.
  • mod_dav_svn: 아파치 HTTP 서버를 위한 플러그인 모듈. 네트워크에서 리파지터리를 다른 사람들도 사용할 수 있게 해준다.
  • svnserve: 독립실행 서버 프로그램으로 데몬 프로세스로 실행하거나 SSH에 의해 호출되는 형태로 이용가능하다. 리파지터리를 네트워크상의 다른 사람들이 이용할 수 있게 해준다.

Subversion 설치

Window에 Subversion 설치

Subversion Packages에서 대상 시스템에 따라 적절한 패키지를 다운로드 할 수 있다. 글을 작성하고 있는 현재 시점의 Subversion 최신 버전은 1.4.4이다. 여기서는 윈도우(Windows NT, 2000, XP and 2003) 기반의 IIS를 전제로 하여 설치할 것이므로 Windows binaries를 다운로드 하도록 한다(Apache를 사용할 경우 Win32 packages built against Apache 2.2를 다운로드 한다. 단, Apache 2.2.4 이상이 필요하다).

별 의미는 없지만 설치 과정 전체를 편집하여 붙여본다(좌→우, 위→아래 순). ;-)

 

환경 설정

환경 변수
  • installer를 사용하지 않고 zip 파일로 설치한 경우라면 시스템 path에 %programfiles%\subversion\bin\, 경로를 추가할 필요가 있다.
  • 시스템 환경 변수에 SVN_EDITOR를 추가한다. 값은 C:\windows\notepad.exe 등이 될 수 있다.
Windows Service Support for svnserve

Subversion 1.4 이후 버전 부터 Windows Service로 사용 가능하다. 1.4 이전 버전이라면 하단에 설명할 유용한 도구가 필요할 수 있다.

svnserve can now be run as a native Windows service. This means that the
service can be started at system boot, or at any other time, without the
need for any wrapper code to start the service.

서비스를 생성하기 위해서는 SC.EXE를 사용하면 된다.

 sc create <name>
    binpath= "c:\svn\bin\svnserve.exe --service <svn-args>"
    displayname= "Subversion Repository"
    depend= Tcpip

예를 들면 다음과 같이 사용할 수 있다(자세한 설명은 이것을 참고한다).

sc create svn.local 
   binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service --root D:\svnrepo" 
   displayname= "Subversion Repository" 
   depend= Tcpip 
프로토콜

다음 프로토콜 중 하나를 사용하도록 Subversion 서버를 구성할 수 있다.

  • svn프로토콜은 독립 실행형 Subversion 서버(svnserve)에서 사용하는 상태 유지형 경량 프로토콜이며 안전한 버전인 이 svn+ssh는 ssh기반 터널링을 사용한다.
  • http프로토콜은 WebDAV확장에 기반을 두고 있으며 주로 Apache HTTP 서버에 모듈로 배포된다. 이 안전한 버전은 https를 사용하며 dev2dev CodeShare에서 Subclipse를 설치할 때 사용하는 프로토콜이다.
  • 파일 프로토콜은 로컬로 제공되는 Subversion 리포지토리(예: 공유 드라이브상의 레포지토리 등)에 액세스하는 데 사용되며 가장 비효율적인 방법이라 할 수 있다.

유용한 도구

SVN1-Click Setup

제목 그대로 SVN을 한번 클릭하여 설치할 수 있는 프로그램이다. SVN1-Click Setup에서 다운로드 받을 수 있으며, 프로그램을 실행하면 Subversion을 설치하고 저장소 및 사용자 설정, 윈도우즈 서비스 등록, TortoiseSVN 까지 한번에 설치할 수 있다. 현재 이글을 쓰는 시점의 최신 버전은 1.4.2(이 버전에 포함된 Subversion 및 TortoiseSVN는 가장 최신 버전은 아님을 참고)이다.

SVNSERVER Manager

Windows용 Subversion의 svnserve.exe 매니져이다. svnserve.exe는 Subversion의 svn:/ / 프로토콜 서버로 SVNSERVER Manager를 사용하여 svnserve.exe를 편리하게 사용할 수 있도록 도와준다. SVNSERVE Manager는 여기에서 다운로드 할 수 있다.

SVN Service Wrapper for Windows

SVN Service Wrapper for Windows은 서브버전을 Win32 서비스로 관리할 수 있게 해준다. SVN Manager는 윈도우 세션 로그인을 해야지만, Subversion을 자동으로 띄워줄 수 있다. 반면 Subversion을 Win32 서비스로 등록해 놓으면 세션 로그인 여부와 상관없이 자동으로 실행된다. SVN Service Wrapper for Windows는 여기에서 다운로드 할 수 있다.

SVNService

SVN Service Wrapper for Windows와 마찬가지로 SVNService를 사용하여 서브버전을 Win32 서비스로 등록할 수 있다. 다음 사이트를 참고한다.

Client 설치

서브버전 클라이언트를 통해 보다 쉬운 방법으로 버전 관리 대상을 Checkout 할 수 있다. 단, 프로젝트의 Subversion 저장소에 본인의 작업 내용을 반영하고 싶다면, 반드시 프로젝트의 참여자로써 “쓰기” 권한을 가지고 있어야 한다.

서브버전 클라이언트는 기본적인 서브버전 명령줄 클라이언트(svn)외에 TortoiseSVN, RapidSVN, <oXygen/> SVN Client 등이 있다. 그리고 이클립스 플러그인 모듈로는 Subclipse, RadRails, Subversive 등이 있다. WebSVN은 웹을 통한 쉬운 서브버전 뷰를 제공한다. WebSVN의 최신 버전은 여기에서 다운로드 할 수 있다. 참고로 이외의 웹 클라이언트로는 ViewCVS, ViewSVN, SubView 등이 있다.

코드를 공유하기 위해서 명령줄 SVN 클라이언트와 Tortiose SVN for Windows를 설치하는 방법에 대해서도 간단히 설명하겠지만, IDE에서 바로 서브버전 저장소와 연동하도록 하는 것도 좋은 방법이다. :!:

Subclipse 설치

Eclipse IDE 내에서 서브버전, 버전 제어 시스템과 상호 작용할 수 있도록 Subclipse를 설치, 구성 및 사용하는 방법에 대해 설명한다. Subclipse 플러그인을 사용하여 Eclipse 플랫폼에 대한 오픈 소스 확장을 통해 개발자 생산성을 높이고 실수의 여지를 없애며 개발 팀 내의 의사소통을 향상시킬 수 있다.

설치는 Installation Instructions을 참고하였다. 이 글을 쓰는 시점에서 Subclipse의 최신 버전은 1.2.2이다(Eclipse 3.2 버전에서는 이 버전을 사용하여야 한다). 또한 설명에 붙인 그림의 경우 Eclipse 한글 언어팩을 설치한 화면임을 덧붙인다.

  • Eclipse 도움말(Help) 메뉴 아이템에서 Eclipse Update Manager 다이얼로그를 열어 설치를 시작한다.

 

  • 설치할 새 기능에 대해 검색을 선택하고 다음 버튼을 클릭한다.

 

  • 새 원격 사이트 버튼을 클릭한다.

 

 

  • 방문할 갱신 사이트 다이얼로그에서 방금 등록한 Subclipse를 선택한 후 완료를 클릭한다.

 

  • 갱신 사항 다이얼로그가 팝업되면, Subclipse 1.2.2를 선택하고 다음 버튼을 클릭한다.

 

  • 라이선스에 동의한다.

 

  • 설치 위치를 선택한 후 완료 버튼을 클릭한다.

 

  • subclipse가 다운로드 된다.

 

  • 기능 검증 다이얼로그에서 경고를 무시하고 설치 또는 모두 설치 버튼을 클릭한다.

 

  • 변경 사항을 적용하기 위해 eclipse를 다시 시작한다.

 

  • 이제 eclipse를 재시작하면 Subclipse Repository perspective를 로드할 수 있다.

 

  • 또한 창 → 보기 표시 → 기타(Window → Show View → Other) 메뉴를 통해 SVN Repository 뷰를 Quick Views에 추가할 수 있다.

 

  • 창 → 환경 설정 → 팀 → SVN 다이얼로그(Window → Preferences → Team → SVN dialog)에서 플러그인 속성을 변경할 수 있다.

 

  • SVN Interface
    • JavaHL: JavaHL은 고유 Subclipse API를 둘러싼 씬 래퍼(thin wrapper)이며 기본적으로 사용 가능하도록 설정되어 있다. 이 어댑터는 Win32 플랫폼용으로 사전에 구축되었지만 그 외의 경우에는 (Unix 배포에 포함되지 않는 한) 수동으로 구축해야 한다.
    • SVNKit: JavaSVN은 전적으로 Java에 기반을 둔 유일한 Subclipse 클라이언트이다. 이 어댑터는 file:/ / / 프로토콜은 지원하지 않는다.

TortoiseSVN 설치

TortoiseSVN은 윈도우 탐색를 확장한 도구이다. 일반적인 바탕화면을 포함한 윈도우 탐색기에서 오른쪽 버튼 클릭을 통해 호출되는 메뉴로 이용할 수 있다.

TortoiseSVN은 현재 시점 가장 최신 버전은 1.4.4이다. 이것은 여기에서 다운로드 받을 수 있다. 또한 언어팩을 설치할 수 있는데, 한국어는 여기에서 다운로드 받으면 된다. 설치는 다이얼로그를 따라 지시하는데로 따라가면 되는데 주의할 것은 설치 후 시스템을 재시작해야 변경 사항이 반영된다(사실, 책임질 순 없지만 재시작하지 않아도 사용 가능하다 ;-)).

아래 그림들은 간단한 예제를 위해 DasBlog에서 호스팅되는 프로젝트를 체크아웃 하는 과정을 보여준다(DasBlog를 광고하는 것은 아니며, 최근 작업 내역이라 가장 먼저 떠올랐을 뿐이다 8-)). 참고로 닷넷의 경우 SVN_ASP_DOT_NET_HACK이 필요하다.

set SVN_ASP_DOT_NET_HACK=1
  • 새 폴더를 생성한 후 컨텍스트 메뉴의 “SVN Checkout” 선택

 

 

  • 대상 파일들을 다운로드 받는다.

 

  • 다운로드 후, Subversion과 관련한 주요 액션 표시되는 것을 컨텍스트 메뉴에서 확인 할 수 있다.

 

WebSVN 설치

사용

선행 작업

  • 상위 기술한 Subversion 설치를 참고하여 서버브전을 설치한다.
  • 상위 기술한 Subclipse 설치를 참고하여 Subclipse를 설치한다.
  • 상위 기술한 TortoiseSVN 설치를 참고하여 TortoiseSVN를 설치한다.

저장소 생성

1. command prompt를 열고 다음과 같이 타이핑한다.

svnadmin create "d:\svnrepo"

다음과 같은 디렉토리 구조 및 관련 파일이 자동으로 생성된다.

 

2. 생성한 디렉토리로 이동한 후 /conf/svnserve.conf 파일에서 해당 라인의 주석을 해제하여 다음 라인과 같이 편집한다.

[general]
anon-access = read
auth-access = write
password-db = passwd

3. /conf/passwd 파일에서 해당 라인의 주석을 해제하여 다음 라인과 같이 편집한다.

[users]
bookcity = 1234
kyungseo = qwer

검증

1. command prompt에 다음과 같이 타이핑 하여 서브버전 서버를 시작한다.

svnserve --daemon --root "d:\svnrepo"

또는 설치본이 서브버전 1.4 이후 버전이라면, 상위 기술한 바와 같이 윈도우 서비스로 시작한다(주의 아래 코드는 한 라인으로 입력해야 한다 :!:).

sc create svn.local 
   binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service --root D:\svnrepo" 
   displayname= "Subversion Repository" 
   depend= Tcpip 

 

 

반면 서브버전 1.4 이전 버전인 경우, 상위 기술한 SVNService를 사용하여 서비스로 등록할 수 있다. 다운로드 받은 SVNService.exeSubversion/bin 디렉토리로 카피한 후 다음과 같이 서비스를 설치한다.

svnservice -install --daemon --root "D:\svnrepo"
sc config svnservice start= auto
net start svnservice

2. 또 다른 command prompt를 열고 프로젝트를 생성한다(윈도우 서비스를 생성하여 Subversion 서버를 시작한 경우라면 동일한 커맨트 프롬프트를 사용해도 상관없다).

svn mkdir svn://localhost/bookcity

3. 이때, 자동으로 메모장이 실행되는데 여기에 원하는 코멘트를 달고 저장 후 종료하도록 한다.

 

4. 자격 증명을 묻는 프롬프트가 뜨게된다. 아래 화면의 경우 Administrator에 대한 자격 증명을 묻는 프롬프트이다. 비밀번호를 입력한다. 그리고 이전 단계에서 작성한 사용자로 로그인한다.

 

여기까지 진행했다면, 이제 서브버전에 프로젝트가 생성된 것이다! ;-) 저장소의 전체 파일 목록을 조회해본다.

svn ls svn://localhost/

 

TortoiseSVN 사용 예제

1. 새로운 디렉토리를 생성한 후 컨텍스트 메뉴에서 SVN Checkout을 선택한다.

 

2. 저장소 URL로 svn:/ /localhost/bookcity를 입력한다.

 

3. 체크아웃 진행

 

4. 테스트를 위한 파일을 신규 작성한 후 컨텍스트 메뉴에서 Add를 선택한다.

 

5. 여러 파일인 경우 선택적으로 Add할 수 있다.

 

6. Add 확인창

 

7. 아직 저장소에 추가된 것이 아니다. 최종적으로 커밋해주어야 한다. 컨텍스트 메뉴의 SVN Commit을 선택한다.

 

Subclipse 사용 예제

아래 사항들은 간단한 테스트 후 실제 동작 여부를 확인한 후 정리하였다. 이클립스에 Subclipse 플러그인을 사용하는 예제에 대해서는 충분한 사용을 거쳐 추후 다시 업데이트 하겠다.

1. SVN Repository 뷰를 퀵뷰(Quick Views)에 추가한다.

2. SVN 다이얼로그에서 현재 서브버전에 적합한 어댑터를 선택한다.

3. SVN Repository 뷰에서 Add SVN Repository 버튼을 클릭(또는 컨텍스트 메뉴의 new → repository location)하여 새로운 저장소를 추가한다. Url은 svn:/ /kyungseo/bookcity으로 설정한다.

4. eclipse에 로드된 프로젝트를 저장소에 추가하기 위해서 컨텍스트 메뉴 중 팀 하위의 프로젝트 공유(Share Project)를 선택하면 된다.

이후 프로젝트가 SVN 리포지토리에 연결되면 패키지 탐색기(Package Explorer) 및 Navigator 뷰의 Team 팝업 메뉴에 서브버전과 관련한 모든 액션 표시된다. 이것을 통해 동기화를 수행하고 변경 사항을 반영하는 등의 기본 작업을 수행할 수 있다. 또한 서브버전에서 프로젝트와의 연결을 끊거나 재설정할 수도 있다.

참고 링크

1) 커밋은 저장소에 대해서 완전하게 실행되든지 전혀 실행되지 않든지 둘 중 하나 이다. 이 때문에 개발자는 논리적인 한 묶음을 만들어 커밋할 수가 있다.
2) 서브버전 개발자들은 대부분 CVS의 개발자들이라고 한다.


출처 : http://kyungseo.pe.kr/wiki/

Trackback 0 Comment 0
2009.07.10 17:02

CVSNT 2.5.03 설치 및 설정(Eclipse 포함) 가이드

1. CVSNT : http://www.march-hare.com/cvspro/#downcvsnt

다운로드 후 CVS 서버 설치

2. TortoiseCVS : http://sourceforge.net/projects/tortoisecvs/

다운로드 후 CVS 클라이언트 설치

Protocol 에서 Locally mounted folder (:local:) 선택하여 등록하면 CVS 서버 없이도 사용 가능


이 문서는 윈도우에 CVS(Concurrent Version System)를 설치 하고 설정하는 과정에 대한 가이드로서,

  • 이전(2004년 5월 11일)에 작성했던 CVSNT 2.0.41a의 설치 가이드를 현재 시점(2007년 9월)의 최신 버전인 CVSNT 2.5.03.2382에 맞게 재 편집한 것이다.
  • CVS 사용자 매뉴얼이 아니라 프로그램 설치와 몇가지 설정에 대한 가이드를 제시한다. CVS의 사용법에 대한 것은 The CVSNT Manual(command reference)를 참고하라.
  • 주로 CVSNT Installation Tips 페이지를 참고하여 작성되었다.

CVSNT 2.5.03 설치

CVSNT의 설치 대상은 Windows XP Pro이다. Windows 2003의 경우 이 가이드와 유사할 것이다. 참고로 XP Home은 보안상의 이유로 CVSNT의 설치 대상에서 제외하는 것이 권장된다.

CVSNT Server 설치

CVSNT Server 설치 준비

로그인

설치 전 반드시 administrator로 로그인 하도록 한다.

로컬 디스크(local disk) 사용

repository 파일들의 저장 위치를 네트웍 드라이브를 지정해서는 안된다.

파일 시스템 형식

NTFS 파일 시스템을 사용할 것을 강력히 권장한다.

폴더 옵션

“모든 사용자에게 동일한 폴더 공유 권한을 지정(권장)”의 체크를 해제하도록 한다. 이것은 Windows 95, 98과의 호환성을 유지하기 위한 옵션이다.

 

“모든 폴더에 적용” 버튼을 클릭한다.

CVSNT 다운로드

가장 최신의 CVSNT 설치본을 다운로드 한다. 2007년 09월 현재 안정 버전은 2.5.03.2382이다.

CVS 디렉토리 생성

CVS가 어떤 파일 시스템에 설치되는지는 중요하지 않다. 단, repository 파일이 위치하는 곳은 NTFS여야한다. 디렉토리 이름에 공백을 넣지 않도록 한다.

아래의 경로와 같은 디렉토리를 생성한다. 이후의 설명은 다음 디렉토리 구성을 전제로 한다.

c:\cvsrepos
c:\cvsrepos\cvstemp
디렉토리 보안과 권한
  • c:\cvsrepos\cvstemp 디렉토리의 보안 세팅에서 SYSTEM을 포함하는 모든 계정에 모든 컨트롤(권한)을 허가한다.
  • cvstemp 디렉토리로 c:\WINNT\Temp 혹은 “C:\Documents and Settings” 하위의 어떤 디렉토리라도 지정해서는 안된다. Win2000과 Win-XP의 경우 이들 디렉토리는 사용자 접근을 제한하기 때문이다.

CVSNT 설치

Welcome

 

License Agreement

 

Choose Setup Type

 

Ready to Install

 

Installing

 

Completing

 

Installer Information

 

NT/Win2000/XP에서 CVSNT를 설치 후 반드시 rebooting하도록 한다. 리부팅하지 않고 repository를 생성하려 하면 “Repository initialization failed”라는 error가 발생할 것이다. 단, CVSNT 업그레이드 과정이라면 리부팅할 필요가 없다.

CVSNT server와 repository 설정

CVSNT Control Panel configuration

애플릿 실행

제어판을 열어 애플릿을 실행한다.

 

서비스 중지

애플릿의 “About” 탭에서 CVS Service가 실행 중이라면 정지하도록 한다.

 

저장소 생성

“Repository configuration” 탭으로 이동한다. 참고로 테스트 서버의 이름은 “kyungseo”이다.

 

저장소 추가를 위해 Add 버튼을 클릭한다. 아래와 같은 화면이 팝업된다.

 

폴더 브라우저를 띄우고 저장소의 루트가 될 폴더를 선택하거나 새 폴더를 생성한다(폴더 경로에는 가급적 공백을 포함하지 않도록 한다).

 

Name은 기본값(폴더 경로)을 사용하지 말고 아래와 같이 입력하도록 한다.

 

“예” 버튼을 눌러 저장소를 초기화한다.

 

저장소 목록에 추가된다.

 

서버 설정

“Server Settings” 탭으로 이동한다. 대부분 기본값을 그대로 사용하는데, 도메인의 경우 서버 컴퓨터의 이름으로 설정한다. temporary directory의 경우 폴더 브라우저를 열어 이전 단계에서 생성한 “c:\cvsrepos\cvstemp” 디렉토리를 선택한다.

 

호환성 옵션

“Compatibility Options” 탭으로 이동한다. 기본값을 그대로 사용한다.

 

플러그인

“Plugins” 탭에서는 추가적인 확장 기능과 연결 프로토콜을 정의한다. Configure 버튼을 클릭하면 선택된 항목의 설정을 변경할 수 있다.

 

고급 설정

마지막으로 “Advanced” 탭에서는 고급 설정을 변경할 수 있다.

 

적용

“적용” 버튼을 반드시 누르도록 한다. 그리고 첫번째 탭(About)으로 이동하여 서비스를 시작하도록 한다.

CVS 사용자 추가 및 관리

CVS server에 pserver나 sserver 프로토콜을 사용하려 할 때 필요한 단계이다.

CVS 사용자 계정 추가

서버 상에 두개의 실제 계정(시스템 계정)을 생성하도록 한다. 이 계정들은 CVS 사용자들의 작업 계정이 된다.

  • cvsadmin : CVS 관리자 계정
  • cvsuser : CVS 일반 사용자 계정

 

CVS 사용자 추가

커맨드 창을 열고 다음과 같이 입력하여 CVS 사용자를 추가할 수 있다. <text> 부분은 실제 환경에 맞게 변경하도록 한다.

set cvsroot=:sspi:<computername>:/TEST
cvs passwd -a <account name>

주의 할 것은 이렇게 입력할 경우 사용자는 반드시 로컬 시스템에 존재하는 NT User여야 한다는 것이다.

아래와 같이 계정 이름에 공백이 포함되는 경우에는 쌍따옴표로 싸주도록 한다.

 

패스워드 입력 프롬프트에 두번 입력하면 CVSROOT/passwd 파일이 생긴다.

 

참고로 아래와 같은 명령으로 domain users를 추가할 수 있다.

cvs passwd -r <real accountname> -D <domain name> -a <cvs login name>
별칭을 사용한 CVS 사용자와 실제 계정의 매핑

수많은 CVS 사용자를 위해 그만큼의 시스템 계정을 모두 생성할 필요는 없다. 대신, 아래와 같은 명령으로 실제 시스템 계정에 대한 별칭을 생성할 수 있다.

cvs passwd -r <real accountname> -a <cvs login name>

계정에 공백이 포함되어 있다면 쌍따옴표로 감싸도록 한다.

cvs passwd -r "system admin" -a "new user"

 

여기까지 진행한 후 passwd 파일을 열어보면 다음과 같다.

 

어드민 사용자 권한

시스템 인증 설정과 별개로 CVS Admin을 설정하려면 CVSROOT/admin 파일을 만들고 CVS 어드민 권한을 부여하려는 사용자를 라인으로 구분하여 등록한다. 이 파일은 다음과 같은 형태가 될 것이다.

kyungseo
chanwoo
testaccount 

Test

PSERVER

새로운 명령 창을 열고 아래와 같이 입력한다. <text>는 실제 환경에 맞게 수정해야한다.

set cvsroot=:pserver:<user>@<computername>:/TEST

그리고 다음과 같이 입력한다(“cvs login”에서 패스워드 입력 프롬프트가 뜬다).

cvs login
cvs ls -l -R

Test/CVSROOT의 파일 목록이 표신된다(아래 그림의 경우 아직 추가한 파일이 없어 목록에 아무것도 나타나지 않고 있다).

 

SSERVER

(내용 업데이트 예정)

Remote

다른 컴퓨터에서 CVS 서버로 원격 접속할 경우에도 상위 기술한 PSERVER, SSERVER의 과정과 동일하다.

단, 로그인이 실패할 경우 CVS 서버의 방화벽 설정을 편집해야 할 수도 있다. 제어판에서 “Windows 방화벽” 애플릿을 실행하고 예외 탭으로 이동 후, 포트 추가 버튼을 클릭한다.

CVSNT, 2401 포트(TCP)를 예외항목으로 추가한다.

 

방화벽 설정

 

CVS Server가 Windows 2003 Server인 경우의 방화벽 설정

 

Tip

CVS 구버전의 제어판 애플릿

CVS 구버전에서 제어판을 열고 “CVS for NT” 애플릿을 여는 과정에서 문제가 있다면 CVSNT 웹사이트에서 'runtimes' download로부터 다음 파일들을 받아 C:\WINNT\System32에 카피한다.

mfc70.dll
mfc70u.dll
msvcp70.dll
msvcr70.dll
msvci70.dll

저장소 백업

저장소를 백업하기 위해서는 명령 창을 열고 아래와 같이 입력한다.

net stop cvs 
xcopy c:\cvsrepos \\server\cvsbackup /Q /S /C /H /R /O /Y 
net start cvs 

기타

디렉토리 삭제

디렉토리를 반드시 삭제하고 싶다면 저장소에서 rmdir을 사용하여 삭제하도록 한다.

module 생성
cvs import -m "initial import into CVS" myproj jrandom start
cvs 명령 옵션

-Pd 옵션

  • P: 삭제된 디렉토리는 삭제한다.
  • d: 새로운 디렉토리는 추가
ex) cvs update -Pd 

-kb, -ko 옵션

binary

-z3 옵션

데이터를 압축하여 전송하면 소스 파일이 큰 경우에 업데이트나 체크아웃 시간을 단축시킬 수 있다.

CVS Client

TortoiseCVS와 CVS-Gui(구 WinCvs)를 많이 사용한다. 각 Client 프로그램의 설치 및 사용법은 직관적으로 어렵지 않다.

여기서는 링크만을 제공하며 자세한 내용은 차후에 추가할 예정이다.

TortoiseCVS

http://www.tortoisecvs.org/

CVS-Gui(WinCvs)

http://www.wincvs.org/

ViewCvs

http://www.viewvc.org/

CS-CVS

http://www.componentsoftware.com/products/cvs/index.htm

Eclipse에서 CVS 사용

Eclipse에서 CVS를 사용하기 위한 간략한 가이드이다. 자세한 것은 Working in the team environment with CVS을 참고한다.

참고로 Eclipse의 최신 버전은 이곳 또는 여기에서 다운로드 할 수 있다. Eclipse Language Pack을 설치하면 한글화 된 도움말을 볼 수 있다.

 

CVS 저장소 추가

Window > Open Perspective > Other…를 선택한다.

 

CVS Repository Exploring을 선택하고 OK 버튼을 클릭한다.

 

아래와 같이 CVS Repository Exploring 퍼스펙티브가 열린다.

 

CVS Repository Exploring에서 컨텍스트 메뉴를 띄우고 New > Repository Location…을 선택한다.

 

그림과 같이 입력하여 CVS 저장소를 추가한다. Repository Path에 유의하도록 한다. Save Password에 체크하면 비밀번호를 기억한다.

 

저장소가 추가된 모습이다.

 

초기 작업

저장소에 기본 리소스 추가

기본 소스가 있다면 최초로 저장소에 추가하는 작업을 진행한다.

Package Explorer에서 CVS 저장소에 추가하기 위한 프로젝트를 선택한 후 컨텍스트 메뉴의 Team > Share Project…를 선택한다.

 

저장소 유형으로 CVS를 선택한다. 저장소 플러그인으로 CVS만 있다면 이 화면은 생략될 수 있다.

 

프로젝트를 공유하기 위한 저장소로 이전 단계에서 등록한 CVS 저장소를 선택한다.

 

모듈 이름을 설정한다.

 

Finish 버튼을 클릭한다.

 

Commit 창이 팝업된다. 적절한 Comment를 입력한다.

 

리소스 커밋 작업이 진행된다.

 

작업이 종료된 후의 Pagkage Explorer 모습이다. Icon이 달라졌다.

 

이제, 컨텍스트 메뉴를 통해 팀 작업을 수행할 수 있다.

 

저장소로부터 프로젝트 생성

CVS Repositories에서 저장소를 펼치면 등록된 프로젝트를 HEAD에서 확인할 수 있다. 해당 프로젝트의 컨텍스트 메뉴에서 Check Out As…를 선택한다.

 

Finish 버튼을 클릭하면 저장소로 부터 리소스를 다운로드하여 프로젝트를 생성한다.

 

간략한 CVS 사용법

여기서는 CVS와 관련한 메뉴 정도만 설명하도록 한다. 자세한 내용은 위에 기술한 Eclipse Language Pack을 설치하여 한글화된 도움말을 보는 것을 권장한다.

용어 정의

용어 설명
Repository CVS 서버에서 소스를 모아둔 파일 시스템
Checkout CVS 저장소에서 모듈을 가져옴
Commit CVS Repository에 변경사항을 반영
Update CVS Repository에 저장된 내용과 Local에 저장된 내용을 비교하여, 변경된 내용을 Local로 가져옴
Revision 개별 파일마다 부여된 일련번호로, Commit 할때마다 자동 증가함 ( 1.1 부터 시작 )
Version 여러 Revision을 가진 파일들의 묶음에 부여한 일련번호
Tag 파일이나 파일들의 집합에 대한 대표 이름
Branch 하나의 모듈을 여러 버전으로 나누는 것. 모듈을 루트로 하여 각각의 버전들을 트리 형태로 관리
Head Main Branch
Synchronize Repository와 Local PC의 파일과 비교하여 Update 수행

메뉴

Workbench의 컨텍스트 메뉴에 나타나는 CVS 관련 메뉴에 대해서 알아본다.

 

Team

Team 메뉴의 하위 메뉴는 다음과 같다.

 

메뉴 항목 설명
Synchronize with Repository 저장소의 내용과 Local에 저장된 파일 내용과의 비교
Commit Eclipse에서 작업한 최신 변경 분을 CVS 저장소에 반영.
Update CVS 저장소의 파일과 Local에 저장된 파일과 비교하여 변경사항을 Local 에 반영
Create Patch Source 상의 주요 변경사항을 개발자에게 배포하기 위한 변경분에 대한 Patch 파일 생성
Apply Patch Patch 파일에 대한 반영
Tag as Version 여러 Revision들의 묶음을 하나의 Tag로 관리
Branch 각 모듈에 대한 Branch 생성
Merge
Switch to Another Branch or Version
Show Annotation
Show History CVS 의 각 Resource의 Revision History 출력
Add to Version Control
Add to .cvsignore
Change ASCII/Binary Property
Restore from Repository 삭제된 파일등을 저장소로부터 복구
Revert to Base
Show Editors 각 파일에 대한 Editor들을 출력
Unedit
Edit
Compare With

Compare With 메뉴의 하위 메뉴는 다음과 같다.

 

메뉴 항목 설명
Latest from HEAD 현재 파일을 Repository의 최신파일과 비교
Another Branch or Version 특정 Head, Branch 또는 Tag를 가진 파일들과 비교
Each Other
History 해당 파일의 Revision 내역
Replace With

Replace With 메뉴의 하위 메뉴는 다음과 같다.

 

메뉴 항목 설명
Latest from HEAD 현재 파일을 저장소의 최신파일로 교체
Another Branch or Version 최신 모듈이 아닌 다른 Branch 또는 Version과 모듈 교체
History Revision 비교
Previous from Local History Local History내의 이전 파일과의 교체
Delete

로컬 환경에서 파일을 삭제한다.

 

삭제된 파일을 포함하고 있던 디렉토리의 컨텍스트 메뉴에서 Team > Synchronize with Repository를 선택하여 Commit하면 된다.

Links

 

출처 : http://kyungseo.pe.kr/wiki/


Trackback 0 Comment 1
  1. park 2014.12.03 14:27 address edit & del reply

    베리 굳굳!!!!!!