1

私は次のようなWindowsファイル構造を持っています:

Stable
    ProjectA
    SharedLibrary

Stableメインリポジトリが含まれています。 ProjectASharedLibraryのサブレポですStable.hgsubファイルには次が含まれます。

ProjectA = ProjectA
SharedLibrary = SharedLibrary

ほとんどの場合、すべてが正しく機能しているようです。メイン リポジトリはサブリポジトリを認識hg status -Sし、メイン リポジトリで次のようなことを行うことができ、サブリポジトリを再帰します。 commitも正しく動作しているようです。

(メイン リポジトリ) からclone取得しようとすると、サブリポジトリのクローンを作成しようとすると失敗し、次のメッセージが表示されます。StableProjectA

unknown revision 'a855f4fe17c393d5863409f1443fc93b36787fa9'
[command returned code 255 Mon Mar 12 09:25:47 2012]

ただし、リビジョンが正しく、ProjectAサブレポに存在することを確認しました。clone問題なく各サブレポできます。

これまでのところ、私は試しました:1)各リポジトリを削除して最初からやり直します。2) TortoiseHg/Mercurial を再インストールします。3) .hgsubstate にリストされているリビジョンが正しく、各サブレポに存在することを確認します。

これを修正する方法はありますか?

編集: (メイン) レポが失敗すると、サブレポなしのクローンがターゲット ディレクトリにclone残ります。clonedに移動して を実行すると、サブレポは正常に複製されますが、同じ「不明なリビジョン」エラーで複製に失敗します。その後、再度実行すると、サブレポが正常に複製されます。その時点で、最初からクローンが正しく機能していた場合と同様に、すべてが正しくなります。StableStableStablehg update tipProjectASharedLibraryhg update tipSharedLibrary

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.
4

0 に答える 0