hg「中止: Sorry, can't find svn parent of a merge revision.」『クソァ!!』

http://ir9.jp/hd11/1103_00.png

苦戦の後(苦笑 「訳が分からないよ」



hgsubversion を利用して、svnリポジトリから hgに持ってきたんですが、hg側で merge が発生すると、svn にコミットできなくなるようです。 ……マージしたんだから、ブランチ解消!一本道状態なのになんでコミットできないんじゃクソァ!! と、直感に反するような気がするんですが、それが hgsubversion 界での常識のようです。ぐぬぬ

でまぁ、どうするのかなぁ…と調べると、以下の数少ないトラブルシューティングページがヒットします。

「1個svnコミット専用のブランチ的何かを作って、変更をそこに全部取り入れちゃいましょう!」ってのは分かったんです…が……



解説の通りに操作しても出来ねぇ(ぉ orz


"revert" するように書いてあるのですが、バージョンが違うためか(利用バージョン == 2.1.3)TortoiseHg Workbench でリビジョンを右クリックしてもンな項目がないんですね。 似たような物に「バックアウト」という項目がありますが、コレを選択しても 「他のブランチの変更は打ち消せません」 とか言われちゃう。うむむ…

http://ir9.jp/hd11/1103_01.png
↑リバートは無い。…けど「バックアウト」とかいう項目はある。アイコンは一緒だけど……(続く)

http://ir9.jp/hd11/1103_02.png
↑怒られてしまう。やっぱりリバートとはなんか違う臭い……?



よくわからんので、ブランチ前に update するところまでは GUI でやって、revert は CUI からかける事に決定

>hg revert -a -r 44
adding HPネタ\AdobeCD-ROM_Drive\cs2_00.bmp
adding HPネタ\AdobeCD-ROM_Drive\cs2_01.bmp
adding HPネタ\AdobeCD-ROM_Drive\cs2_02.bmp
adding HPネタ\AdobeCD-ROM_Drive\cs2_03.bmp
adding HPネタ\Yahoo_Box\require.txt
removing HPネタ\vs2003\cs2_00.bmp
removing HPネタ\vs2003\cs2_01.bmp
removing HPネタ\vs2003\cs2_02.bmp
removing HPネタ\vs2003\cs2_03.bmp
adding a.txt
adding dummy_commit.txt
removing てすと.txt

なんか動いた!

この状態からコミットした後に、TortoiseHg workbench から svnリポジトリに push してみたところ………


コミットできた…!できたよママン……!!!





という、revert は CUI からやったら svnリポジトリにコミットできるようになりましたというお話でした。(ぉ

GUI から revert かけられる方法はあるのかなぁ…いやあるんだろうなぁ……(苦笑