問題タブ [mercurial-queue]
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 - Mercurial Queuesを使用して複数のパッチを同時に処理するにはどうすればよいですか?
たとえば、修正するバグが2つあります。bug1とbug2です。
私はbug1から始めて、それを修正している最中に、bug2に行き、半分修正します。
私はbug1に戻り、再び部分的に修正して、再びbug2に進みます。
このように、多くの切り替えを行った後、両方のバグの修正を完了しました。
これらの両方のバグを確認する人は異なり、関係のないバグとは何の関係もありません。だから、私は彼らに異なるパッチを提供する必要があります。
私がプレーンを使用していた場合hg diff
、私はやったでしょう:
hg diff -U 7 -p file1 -r OLD_REVISION_NUMBER > patch1
bug1の場合、および
hg diff -U 7 -p file2 -r OLD_REVISION_NUMBER > patch2
bug2の場合
Mercurial Queuesで同じことを行うにはどうすればよいですか?基本的なワークフローを提案してください。
mercurial - Mercurial: パブリック フェーズなしでリモート リポジトリから変更をプルします (非公開サーバー、「中止: 不変の変更セットをリベースできません」)
バックグラウンド
Mercurial には現在、改ざんされるべきではない歴史を人々が改ざんするのを防ぐ優れたメカニズムであるフェーズがあります。変更セットがリモート リポジトリにプッシュされると、変更セットが作成され、それ以上作成public
できなくなりますrebased
。これは通常、リポジトリが公開されていて、変更セットを他の人に変更されたくない場合に適しています。
draft
ただし、変更セットを自分だけと共有するための独自の一時リポジトリがある場合は、非常に面倒になる可能性があります。Mercurial には、これをオフにするオプションがあります。これをリモートリポジトリ.hg/hgrc
のファイルに追加します。
draft
これにより、リモート リポジトリにプッシュされたチェンジセットがフェーズからフェーズへ移動するのを防ぎますpublic
(ローカルのチェンジセットとリモート リポジトリにプッシュされたばかりのチェンジセットの両方)。ただし、このチェンジセットをプルすると、public
フェーズ内で常にプルダウンされます。
質問
draft
フェーズで変更セットをプルダウンしたいと考えています。個人用サーバーに変更セットをプッシュしてから、自宅でプルダウンしたいだけです。プルした後rebase
、真のパブリッシング サーバーからプルしたコミットの上に一時的なコミットを行います。
プルされた変更セットの自動移動を回避する方法はpublic
素晴らしいでしょう。このリモート リポジトリは、私にとって完全かつ完全なドラフト サーバーです。draft
試みが失敗した後に変更セットを手動で元に戻すことを余儀なくされることは、rebase
本当に神経質になり始めています。
参考文献
version-control - パッチ キュー間でパッチを移動するコマンドはありますか?
パッチ キューの実装は非常にシンプルで、手動で移動することもできますが、2 つのキュー間でパッチを移動するコマンドはありますか?
mercurial - 「hg qnew」を元に戻すには?
hg qnew
パッチに未解決の変更が含まれていることに気付かずに発行しました。私はそれを取り消して、を使用して特定の変更のみを選択したいと思いhg qrecord
ます。元に戻すにはどうすればよいqnew
ですか?
mercurial - Mercurial Queues で特定のパッチを 1 つだけプッシュする方法は?
これは私がしたことです:
現在、これら 2 つのパッチは別個の機能であり、互いに何の関係もありません。それらは互いに独立している必要があります。
今はそうします(最初の機能だけが欲しいので)
それは言います:
そして、それは私が行った両方の変更を私に与えます!
私は何か間違ったことをしていますか?
特定のパッチをプッシュするように指示すると、他のパッチもプッシュされます。
mercurial - Workbench 内のファイルごとに MQ のパッチを分割する方法 (コマンドラインなし)?
TortoiseHG 内の Mercurial Workbench では、多くの Mercurial 関数をグラフィカルに使用できます。一部のファイルを別の別のパッチに抽出したい Mercurial キューにパッチがあります。
コマンドラインアプローチの解決策をここで見つけました:
Gaol: 最終的に OP=P1 + P2 になります。ここで、OP=オリジナル パッチ、P1=パッチ 1、P2=パッチ 2 です。
解決:
ワークベンチ内でこれを行う方法を理解できないので、誰かがこれを達成する方法を教えてくれたらうれしいです. ありがとう!
mercurial - Mercurial Queue パッチ内のパスを (簡単に) 書き直すことは可能ですか?
ファイル パス に作業が実装された MQ パッチがいくつかありますproject/feature_a
が、これらの変更を に移動する必要がありますproject/feature_b
。これを行う簡単な方法はありますか?