バックグラウンド
Mercurial には現在、改ざんされるべきではない歴史を人々が改ざんするのを防ぐ優れたメカニズムであるフェーズがあります。変更セットがリモート リポジトリにプッシュされると、変更セットが作成され、それ以上作成publicできなくなりますrebased。これは通常、リポジトリが公開されていて、変更セットを他の人に変更されたくない場合に適しています。
draftただし、変更セットを自分だけと共有するための独自の一時リポジトリがある場合は、非常に面倒になる可能性があります。Mercurial には、これをオフにするオプションがあります。これをリモートリポジトリ.hg/hgrcのファイルに追加します。
[phases]
publish = False
draftこれにより、リモート リポジトリにプッシュされたチェンジセットがフェーズからフェーズへ移動するのを防ぎますpublic(ローカルのチェンジセットとリモート リポジトリにプッシュされたばかりのチェンジセットの両方)。ただし、このチェンジセットをプルすると、publicフェーズ内で常にプルダウンされます。
質問
draftフェーズで変更セットをプルダウンしたいと考えています。個人用サーバーに変更セットをプッシュしてから、自宅でプルダウンしたいだけです。プルした後rebase、真のパブリッシング サーバーからプルしたコミットの上に一時的なコミットを行います。
プルされた変更セットの自動移動を回避する方法はpublic素晴らしいでしょう。このリモート リポジトリは、私にとって完全かつ完全なドラフト サーバーです。draft試みが失敗した後に変更セットを手動で元に戻すことを余儀なくされることは、rebase本当に神経質になり始めています。