binary package → windows 환경에서
Win32Svn http://sourceforge.net/projects/win32svn/
VisualSVN http://www.visualsvn.com/downloads/
다운로드 받은후 설치
Win32Svn 경우 정상적으로 설치 하였을 경우
svn --version 으로 설치를 확인
svn, 버젼 1.7.4 (r1295709)
Mar 5 2012, 09:29:21에 컴파일 됨
Copyright (C) 2012 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
저장소(repository) 접근 모듈(RA) 목록:
* ra_neon : Neon을 이용하여 WebDAV 프로토콜을 통해 저장소에 접근하는 모듈- 'http' 스키마를 처리합니다.
- 'https' 스키마를 처리합니다.
* ra_svn : svn 네트워크 프로토콜을 사용하여 저장소에 접근하는 모듈
- Cyrus SASL 인증 이용
- 'svn' 스키마를 처리합니다.
* ra_local : 로컬 디스크에 있는 저장소를 접근하기 위한 모듈
- 'file' 스키마를 처리합니다.
* ra_serf : serf를 이용하여 WebDAV 프로토콜을 통해 저장소에 접근하는 모듈
- 'http' 스키마를 처리합니다.
- 'https' 스키마를 처리합니다.
C:\Documents and Settings\Administrator.SCN12A01000301>
1. SVN 저장소 만들기
D:\>cd SvnRoot
D:\SvnRoot>svnadmin create --fs-type fsfs "D:\SvnRoot\프로젝트명"
D:\Svnroot>
2. conf파일 수정
만들어진 저장소 폴더안의 conf폴더의 파일들을 수정한다.
환경설정
svnserve.conf 의 아래 주석을 다 해제한다.
anon-access = read -- 익명사용자 접근권한 ( none , read , write )
auth-access = write -- 인증사용자 접근권한 ( none , read , write ) 사용자권한이 폴더접근권한보다 우선시 적용
password-db = passwd -- 계정/비밀번호 파일
authz-db = authz -- 폴더 접근권한 설정 파일
realm = My First Repository -- 저장소 이름
passwd
[users] 하위로 계정 = 비밀번호 형식으로 추가한다
authz
[group] 하위에 그룹명 = 계정,계정, ... 형식으로 그룹을 지정한다.
경로설정 예시
[/] 루트
[/abc] 루트하위 abc폴더
[프로젝트명:/abc] 저장소이름과 함께 사용한 예
폴더 권한 설정 예
@member = r member 그룹에 대해 읽기 권한 설정
abc=rw abc 계정에 대해 읽기/쓰기 권한 설정
enemy= enemy 계정에게 접근권한 해제
3. 기동
D:\>svnserve -d -r "D:\SvnRoot"
cmd 창이 떠있는 상태로 서버기동이 되었다 해당 cmd창을 닫으면 꺼진다.
기동 확인을 위해 cmd 창을 하나 더 띄우고 체크아웃을 해본다.
체크아웃된 리비전 0.
로그메시지를 남겨야만 커밋 가능하게 설정
SVN의 해당 저장소의 /hooks/에 pre-commit.bat이란 파일을 넣어준다.
::
:: Stop commit that have empty log messages.
::setlocal
set "REPOS=%~1"
set "TXN=%~2"
set "SVNLOOK=c:\progra~1\subversion\bin\svnlook.exe"
:: Make sure that the log message contains some text.
for /f "tokens=*" %%i in ('%SVNLOOK% log -t "%TXN%" "%REPOS%"') do set "LOGMSG=%%i"
if not "%LOGMSG%"=="" exit 0
echo. 1>&2
echo Your commit has been blocked because you didn't give any log message! 1>&2
echo Please write a log message describing the purpose of your changes and 1>&2
echo then try committing again -- thank you 1>&2
exit 1
백업(dump) 및 복구
dump
1. cmd창을 실행
2. 백업하고자하는 저장소의 상위 디렉토리로 이동
3. "svnadmin dump 저장소이름 > 백업파일이름" 로 덤프생성
restore
1. cmd창 실행
2. 저장소 생성
3. 복구하고자 하는 저장소의 상위디렉토리로 이동
4. "svnadmin load 저장소이름 < 백업파일이름" 로 복구
-- 계정정보 및 폴더접근권한 설정파일은 따로 복구
'project' 카테고리의 다른 글
SI 프로젝트에서 JOB분류 명칭 (0) | 2012.10.25 |
---|---|
Samsung network Result code (0) | 2011.12.28 |
표준, 시스템 엔지니어링, 상호운용성, ITA (0) | 2011.12.21 |