私は次のようなWindowsファイル構造を持っています:
Stable
ProjectA
SharedLibrary
Stable
メインリポジトリが含まれています。 ProjectA
とSharedLibrary
のサブレポですStable
。.hgsub
ファイルには次が含まれます。
ProjectA = ProjectA
SharedLibrary = SharedLibrary
ほとんどの場合、すべてが正しく機能しているようです。メイン リポジトリはサブリポジトリを認識hg status -S
し、メイン リポジトリで次のようなことを行うことができ、サブリポジトリを再帰します。 commit
も正しく動作しているようです。
(メイン リポジトリ) からclone
取得しようとすると、サブリポジトリのクローンを作成しようとすると失敗し、次のメッセージが表示されます。Stable
ProjectA
unknown revision 'a855f4fe17c393d5863409f1443fc93b36787fa9'
[command returned code 255 Mon Mar 12 09:25:47 2012]
ただし、リビジョンが正しく、ProjectA
サブレポに存在することを確認しました。clone
問題なく各サブレポできます。
これまでのところ、私は試しました:1)各リポジトリを削除して最初からやり直します。2) TortoiseHg/Mercurial を再インストールします。3) .hgsubstate にリストされているリビジョンが正しく、各サブレポに存在することを確認します。
これを修正する方法はありますか?
編集: (メイン) レポが失敗すると、サブレポなしのクローンがターゲット ディレクトリにclone
残ります。clonedに移動して を実行すると、サブレポは正常に複製されますが、同じ「不明なリビジョン」エラーで複製に失敗します。その後、再度実行すると、サブレポが正常に複製されます。その時点で、最初からクローンが正しく機能していた場合と同様に、すべてが正しくなります。Stable
Stable
Stable
hg update tip
ProjectA
SharedLibrary
hg update tip
SharedLibrary
EDIT 2: の内容.hgsubstate
:
a855f4fe17c393d5863409f1443fc93b36787fa9 ProjectAd72ef29a5656e5413322c1d20d5830448d558605 SharedLibrary
ProjectA
と の変更セット ID の間にスペースはありませんがSharedLibrary
、これが Mercurial のやり方だと思います。の両方の変更セット.hgsubstate
は、それぞれのサブレポに存在します。
編集 3: サブレポhg log --debug -r tip
から。ProjectA
正しい変更セットが存在することを示す
Z:\Programming\KSuite\Stable\Client\KClient>hg log --debug -r tip
changeset: 4:a855f4fe17c393d5863409f1443fc93b36787fa9
tag: tip
parent: 3:eb01e88027c893267422fcb67f035ba31d8cdbdc
parent: 2:5b5ffd7f96915ca792507820ccfbee35707148d0
manifest: 4:e90960833c0708ec7f99ccded11c46ca45b46542
user: Casey ******** <*redacted*@.com>
date: Fri Mar 09 18:22:50 2012 -0500
files: .hgignore
files-: KClient.suo
extra: branch=default
description:
Merging changes in Stable to Dev.