問題タブ [mercurial-phases]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mercurial - evolve 拡張機能を使用しないクライアントで水銀の古い警告を回避する方法
現在、mercurial を使用する会社で働いていますが、ほとんどの開発者は新しいevolveフローの代わりに MQ を使用しています。したがって、ほとんどのユーザーは拡張機能を有効にしていません。
メイン リポジトリにプッシュするたびに.hg/store/obsstore
、廃止された変更セットが自動的にプッシュされます。その後、拡張機能を有効にしていないすべてのユーザーに次のメッセージが表示されるため、これは問題です。
古い機能が有効になっていませんが、33 個のマーカーが見つかりました!
この回答で提案されている1つの解決策には、.obsstore
ローカルでの削除が含まれますが、それは私が望んでいることではありませんevolve
. それだけでなく、evolve
インテリジェントな競合解決などの使用の利点を維持できるように、古いマーカーと変更セットをサーバー リポジトリで利用できるようにする必要があります。
廃止された変更セットをサーバーリポジトリにプッシュしない方法、または(正しい方法で)サーバーが廃止されたデータをevolve
有効にせずにクライアントにプッシュしない方法を期待しています。
これは可能ですか?そうでない場合、なぜですか?
mercurial - Mercurial サーバーから非表示の変更セットにアクセスするにはどうすればよいですか?
Mercurial トピックをサポートするリモート リポジトリのクローンがあります。
このバージョンの hg-evolve では、変更セットが (たとえば) リベースされると非表示になります。
ローカル クローンにはない非表示の変更セットにある正確な作業ディレクトリにアクセスする必要があります。--hidden
私は、ほとんどのmercurialコマンドのフラグを介して、他の人のクローンがその変更セットを利用できることを確認しました.
私が試してみました:
hg --hidden clone
hg --hidden pull
しかし、どちらも影響を与えていないようです。
mercurial - Mercurialでトピックを複製する方法は?
背景: Mercurial トピック
Mercurial には、拡張機能topics
の一部として優れた機能呼び出しがあります。これらは一時的な軽量のローカル ブランチとして機能し、 Heptapod ワークフローevolve
の不可欠な部分であり、たとえばを介した Git との適切なやり取りを保証します。これらは、ファイル (または のリポジトリごと)に以下を含めることで有効になります。hg-git
~/.hgrc
.hg/hgrc
これらはローカル作業用に設計されているため、プッシュすると、トピックはサーバーにプッシュされません (ただし、Heptapod ワークフローを使用して git で一時的なブランチになります)。
質問
リポジトリをローカルでクローンして、クローン内のトピックを取得するにはどうすればよいですか?
答えの一部は、ソース リポジトリを非公開に設定することです(おそらく、クローン作成後にクローン リポジトリでこれを行う必要があります)。
draft
これにより、トピックの一部である変更セットのフェーズが維持されますが、トピック名は複製されません。
MnWE
a
では、トピック `A` があり、コミットは下書き段階にあります (出力ではオレンジ色で示されています)。
ではb
、フェーズを含めてすべて同じですdraft
が、トピックはありません。