Skip to content

Subversion #
Find similar titles

Structured data

About
Source code management
Date Published
Programming Language
C
URL

CVS를 대체하기 위해 설계된 소스코드 관리 프로그램

사용 팁 #

관리자측 사용법 #

서버측 저장소 만들기. (저장소는 프로젝트마다 하나씩)

# mkdir /home/svn
# cd /home/svn/
# svnadmin create sample
# chmod -R g+w sample

bdb를 기본으로 쓸 수 도 있다. 가끔씩 디비가 깨지는 경우가 생긴다. 이 경우, 복구하는 방법은

# svnadmin recover REPOSITORY_PATH

서버프로그램실행 (기본 3690포트)

# svnserve -d -r /home/svn/

각 저장소별 svnserve.conf 설정파일이 존재하며, 이 파일내에 접근 사용자를 정할 수 있다. 또한 Apache에 dav-svn으로 설정하여, 쓰는 방법이 있고, 이 경우에는 아파치설정에 의하며, 80포트를 그대로 이용한다는 장점이 있다.

사용자측 사용법 #

Properity #

SVN Properity 참고.

Keyword substitution 사용법.

$ svn propset svn:keywords "Id Rev" *.py

이렇게 하면, 소스코드내에 $Id$, $Rev$ 부분이 해당 버젼의 내용으로 치환된다.

Subversion에서는 원하지 않는 파일을 무시(ignore)하려면, cvs처럼 파일에 기록하는것이 아니라, property를 설정해 주어야 한다. 그 프로퍼티가 svn:ignore 이다. 일단 .cvsignore 처럼 무시할리스트를 만들어 준다. 그리고, 만일 그 파일이 .ignore라고 한다면,

$ svn propset svn:ignore -F .ignore .

이렇게 해준다. 그러면 svn이 무시하고, svn status에서도 ?를 보이며 나타나지 않는다. 다만 나중에 다른 파일을 또 무시하려 할때 전에 있던것도 다시 무시를 해주어야 한다. 즉, property가 누적되지 않는다는거.. 그래서 무시할 파일이 있어야 할 듯...

$ svn pe svn:ignore .
*.pyc

$ svn propedit svn:ignore . #Set up an ignores file in this directory
$ svn -R propset svn:ignore -F svnignores.txt . #Copy the svnignores.txt file into the svn:ignores information for this directory and all contained directories recursively

External link #

외부에서 관리되고 있는 Project 를 현재 svn 이 관리하고 있는 디렉토리 밑에 넣고 싶을 때는 다음과 같이 External link를 추가해줄 수 있다.

$ svn propedit svn:externals .

그런후에

[디렉토리명]            [svn project 주소]

를 하면 svn update 를 했을 때 자동으로 그 주소를 체크해서 받아오게 된다.

관련정보 #

Incoming Links #

Related Articles #

Related Codes #

Suggested Pages #

web biohackers.net
0.0.1_20140628_0