Mercurial에서 다중 프로젝트 관리 가능하나요?

munhoney의 이미지

회사에서 mercurial로 프로젝트를 관리할것 같은데, 하나의 서버에서 여러개의 프로젝트를 관리할 수 있을까요?
웹 검색 해보니 가능해 보인다고 하는데, 구체적인 방법에 대해서는 안나오는 것 같아서요

하나의 리파지토리에 여러개의 프로젝트를 추가하는 방법이 있고,
여러개의 리파지토리를 만들어 여러개의 프로젝트를 각각 관리하는 방법이 있던데,

후자의 방법이면 좋을 것 같긴한데요, 서버를 띄울때 각각 다른 포트를 만들어 띄어주어야 하나요? 지금은 하나의 프로젝트를 위해 http로 hg serve 인가. 이걸로 띄우고 있거덩요

sblade의 이미지

hg serve 를 사용한다면
hg serve --web-conf foo.conf

foo.conf 내용은

[paths]
repo1/ = repo1/
repo2/ = repo2/

이런 식으로 하거나 아니면

[collections]
repos/ = /repos

이 경우 repos 아래 모든 서브디렉토리가 들어갑니다.

뭐 포트를 따로 만드는 것도 나쁘진 않구요.

만약에 Unix 서버이면 그냥 ssh 를 사용하시길 추천합니다. 보안상 더 낫고, 아무 셋업을 안해도 됩니다. (hg serve 같은 것을 쓸 필요가 없습니다.)

하나의 repository 에 여러 subrepository를 추가하는 방법은 가능은 하지만 정확히 알기 전엔 권장하지 않습니다. pull/push/commit 등을 할때 subrepo 도 영향을 받는지 안받는지가 헷갈리고, 버전마다 다를 수 있습니다. 그리고 이것 또한 어차피 각각의 subrepo를 publish 해야 됩니다.