10

注: 昨日kiln.stackexchange.comでこれを尋ねましたが、回答が得られず、作業が滞っています。そこで、ここで打ってみようと思いました。

私のメインの mercurial リポジトリには、たくさんのサブリポジトリがあります。初期設定時に、.hgsub. つまり、2 つのサブリポジトリを同じディレクトリに指定しました。

私が持っていたはずのもの:

sites/1=sites/1
sites/2=sites/2
sites/3=sites/3

私が実際に持っていたもの:

sites/1=sites/1
sites/2=sites/2
sites/2=sites/3

愚かなコピー/貼り付けエラー。.hgsubエラーに気づかずに、間違った をコミットしました。いくつかの改訂後、いくつかの新しいサブリポジトリを に追加しているとき.hgsubに、間違いに気づき、 内で修正しました.hgsub。私はコミットし、転がり続けました。の間違いを「修正」したので、やり直したくないほどの量の作業をコミットしました.hgsub

ここで、実際の問題に直面します。サブリポジトリ内でいくつかの変更を行いましsites/3た。メイン リポジトリをコミットしようとすると、次のエラーが発生します。

abort: unknown revision 'LongGUIDLookingString'

私が抱えているのと同じ問題に対処しているように見えるこのディスカッションを見つけましたが、ボスがどのように修正したかはよくわかりません。これを修正するにはどうすればよいですか?

の関連セクション.hgsubstate:

7d1e430ac5f12e00cb5bebcdf693e72db2c45732 sites/1
6eea936a5b7cfff6169f59d0dc1c8c4eb5f8412d sites/2
e2b83b301997de8add1b659d82a7ab8201bda653 sites/3
4

2 に答える 2

13

.hgsubstate ファイルには、repo2 エントリの repo3 からの hashid (これが LongGUIDLookingString です) が含まれていると思います。

.hgsubstate を編集して、各レポの正しい/現在のハッシュ ID を指すようにしてください。

それでも問題が解決しない場合は、.hgsubstate ファイルを貼り付けてください。調整方法を確認できます。

于 2010-03-11T20:06:38.197 に答える
0

への変更をコミットするのに苦労している人には.hgsubstate、次のように思われます。

  • hg commit -iは動作していません
  • hg commit -mします。
于 2020-09-18T14:32:55.183 に答える