메뉴 건너뛰기

조회 수 5882 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

Subversion 설치#

지금부터 Subversion을 설치하는 방법을 알아보고, Subversion의 기본 사용 방법에 대해 설명할 것입니다. 윈도우에서는 명령행 도구보다 GUI 도구를 많이 이용하므로 명령행 도구 사용법과 GUI 도구인 TortoiseSVN 사용법을 동시에 설명하겠습니다.

윈도우용 Subversion과 TortoiseSVN은 설치 파일 형태로 배포되고 있어서, 설치에는 별 어려움이 없습니다. 이 장에서는 일반적으로 Subversion을 사용하기 위한 설치 방법을 설명할 것입니다. 뒤에서는 아파치를 사용하는 저장소 서버를 구축하기 위한 설치 방법을 설명하겠습니다.

Subversion 다운로드#

이 책에서는 svn-1.4.6-setup.exe를 사용하겠습니다. Subversion의 공식 웹사이트는 http://subversion.tigris.org입니다. 윈도우용 Subversion은 아래 URL에서 받을 수 있습니다.

ZIP 파일로 배포되는 것을 사용하고자 할 경우 Subversion이 설치된 디렉터리를 환경변수의 Path에 넣어주어야 합니다. 설치 파일로 설치하면 자동으로 환경변수의 Path에 Subversion이 설치된 경로를 넣어줍니다.

TIP
Subversion 클라이언트 프로그램은 Apache 2.0용과 Apache 2.2용이 있습니다. Apache 2.2를 사용하여 Subversion 서버를 구축하려면 Apache 2.2용 Subversion을 사용해야 합니다. 하지만 이 장에서는 Subversion의 기본적인 사용법을 알아볼 것이기 때문에 Apache 2.0, 2.2 어떤 것을 사용하여도 상관 없습니다. 주의할 점은 Apache 2.0과 2.2용 설치 파일의 이름이 똑같기 때문에 구분하기가 쉽지 않다는 것입니다. 따라서 다운로드 하는 페이지를 다시 한번 확인해 볼 필요가 있습니다. 아래 화면은 Apache 2.2용 Subversion 설치 파일을 받는 곳입니다.
  • http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=8100


그림 2-1 Apache 2.2용 Subversion 다운로드 페이지

Subversion 설치#

  1. Subversion 실행 파일을 다운로드하여 실행시키면 인스톨할 것인지 묻는 Setup 대화상자가 나타납니다. 예(Y)를 눌러 설치를 시작합니다.


    그림 2-2 Subversion 설치 시작

  2. Subversion 설치마법사가 나타나서 다시 한번 설치할 것인지 물으면, Next를 눌러 다음으로 넘어갑니다.


    그림 2-3 Apache 2.2용 Subversion 설치 마법사

  3. 다음 그림에서 Subversion에 대한 간단한 설명이 나옵니다. Next를 눌러서 설치를 계속합니다.


    그림 2-4 Subversion에 대한 간단한 설명

  4. [그림 2-5]는 Subversion을 어디에 설치할 것인지 디렉터리를 지정하는 화면입니다. 적당하게 디렉터리를 지정하면 되는데 여기서는 기본 설정대로 Program Files 디렉터리 아래에 설치합니다.


    그림 2-5 Subversion이 설치될 디렉터리 지정

  5. 시작 메뉴에 Subversion을 등록할 것인지를 설정하는 화면입니다. 화면 아래쪽에 있는 Don’t create a Start Menu folder의 체크박스를 선택하면 시작메뉴에 등록되지 않습니다.


    그림 2-6 Subversion의 시작 메뉴 등록 설정

  6. [그림 2-7]은 Subversion 아이콘 설정에 관한 내용입니다. Desktop icons: 아래에 있는 첫 번째 체크박스에 체크를 하면 바탕 화면에 Subversion 메뉴얼 문서의 바로 가기를 만듭니다. 그리고 Quick Launch icons: 아래에 있는 두 번째 체크박스에 체크를 하면 Subversion 메뉴얼 문서의 바로 가기를 빠른 실행 아이콘으로 등록하게 됩니다.


    그림 2-7 Subversion 문서의 아이콘 설정

  7. 이제 설치에 필요한 준비가 모두 끝났습니다. Install 버튼을 눌러 설치를 시작합니다.


    그림 2-8 Subversion 설치 준비 화면

  8. Install 버튼을 누르면 파일 복사 화면이 나타나서 진행과정을 보여줍니다.


    그림 2-9 Subversion 파일 복사 화면

  9. 파일 복사가 끝나면 윈도우98에 설치했을 때 APR_ICONV_PATH를 설정하는 방법을 알려줍니다. 한 번 읽어보고 Next를 누릅니다.


    그림 2-10 윈도우98에 설치했을 때 APR_ICONV_PATH를 설정하는 방법

  10. [그림 2-11]과 같은 대화상자가 나타나면 설치가 성공적으로 완료된 것입니다. Finish 버튼을 눌러 설치를 종료합니다.


    그림 2-11 Subversion 설치 완료

TortoiseSVN 설치#

CVS에는 TortoiseCVS라는 유명한 GUI 클라이언트가 있습니다. Subversion에도 TortoiseCVS와 똑같은 방식의 TortoiseSVN(일명 거북이 SVN)이라는 프로그램이 있습니다. 이 TortoiseSVN은 윈도우의 쉘(explorer.exe) 확장 프로그램으로서 탐색기의 팝업 메뉴에서 Subversion 작업을 할 수 있습니다.

여러 해 개발을 거듭하면서 TortoiseSVN은 TortoiseCVS 보다 더 완성도 높은 프로그램이 되었으며, 다양한 언어와 x64 플랫폼을 지원합니다. TortoiseSVN의 공식 웹사이트는 http://tortoisesvn.net입니다. 설치 파일은 아래 URL에서 받을 수 있습니다.

  • http://tortoisesvn.net/downloads

TortoiseSVN를 설치하면 기본적으로 메뉴의 언어가 영어입니다. 한글 메뉴를 사용하려면 한국어 언어팩을 받습니다. 이 책에서는 TortoiseSVN은 TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi, 언어팩은 LanguagePack-1.4.8.12137-win32-ko.exe을 사용하도록 하겠습니다. 이 설치 파일들은 부록 CD에도 포함되어 있습니다.

  1. 설치 파일을 다운로드하여 실행시키면 설치할 파일의 버전이 표시된 화면이 나타나면서 설치가 시작됩니다. Next를 누릅니다.


    그림 2-12 TortoiseSVN 설치 마법사

  2. 라이센스 동의화면이 나타나면 I accept the terms in the License Agreement를 선택하고 Next를 누릅니다.


    그림 2-13 라이센스 동의 화면

  3. 추가 아이콘과 영문(미국, 영국) 사전을 선택적으로 설치 할 수 있고, TortoiseSVN의 설치 경로를 지정할 수 있습니다. 이 사전들은 커밋 로그 메시지를 작성할 때나 오타 여부를 알려줄 때 사용됩니다. 물론 영어 단어만 해당됩니다. 설치 경로는 특별한 이유가 없으면 기본 설정대로 설치합니다.


    그림 2-14 아이콘 및 사전 선택, TortoiseSVN 설치 경로 설정 화면

  4. Install을 누르면 설치가 시작됩니다. 만일 인스톨할 내용을 변경하고 싶으면 Back 버튼을 눌러 이전화면에서 설정 내용을 바꿔줍니다.


    그림 2-15 TortoiseSVN 설치 준비 화면


    그림 2-16 TortoiseSVN 파일 복사 화면

  5. 버전이 다시 한번 표시되고 설치가 완료되었음을 알려줍니다. Finish를 눌러 설치를 끝냅니다.


    그림 2-17 TortoiseSVN 설치 완료

  6. 설치가 끝나면 다시 부팅하라는 메시지가 나타납니다. TortoiseSVN은 쉘(explorer.exe) 확장 프로그램이기 때문에 재부팅하지 않으면 오버레이 아이콘이 정상적으로 표시되지 않을 수도 있습니다. 재부팅을 하지 않고 사용하려면 작업 관리자에서 explorer.exe를 종료한 뒤 다시 실행하면 됩니다.


    그림 2-18 재부팅 경고 화면

TortoiseSVN 언어팩 설치하기#

  1. 이제 언어팩을 설치할 것입니다. LanguagePack-1.4.8.12137-win32-ko.exe 파일을 실행시킵니다.


    그림 2-19 TortoiseSVN 언어팩 설치 시작 화면

  2. 언어팩 파일 복사 화면이 나타납니다.


    그림 2-20 TortoiseSVN 언어팩 파일 복사 화면

  3. TortoiseSVN 언어팩 설치가 완료되었습니다. 마침을 눌러 설치를 종료합니다.


    그림 2-21 TortoiseSVN 언어팩 설치 완료

TortoiseSVN 언어팩 사용하기#

  1. 바탕 화면에서 마우스 오른쪽 버튼을 클릭하여 팝업 메뉴를 실행하고 TortoiseSVN→Settings를 선택합니다.


    그림 2-22 TortoiseSVN 설정 실행하기

  2. TortoiseSVN Settings 대화상자가 나타나면 Language에서 한국어를 선택하고 확인 버튼을 누르면 한글 메뉴를 사용할 수 있습니다.


    그림 2-23 TortoiseSVN 한국어 설정

저장소 만들기#

예제로 사용할 저장소를 만들어보겠습니다. 저장소는 현재 사용하고 있는 컴퓨터의 C:\Repos 디렉터리 아래에 만들도록 하겠습니다. 일반적으로 회사에서 개발을 하게 되면 중앙 서버에 설치되어 있는 저장소를 사용할 것입니다. 하지만 이번 예제는 회사에 중앙 서버가 구축 되어 있지 않거나, 개인적으로 소스 관리를 할 일이 있을 때 활용하면 됩니다.

저장소 만들기#

C:\Repos 디렉터리에 프로젝트의 저장소를 바로 생성해서는 안됩니다. C:\Repos 디렉터리는 각 저장소의 부모 디렉터리입니다. 그렇기 때문에 C:\Repos아래에 각 프로젝트의 디렉터리를 만들고 저장소를 만드는 것입니다. 앞으로 Subversion과 관련된 유틸리티를 사용할 때 설정상 이 부모 디렉터리의 경로가 자주 사용됩니다.

시작 → 모든 프로그램 → 보조 프로그램 → 명령 프롬프트를 실행하고 아래와 같이 입력하여 저장소를 생성합니다.

C:\>mkdir C:\Repos
C:\>cd C:\Repos
C:\Repos>svnadmin create sample

TortoiseSVN에서는 다음과 같이 실행합니다.

C:\Repos 아래에 sample 디렉터리를 만들고 TortoiseSVN → 현재 위치에 저장소 생성(Y)…을 선택합니다.


그림 2-24 저장소 생성 방법

현재 위치에 저장소 생성(Y)를 선택하면 저장소 형식을 지정하는 화면이 나옵니다. 고유의 파일시시스템(Native FS, FSFS)와 버클리 데이터베이스(B) (BDB)를 선택할 수 있습니다. Subversion이 처음 나왔을 당시에는 BDB 방식 밖에 지원하지 않았습니다. BDB 방식이 안정성에 문제가 있어 FSFS 방식이 추가 되었습니다. 요즘은 FSFS 방식을 대부분 사용합니다. 이번 예제에서는 FSFS 방식을 사용하도록 하겠습니다. 확인을 누르면 저장소가 생성됩니다.


그림 2-25 저장소 형식 선택 화면

그림 2-26 저장소 생성 완료

저장소가 정상적으로 생성되었습니다. 저장소가 생성되면 버전 관리를 위한 기본 구조가 생성됩니다.


그림 2-27 sample 저장소가 성공적으로 생성된 화면

저장소 설정#

각 프로젝트 저장소에는 conf 디렉터리가 있습니다. 그 안에는 svnserve.conf, passwd, authz 파일이 들어 있습니다.

  • svnserve.conf : svnserve를 사용하여 저장소 서버를 구성할 때 사용합니다. 이 파일을 설정해 주지 않으면 svnserve를 통하여 저장소에 접근 할 수 없습니다.
  • passwd : svnserve에서 사용하는 사용자 ID와 암호 설정 파일입니다. 암호는 암호화되지 않은 텍스트로 바로 저장됩니다. 이 파일은 저장소 컴퓨터에 접근 할 수 있는 사람만 볼 수 있기 때문에 암호화되지 않더라도 큰 문제는 없습니다. 이미 암호 설정 파일을 볼 정도로 서버에 접근했다 하는 것은 저장소를 모두 가져갈 수 있는 위치에 와 있다는 것입니다. 암호를 암호화 되지 않은 텍스트로 저장하고 싶지 않은 경우에는 Apache와 연동해야 합니다.
  • authz : svnserve와 Apache에서 사용하는 파일, 디렉터리별 접근 권한 설정 파일입니다. 특정 파일, 디렉터리에 대해 각 사용자에게 읽기, 쓰기 권한을 지정할 수 있습니다. 사용자를 그룹화 하여 지정할 수도 있습니다.


그림 2-28 sample 저장소의 설정 파일

svnserve.conf의 내용에 대해 알아보겠습니다.

svnserve.conf

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory.  If you don't specify an authz-db, no path-based access
### control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
# realm = My First Repository

general 항목의 anon-access는 로그인 여부에 관계 없이 접근 방식을 설정하는 부분입니다. write는 쓰기 허용, read는 읽기 허용, none는 읽기/쓰기를 모두 금지합니다. auth-access는 로그인 한 사용자에게 한해 접근 방식을 설정하는 부분입니다. 마찬가지로 write는 쓰기 허용, read는 읽기 허용 none는 읽기/쓰기를 모두 금지합니다. password-db의 passwd 파일은 사용자 ID와 암호를 설정하는 파일입니다.

기본적으로는 각 저장소의 passwd 파일을 사용하며, 다른 파일을 지정할 수 있습니다. svnserve를 사용하려면 anon-access, auth-access, passwd-db 부분이 설정되어 있어야 합니다. 파일, 디렉터리별 접근 권한을 지정하고 싶은 경우 authz-db를 설정합니다. 기본적으로 각 저장소의 authz 파일을 사용하며, 다른 파일을 지정할 수 있습니다. realm은 저장소 이름을 지정하는 부분입니다. authz-db와 realm 부분을 설정하지 않아도 svnserve를 사용할 수 있습니다.

설정 항목권한설명
anon-accessnone로그인 하지 않은 사용자에게 읽기, 쓰기 금지
 read로그인 하지 않은 사용자에게 읽기만 허용
 write로그인 하지 않은 사용자에게 읽기, 쓰기 허용
auth-accessnone로그인 한 사용자에게 읽기, 쓰기 금지
 read로그인 한 사용자에게 읽기만 허용
 write로그인 한 사용자에게 읽기, 쓰기 허용

표 2-1 svnserve.conf 파일에서 권한 설정 방법

이번 예제에서 만든 sample 저장소는 앞으로 Subversion 기본 사용법을 익힐 때 계속 사용할 것입니다. 따라서 svnserve.conf 파일을 다음과 같이 설정합니다.

C:\Repos\sample\conf\svnserve.conf

anon-access = none
auth-access = write

password-db = passwd

authz-db = authz

다음은 passwd 파일의 내용에 대해서 알아 보겠습니다.

passwd

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret

users 항목에 사용자를 설정합니다. 설정하는 방식은 ‘사용자ID = 암호’와 같습니다. 사용자는 한 줄에 한 명씩 설정하며, 여러 명을 설정할 수 있습니다.

마찬가지로 이번 예제에서 만든 sample 저장소는 앞으로 계속 사용할 것이므로 passwd 파일을 아래와 같이 사용자ID는 sampleuser, 암호는 abcd1234로 설정합니다.

C:\Repos\sample\conf\passwd

[users]
sampleuser = abcd1234
TIP
실제로 암호를 abcd1234 처럼 간단하게 지정하지는 마세요. 간단한 암호는 보안상 위험하므로 주의해야 합니다.

이번에는 권한 설정 파일인 authz 파일에 대해서 알아보겠습니다.

authz

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a
### single user, to a group of users defined in a special [groups]
### section, or to anyone using the '*' wildcard.  Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

위의 내용은 저장소를 생성할 때의 기본 authz 파일의 내용입니다. [groups]에서 여러 사용자를 그룹으로 지정할 수 있습니다. [/foo/bar] 처럼 경로를 지정하고 그 아래에 접근 권한을 설정합니다. 각 사용자 ID에 대해 r은 읽기만 허용, rw는 읽기 쓰기 허용, = 뒤에 아무것도 설정하지 않으면 읽기/쓰기 모두 금지입니다. *는 모든 사용자에 대한 권한을 설정하는 것입니다. 그룹에 대해 지정하려면 그룹명 앞에 @을 붙입니다.

여러 저장소가 이 authz 파일을 공통으로 사용할 경우 [repository:/baz/fuz] 처럼 경로에 저장소를 지정해주어야 합니다. 디렉터리뿐만 아니라 [/trunk/readme.txt] 처럼 파일도 지정해 줄 수 있습니다.

경로설명
[/foo/bar]foo아래 bar 디렉터리에 대한 경로 설정
[/trunk:/readme.txt]trunk 디렉터리 아래에 readme.txt 파일에 대한 경로 설정
[sample:/trunk]sample 저장소의 trunk 디렉터리에 대한 경로 설정
[sample:/branches/hello.c]sample 저장소의 trunk 디렉터리 아래에 hello.c 파일에 대한 경로 설정

표 2-2 authz 파일에서 저장소별 경로 설정 방법

설명사용자 및 그룹
사용자 harry
모든 사용자*
그룹 @harry_and_sally

표 2-3 authz 파일에서 사용자 및 그룹 설정 방법

권한설명
rw해당 사용자, 그룹에 대해 읽기, 쓰기 허용
r해당 사용자, 그룹에 대해 읽기만 허용
공백해당 사용자, 그룹에 대해 읽기, 쓰기 금지

표 2-4 authz 파일에서 권한 설정 방법

이번 예제에서는 authz 파일을 아래와 같이 설정합니다. [/] 모든 경로에 대해 sampleuser는 읽기, 쓰기를 가능하도록 설정합니다.

C:\Repos\sample\conf\authz

[/]
sampleuser = rw
TIP
svnserve.conf에서 'authz-db = authz'만 설정하고 실제 authz 파일에서 권한 설정을 해주지 않았다면 커밋, 체크아웃할 때 '인증 실패' 오류가 발생하게 됩니다. 따라서 경로, 사용자별로 권한 설정을 할 필요가 없을 때에는 svnserve.conf에서 'authz-db = authz'를 설정하지 않아야 합니다. 'authz-db = authz'로 설정했다면 꼭 authz 파일에서 경로, 사용자별로 권한 설정을 해주어야 합니다.

Subversion 서버 사용하기#

Subversion은 서버로 실행되는 프로그램입니다. 서버로 실행하는 방법에는 일반모드와 서비스 모드 두 가지가 있습니다.

svn:// 프로토콜 서버인 svnserve를 사용하는 방법을 설명하도록 하겠습니다. svnserve는 명령행 도구입니다. 시작 → 실행 → cmd.exe를 입력하여 윈도우의 명령 프롬프트를 실행하고 svnserve –help를 입력하면 옵션들의 도움말을 볼 수 있습니다.

  • -d [–daemon] : 데몬 모드입니다. svnserve는 일반 모드와 서비스 모드로 실행할 수 있는데, -d는 일반 모드로 실행하는 옵션입니다.
  • –listen-port : 기본 포트 3690이외의 포트를 사용하고자 할 때 설정합니다.
  • –listen-host : 컴퓨터에 IP가 여러 개 일 때 하나의 IP를 지정하여 사용하고자 할 때 설정합니다.
  • -r [–root] : 저장소들이 모여있는 부모 디렉터리나 개별 저장소의 경로를 지정합니다. 이번 예제에서는 부모 디렉터리를 C:\Repos로 만들었습니다. 이 부분을 C:\Repos\sample 처럼 하나의 프로젝트 저장소로 지정할 경우 sample 저장소만 사용할 수 있습니다. C:\Repos로 지정하면 이 부모 디렉터리 아래에 있는 모든 프로젝트를 사용할 수 있습니다.
  • –service : 서비스 모드로 실행할 때 사용합니다. 이 옵션은 서비스를 따로 등록해주어야 사용할 수 있습니다.

일반 모드로 사용하기#

일반 모드로 실행하는 방법은 Subversion 서버를 수동으로 실행하는 것입니다. 명령 프롬프트에서 다음 명령으로 Subversion 서버를 일반 모드로 실행합니다.

svnserve.exe -d -r C:\Repos
svnserve.exe -d -r C:\Repos --listen-port 7777

-d는 Subversion 서버를 일반 모드(Daemon)로 실행하는 것이며, -r은 저장소 위치를 지정합니다. 여기서는 저장소 위치를 C:\Repos로 지정했습니다.

Subversion 서버의 기본 포트인 3690과 충돌이 발생하거나 보안상의 이유로 외부 노출을 피하고 싶다면 –listen-port 옵션으로 포트 번호를 변경할 수 있습니다. 다음은 포트 번호를 7777로 변경한 예입니다.

svnserve.exe -d -r C:\Repos --listen-port 7777

서비스 모드로 사용하기#

서비스 모드는 일반 모드와는 달리 윈도우 서비스로 등록해서 Subversion 서버를 실ㄹ행하는 방법입니다. 서비스 등록을 통해 Subversion 서버의 자동 시작 여부를 지정하고, 실행할 수 있습니다.

서비스 모드 등록은 윈도우 관리 명령인 sc 명령을 이용합니다. Subversion을 서비스 모드로 등록하는 명령은 다음과 같습니다.

sc \\experience create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r C:\Repos" DisplayName= "Subversion svnserve"

\experience는 현재 필자의 컴퓨터 이름입니다. 독자는 자신의 컴퓨터 이름으로 바꿔주어야 합니다. create는 윈도우 서비스를 생성하는 명령입니다. binpath는 서비스로 등록할 프로그램을 지정합니다. 여기서는 svnserve.exe –service -r C:\Repos를 지정합니다. svnserve.exe의 옵션인 –service는 서비스 모드로 서버를 실행할 것을 지정하고, -r C:\Repos는 저장소 위치를 지정합니다.

서비스 모드를 등록할 때도 필요하면 포트를 변경할 수 있습니다. 다음은 포트 번호를 7777번으로 서비스를 등록하는 명령입니다.

sc \\experience create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r C:\Repos --listen-port 7777" DisplayName= "Subversion svnserve"
TIP
자신의 컴퓨터 이름은 '시스템 등록정보 → 컴퓨터 이름'에서 '전체 컴퓨터 이름:'에서 확인하거나 명령 프롬프트에서 echo %COMPUTERNAME% 명령으로 확인할 수 있습니다.
binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r C:\Repos" 부분에서 = 다음에 공백 한 칸이 꼭 있어야 합니다. 이 부분이 붙어 있으면 sc 명령이 실행되지 않습니다.


그림 2-29 자신의 컴퓨터 이름 알아오기, sc 명령으로 서비스 등록

관리 도구의 서비스에서 Subversion service를 시작하거나 종료 할 수 있고, 명령 프롬프트 창에서 net start svnserve, net stop svnserve로도 시작, 종료 할 수 있습니다.


그림 2-30 관리 도구 → 서비스

서비스 → Subversion serve → 속성 → 일반에서 시작 유형을 ‘자동’으로 설정해주어야 재부팅 후에도 svnserve 서비스가 자동으로 실행됩니다.


그림 2-31 Subversion svnserve 서비스를 자동 실행하도록 설정

이런 방법으로 svnserve를 실행하면 svn://(IP 주소)/(개별 저장소 이름) 형태 URL로 저장소에 접근할 수 있습니다. 이번 예제에서는 자신의 컴퓨터에 저장소가 있고 sample이라는 프로젝트를 만들었기 때문에 svn://127.0.0.1/sample 또는 svn://localhost/sample로 접근할 수 있습니다.

TIP
svnserve 서비스를 삭제하려면 시작 → 실행에서 아래 명령을 실행합니다.
sc \\experience delete svnserve

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved