SVN은 리파지터리(repository, 이하 저장소) 별로 revision이 올라간다.
다르게 말하자면, 저장소 하나별로 프로젝트를 구성하는게
roll-back 이나, 관리에 유용하다는 점이다.
물론 SVN은 개인적으로 단일 프로젝트에만 사용했지,
단일 - 복합 프로젝트에는 사용해보지 못해서 이것이 정답이다! 라고 하긴 힘들지만
CVS에 비해서 저장소 관리에 모호함이 있다.
CVS는 파일별로 revision이 붙는데,
SVN은 commit 별로 revision이 증가한다.
다르게 말하면 SVN은 하나를 커밋하는 행위가
CVS에서 커밋 후 tag를 붙이는것과 동일한 행위가 된다.
이런 이유로, 하나의 프로젝트에 사용되는 소스 저장용 / 개발환경 저장용 저장소 구성에 있어
약간의 차이점이 생길수 밖에 없다.
일단 /home/cvs 에 구성했다고 할경우
cvs 아래에 여러가지 소스를 디렉토리 별로 구성을 할 수 있다.
물론 atomic commit이라던가, tagging은 문제가 있겠지만,
한번에 모든 저장소를 볼수 있기 때문에 사용상에 상당한 잇점으로 작용한다.
그에비해 svn을 하나의 저장소 아래 여러개 프로젝트로 할 경우,
어떻게 보면 svn을 쓰는 의미가 없어질 정도가 된다.
예를들어 linux kernel / uboot source / nfs target / MTD target을 구성할 경우
CVS는 Filesystem을 CVS에 넣고 각각 디렉토리로 구성해도 상관없지만(파일별로 하니까)
SVN에 이런식으로 구성을 하면, 하나의 커밋 별로 revision이 증가하는건 아무런 의미가 없게된다.
아무튼
/home/svn/프로젝트 1
/home/svn/프로젝트 2
/home/svn/프로젝트 3
이런식으로 구성을 하고,
svnserve -d -r /home/svn
으로 한다음, 개별 프로젝트로 이름을 알아내서 쓰는게 (불편하지만) 낫지 않을까하는 생각이 든다.
혹시.. 웹에서 cvsweb 처럼 보여주는 게 있을려나?
[링크 : http://freshmeat.net/projects/svnweb/]
[링크 : http://freshmeat.net/projects/cvsweb/]
[링크 : http://www.viewvc.org/]
[링크 : http://svnbook.red-bean.com/en/1.4/index.html]
[링크 : http://svnbook.red-bean.com/en/1.4/svn.reposadmin.planning.html]
다르게 말하자면, 저장소 하나별로 프로젝트를 구성하는게
roll-back 이나, 관리에 유용하다는 점이다.
물론 SVN은 개인적으로 단일 프로젝트에만 사용했지,
단일 - 복합 프로젝트에는 사용해보지 못해서 이것이 정답이다! 라고 하긴 힘들지만
CVS에 비해서 저장소 관리에 모호함이 있다.
CVS는 파일별로 revision이 붙는데,
SVN은 commit 별로 revision이 증가한다.
다르게 말하면 SVN은 하나를 커밋하는 행위가
CVS에서 커밋 후 tag를 붙이는것과 동일한 행위가 된다.
이런 이유로, 하나의 프로젝트에 사용되는 소스 저장용 / 개발환경 저장용 저장소 구성에 있어
약간의 차이점이 생길수 밖에 없다.
일단 /home/cvs 에 구성했다고 할경우
cvs 아래에 여러가지 소스를 디렉토리 별로 구성을 할 수 있다.
물론 atomic commit이라던가, tagging은 문제가 있겠지만,
한번에 모든 저장소를 볼수 있기 때문에 사용상에 상당한 잇점으로 작용한다.
그에비해 svn을 하나의 저장소 아래 여러개 프로젝트로 할 경우,
어떻게 보면 svn을 쓰는 의미가 없어질 정도가 된다.
예를들어 linux kernel / uboot source / nfs target / MTD target을 구성할 경우
CVS는 Filesystem을 CVS에 넣고 각각 디렉토리로 구성해도 상관없지만(파일별로 하니까)
SVN에 이런식으로 구성을 하면, 하나의 커밋 별로 revision이 증가하는건 아무런 의미가 없게된다.
아무튼
/home/svn/프로젝트 1
/home/svn/프로젝트 2
/home/svn/프로젝트 3
이런식으로 구성을 하고,
svnserve -d -r /home/svn
으로 한다음, 개별 프로젝트로 이름을 알아내서 쓰는게 (불편하지만) 낫지 않을까하는 생각이 든다.
혹시.. 웹에서 cvsweb 처럼 보여주는 게 있을려나?
[링크 : http://freshmeat.net/projects/svnweb/]
[링크 : http://freshmeat.net/projects/cvsweb/]
[링크 : http://www.viewvc.org/]
[링크 : http://svnbook.red-bean.com/en/1.4/index.html]
[링크 : http://svnbook.red-bean.com/en/1.4/svn.reposadmin.planning.html]
'프로그램 사용 > Version Control' 카테고리의 다른 글
GIT는 리눅스에서 받으시는걸 추천합니다. (0) | 2010.03.18 |
---|---|
TortoiseGIT (0) | 2010.03.18 |
SVN의 장점 (0) | 2009.09.19 |
svn tagging/branching (0) | 2009.08.20 |
SVN repository 구조 (0) | 2009.05.11 |