Differences between revisions 16 and 24 (spanning 8 versions)
Revision 16 as of 2006-07-31 14:37:18
Size: 2359
Editor: 203
Comment:
Revision 24 as of 2015-04-22 10:19:26
Size: 120
Editor: 166
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[CVS]대체를 위해 설계된 SourceCodeControlSystem [[CVS]]대체를 위해 설계된 SourceCodeControlSystem
Line 3: Line 3:
http://subversion.tigris.org/

관련정보
 * http://wiki.kldp.org/wiki.php/Subversion-HOWTO
 * [http://www.onlamp.com/pub/a/onlamp/2004/08/19/subversiontips.html The Top Ten Subversion Tips for CVS Users] ([http://network.hanbitbook.co.kr/view.php?bi_id=988 번역])

== 관리자측 사용법 ==

서버측 저장소 만들기. (저장소는 프로젝트마다 하나씩)
{{{
# mkdir /home/svn
# cd /home/svn/
# svnadmin create --fs-type bdb 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
}}}
http://e.biohackers.net/Subversion

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

web biohackers.net