4

これまでのところ、明確な答えを見つけることができませんでしたが、答えは「ワークフローを変更する」である可能性があります。

Mercurialのパッチキューをいじり始めたところですが、そこには深刻な力があります。かなりすごいようです。私のテストでは、にパッチキューがありrepo1、からプルするとrepo2、いくつかの悪いことができることがわかりました。例えば:

  1. リポジトリ1を作成し、クローンを作成します。
  2. キューを有効にするrepo1
  3. にいくつかのコミットといくつかのパッチを作成しますrepo1
  4. 変更をプルしてrepo2
  5. すべてのパッチを適用解除repo1(ポップ?)します
  6. 変更をプルしてrepo2

これで、2つの異なるブランチが表示されます。これは特定の観点からは理にかなっています。ただし、私のパッチはrepo1(少なくとも適用されるまでは)履歴の一部ではないため、パッチが立ち入り禁止であることをMercurialに伝え、「」にあるものだけを提供する方法があるはずです。公式の歴史」。

これを行う方法はありますか?

4

1 に答える 1

8

水銀がこれに対する答えかもしれません。

Mercurial v2.1以降、mqチェンジセットを自動的にマークされるように構成できますsecret。 チェンジセットはandコマンドsecretによって無視されます。incoming/pulloutgoing/push

この動作を有効にするには、構成に以下を追加する必要があります。

[mq]
secret = True

有効にすると、次のように動作します。

$ hg qpush --all
applying my-patch
now at: my-patch

$ hg phase -r .
16873: secret

$hg outgoing
comparing with https://www.mercurial-scm.org/repo/hg
searching for changes
no changes found (ignored 1 secret changesets)
于 2012-06-06T17:58:46.500 に答える