サイズ: 2697
コメント:
|
← 2011-01-22 06:02:27時点のリビジョン4 ⇥
サイズ: 3056
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 62: | 行 62: |
さらにいくつかのチェンジセットを最初に加えたくなったのでやり直した。 {{{ チェンジセット: 3:1e13a461e0d941adeb986f9bb8d7d8550f3c37d9 }}} を元にした追加だったが、そのときのsplicemapは {{{ 1 1e13a461e0d941adeb986f9bb8d7d8550f3c37d9 }}} であり、最初の値は4ではなく1だった。 |
RCSからMercurialに変換
いい加減メーリングリストの設定ファイルをRCSで管理するのをやめようということで、既存のリポジトリをMercurialに変換することにした。
Convert extension - Mercurial #Converting from RCS の手順に従って変換を行うことにした。
まずconvert extensionを使用するために~/.hgrcに
[extensions] hgext.convert=
を設定して、
$ mkdir /tmp/cvs-repo $ cvs -d /tmp/cvs-repo init $ mkdir /tmp/cvs-repo/mma-active
そして対象のディレクトリ内にはRCSで管理されていないファイルの方が多かったので、*,vだけをコピーした。
$ mkdir -p /tmp/cvs-repo/mma-active/{bin,config} $ cp /ml/mma-active/bin/ryml.pl,v /tmp/cvs-repo/mma-active/bin/ $ cp /ml/mma-active/config/RCS/member,v /tmp/cvs-repo/mma-active/config/
そしてこのCVSリポジトリからチェックアウトして、チェックアウトしたディレクトリを使って変換を行った。
$ mkdir /tmp/cvs-checkout $ cd /tmp/cvs-checkout $ cvs -d /tmp/cvs-repo co mma-active $ mkdir -p /tmp/hg-repo/mma-active $ hg convert --datesort /tmp/cvs-checkout/mma-active /tmp/hg-repo/mma-active
RCSで管理されずにバックアップされていたファイルをログに加える
RCSで管理されるよりも前のオリジナルバージョンが.bakファイルとしてコピーされて残されていたので、履歴の最初に追加することにした。 先ほど作ったリポジトリを一旦削除して、最初のバージョンをコミットした状態のリポジトリを作った。
$ rm -r /tmp/hg-repo/mma-active $ mkdir /tmp/hg-repo/mma-active $ cd /tmp/hg-repo/mma-active $ hg init $ mkdir bin $ cp -a /ml/mma-active/bin/ryml.pl.bak bin/ryml.pl $ hg add bin $ ls -lT bin/ryml.pl -rwxr-xr-x 1 ytoku wheel 3457 1月 28 03:35:28 1997 bin/ryml.pl $ hg commit -u (作った人のusername) -d "1997-01-28 03:35:28"
そして今コミットしたチェンジセットのIDを特定して
$ hg log --debug チェンジセット: 0:0762fa563002e01dc7d815cc3d6885a4554d5f0a ...
splicemapを作成した。具体例が無くてわかりにくい。
1 0762fa563002e01dc7d815cc3d6885a4554d5f0a
先ほどの変換処理に--splicemapオプションを渡して再実行。これで0番のチェンジセットにオリジナルバージョンが加わった。
$ hg convert --splicemap splicemap --datesort /tmp/cvs-checkout/mma-active /tmp/hg-repo/mma-active
さらにいくつかのチェンジセットを最初に加えたくなったのでやり直した。
チェンジセット: 3:1e13a461e0d941adeb986f9bb8d7d8550f3c37d9
を元にした追加だったが、そのときのsplicemapは
1 1e13a461e0d941adeb986f9bb8d7d8550f3c37d9
であり、最初の値は4ではなく1だった。