Differences between revisions 19 and 20
Revision 19 as of 2008-07-25 13:01:46
Size: 2860
Editor: 152
Comment:
Revision 20 as of 2008-08-05 09:28:36
Size: 2920
Editor: 152
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * [http://kldp.org/node/96718 SVN과 wdiff 함께 쓰기]

[CVS]대체를 위해 설계된 SourceCodeControlSystem

http://subversion.tigris.org/

관련정보

관리자측 사용법

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

# mkdir /home/svn
# cd /home/svn/
# svnadmin create sample
# chmod -R g+w sample
  • subversion 1.2 부터 fsfs 를 기본으로 합니다. bdb 에 문제가 많아서, fsfs 를 권장하는 분위기더라고요. --neosphere

neosphere님 이야기처럼 bdb 문제가 있다. 가끔씩 디비가 깨지는 경우가 생긴다. 이 경우, 복구하는 방법은

# svnadmin recover REPOSITORY_PATH

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

# svnserve -d -r /home/svn/

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

사용자측 사용법

Properity

[http://svnbook.red-bean.com/en/1.0/ch07s02.html 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

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

$ svn propedit svn:externals .

그런후에

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

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


CategoryProgram

Subversion (last edited 2015-04-22 10:19:26 by 166)

web biohackers.net