subversion: 소프트웨어 버젼 관리 시스템

|

흔히 많이들 사용하는 버젼 관리 시스템으로 cvs가 있다. 그리고 많은 분야에서 cvs를 이용해 버젼관리를 하고 있는 것으로 알고 있다.

업무 용도로 cvs와 svn을 모두 사용해 보았다. 버젼관리 용도로 선택권이 있고, 둘 중 하나를 선택하고자 한다면 서슴없이 svn을 쓸 것 같은 이유는, svn이 가지는 단 하나의 장점 때문이다. 그것은 커밋 단위가 파일이 아니라 Repository 전체의 스냅샷(체인지셋이라고 부르는 것 같다)이라는 것이다.
svn의 revision은 전체 Repository 단위로 붙는데, 이것의 장점은 별도로 백업하지 않아도, 이를테면 revision 1101 당시의 소스를 볼 수 있다는 것이다.
당연히 파일 하나로 이루어진 프로젝트는 없다. 프로젝트에 포함되는 파일 각각은 서로 어떤 형식으로든 연관이 되게 마련이고, 이런 면에서 svn의 시스템은 강점일 수 밖에 없다.
또, 이것은 svn의 또 다른 장점이라고 불리우는 atomic commit을 만드는데, 사실 svn은 commit 자체가 체인지셋이기 때문에 atomic commit이 될 수 밖에 없다고 생각한다.

이것들은 svn과 cvs가 근본적으로 다른 이유이며, (다른 장점들도 많지만 솔직히 부수적이라고 생각된다.) 서슴없이 svn을 선택하고자 하는 이유 되겠다.

참고사이트 : Subversion 사용 HOWTO (초보적인 설명부터 활용법까지 자세하게 나와있다. 이 문서 하나면 당신도 Subversion 유저!)

이 아래로는 FreeBSD에서 subversion을 설치하는 과정을 약간 설명하겠다.



나머지 소개는 HOWTO가 너무 잘 되어 있는 바 생략하도록 한다.

And