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

Mercuiralでgh-pagesの様なルートの異なるリビジョンを作成する

mercurial git

githubではgh-pagesを実現する為に、通常のリビジョンとはルートの異なるgh-pagesというブランチを利用しています。一つのリポジトリに二つ以上のルートを存在させるという事です。

これと同じ事がmercurialでも行えないか調べてみたところ、次のエントリが見つかりました。

手順

次の様な手順を取ります

$ hg init multiple-root-repository
$ cd multiple-root-repository
$ # 一つ目のリビジョンを作成する
$ touch a
$ hg addremove
$ hg ci -m "initial commit"
$ # 二つ目のリビジョンを作成する
$ touch b
$ hg addremove
$ hg ci -m "revision 1"
$ # ルートの異なるリビジョンを作成する
$ hg up null
$ hg branch hg-pages # わかりやすくブランチ名を付ける。必須では無い
$ hg qnew new -m "start hg-pages branch"
$ hg qfinish -a

作成されたリビジョングラフ

$ hg glog
@  changeset:   2:eff7929116ca
   branch:      hg-pages
   tag:         tip
   parent:      -1:000000000000
   user:        Takumi IINO <trot.thunder@gmail.com>
   date:        Sat Mar 10 00:33:46 2012 +0900
   summary:     start hg-pages branch

o  changeset:   1:8a9529435765
|  user:        Takumi IINO <trot.thunder@gmail.com>
|  date:        Sat Mar 10 00:33:42 2012 +0900
|  summary:     revision 1
|
o  changeset:   0:f6e084e399f8
   user:        Takumi IINO <trot.thunder@gmail.com>
   date:        Sat Mar 10 00:33:39 2012 +0900
   summary:     initial commit

作成されたファイル

$ hg up 1
$ ls
./  ../  .hg/  a  b
$ hg up 2
$ ls -a
./  ../  .hg/

使い道

githubのgh-pagesに対応するbitbucketの機能(hg-pages?,bb-pages?)が登場しない限り、現在は使い道がありません。

誰か考えて!