次のような Mercurial リポジトリがあります。
SWClients/
SWCommon
SWB
SWNS
... SWCommon は、他の 2 つのプロジェクトに共通のライブラリです。ここで、SWCommon を SWClients のサブリポジトリに変換したいので、こちらとこちらの手順に従いました。ただし、最初のリンクの例とは対照的に、サブリポジトリには、フォルダーの最初の名前と同じ名前を付けたいと考えています。詳細には、これは私がやったことです:
次のようにファイル map.txt を作成します。
include SWCommon
rename SWCommon .
次のようにファイル .hgsub を作成します
SWCommon = SWCommon
次に実行します
$ hg --config extensions.hgext.convert= convert --filemap map.txt . SWCommon-temp
...lots of stuff happens...
それで
$ cd SWCommon-temp
$ hg update
101 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..
$ mv SWCommon SWCommon-old
$ mv SWCommon-temp SWCommon
$ hg status
abort: path 'SWCommon/SWCommon.xcodeproj/xcuserdata/malte.xcuserdatad/xcschemes/SWCommon.xcscheme' is inside nested repo 'SWCommon'
...確かにそうですが、なぜそれが中絶の理由になるのでしょうか? もう 1 つの奇妙な点は、上記の最後の 'mv' を実行せずに 'hg status' を実行すると、予想どおり SWCommon に多くの 'missing' ファイルが作成されることです。リンクの例はこれまでのところ成功しておらず、基本的に上記の hg update で停止していますか? 実際にどのように機能させるのですか?