2

次のように、1つのサブリポジトリを持つMercurialメインリポジトリがあります。

Main
  .hg
  .hgsub
  .hgsubstate
  <some_regular_files_and_subdirs>
  Sub
    .hg
    <some_regular_files_and_subdirs>

Subそして、私は、最新の状態を保ちながら、のみタグを付けたいと思いMain/.hgsubstateます(つまり、タグ付けプロセスの結果の変更セットを指し示しSubます)。
メインリポジトリにタグを付けたくありません。
内部からタグ付けせずにそれを可能にし、最新の状態Subにするために魔法をMain/.hgsubstateかけますか?

4

2 に答える 2

1

サブリポジトリを更新する場合、そのサブリポジトリリビジョンの使用を開始するには、常にメインリポジトリでコミットを実行する必要があります。したがって、サブリポジトリ自体から目的を正確に実行することはできません。メインリポジトリに入り、そこで1つのコマンドを実行する必要があります。

コマンドラインから:

(navigate to subrepo directory)
> hg tag <tagName>
(navigate to main repo directory)
> hg commit -m "updating to subrepo tag <tagName>"

サブリポジトリタグを作成し、サブリポジトリをそのタグに更新した後、トップレベル(つまり:)からコミットを実行すると更新され、リポジトリにタグをMain付ける.hgsubstate必要はありませんMain。実際、サブリポジトリのリビジョンを変更すると、.hgsubstateファイルの変更がトリガーされます。このファイルは、タグなしでメインリポジトリにコミットできます。

于 2011-04-28T17:38:09.283 に答える
0

以下のようなものですか?

hg -R Sub tag tagname
hg -R Sub commit -m "Comitting tag"
于 2011-04-28T18:37:26.960 に答える