예전 자유 게시판

"서브버전을 이용한 실용적인 버전 관리"과 관련된 질문

장정호 2008-08-05 09:08

안녕하세요. 류광님께서 번역하신 책을 잘 읽어 보았습니다.

책 내용에 대해서 질문은 아닌데, 서브버전에 사용에 대한 질문 입니다.

서브버전에서 레파지토리를 만들면 "repository\db\revs"디렉토리 안에 버전 변경 정보에 대한 파일이 commit이 될때 마다 쌓이게 됩니다.

그런데 여기서 문제는 제가 관리하고 있는 서버에 svn 레파지토리는 벌써 10,000번 이상에 commit이 이루어 져서 파일 갯수가 10,000개가 넘고, 해당 폴더에 파일 용량도 10G가가 넘습니다.

혹시라도 레파지토리를 저장을 다르게 하는 방법이 없지 않을까 찾다보니 책에 나온것 처럼 "다중저장소"라는게 있더라구요. 제가 이해 하기론 간단하게 저장소 하나를 더 만드는 거잖아요.

그럼 제가 고민했던 것도 해결이 되지만 문제는 리버전이 다르게 쌓여서 전체적인 관점에서 볼때 관리에 이중화가 된다는 문제가 있더라구요.

그런데 아파치 재단에 프로젝트를 레파지토리는 http://svn.apache.org/repos/asf 리버전이 682,544 입니다. 설마 하나에 디렉토리에 리버전 파일 정보가 다 들어 있지는 않을거야고 생각합니다.

제가 질문 드리고 싶은 내용은 요약하면

1. 하나에 레파지토리에서 리버전 파일정보 저장 디렉토리를 분리 할 수 있는 방법?
    (각각에 프로젝트 별로 리버전 저장 장소 분리)

2. 만약 1번이 안된다면 다중 레파지토리에서 리버전을 번호를 같이 쓸 수 있는 방법?


--------------------------------
책과 관련 없는 질문입니다. 인터넷을 이용해서 찾을라고 하니 제가 원하는 대답을 얻기 어렵더라구요.


류광 2008-08-05 15:08


에구... 1, 2 모두 모르겠습니다.

그냥 몇 가지 드는 생각은....

2의 경우... 다중 저장소 접근방식은 한 프로젝트의 여러 서브프로젝트들을 각각의 저장소로 분리하는 데 쓰이는 것이 일반적인 것 같습니다. 그런 경우라면 저장소간의 리비전 번호 일치는 큰 문제가 되지 않을 것 같습니다. 관리의 이중화라기보다는 관리를 좀 더 조직화한다고 생각해도 되지 않을까요? :)

그리고 용량 문제 자체로 보면... 현재 작업에서 참조할 가능성이 없는 리비전들(이를테면 특정 가지 이전)을 백업 후 삭제하는 방법은 어떨까요?

GpgStudy 포럼에 가끔 버전 관리 관련 질문이 올라오는데, 혹시 힌트가 될만한 내용이 있으면 다시 알려드리겠습니다...

장정호 2008-08-05 17:08


답변 감사합니다. ^^