読者です 読者をやめる 読者になる 読者になる

Mercurial TortoiseHg

これの続き。
参考URL : http://mercurial.selenic.com/wiki/Subrepository

Mercurial 2.0 ( TortoiseHg 2.2 ) で仕様が変わったらしく、以前の方法だとうまくいかない。

[subpaths]
subrepo_name = https://bitbucket.org/toruuetani/virtualenv-scaffold

たとえばメインリポジトリのクローン元が https://bitbucket.org/toruuetani/hoge の場合、以下のようにする。

[subpaths]
https://bitbucket.org/toruuetani/hoge/subrepo_name = https://bitbucket.org/toruuetani/virtualenv-scaffold


ちなみに これで作ったバッチは以下のようになる。

@ECHO OFF
SET ROOT_DIR=%~DP0
SET TOP_REPO=PATH_TO_TOP
SET SECOND_REPO=PATH_TO_SECOND
SET THIRD_REPO=PATH_TO_THIRD


SET TOP_HGRC=%ROOT_DIR%\.hg\hgrc
SET SECOND_HGRC=%ROOT_DIR%\SECOND_DIR\.hg\hgrc


:CREATE_TOP
hg init
ECHO [paths]>%TOP_HGRC%
ECHO default = %TOP_REPO%>>%TOP_HGRC%
ECHO;>>%TOP_HGRC%
ECHO [subpaths]>>%TOP_HGRC%
ECHO %TOP_REPO%/subrepo_second = %SECOND_REPO%>>%TOP_HGRC%


:CREATE_SECOND
IF NOT EXIST %ROOT_DIR%SECOND_DIR MKDIR %ROOT_DIR%SECOND_DIR
CD /D %ROOT_DIR%SECOND_DIR
hg init
ECHO [paths]>%SECOND_HGRC%
ECHO default = %SECOND_REPO%>>%SECOND_HGRC%
ECHO;>>%SECOND_HGRC%
ECHO [subpaths]>>%SECOND_HGRC%
ECHO %SECOND_REPO%/subrepo_third = %THIRD_REPO%>>%SECOND_HGRC%


:UPDATE
CD /D %ROOT_DIR%
hg pull
hg update -C


:END
PAUSE