問題タブ [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 - qpushを実行するときに、.rejファイルの代わりにマージツールを入手できますか?
私は最近mqを使い始めました。これは素晴らしい作業方法です。少し面倒なのは、プルと更新を行った後にパッチをqpushで戻すと、競合があると.rejファイルになってしまうことです。
MercurialがTortoiseMergeを開くことができれば、.rejファイルを1つずつ開いて、より手動で低速な方法で実行するのではなく、できるだけ早く競合を解決できると便利です。
ファイル内のsvnスタイルの競合マーカーでさえ、.rejファイルよりも操作が簡単です。
それらの.rejファイルを回避する方法はありますか?
mercurial - 書き込みアクセスのないサブレポの MQ
私のプロジェクトには、サブリポジトリとして (書き込みアクセスなしで) 依存関係があります。おそらく mq を使用して、そのサブリポジトリにいくつかの個人的なカスタマイズを追加したいと思います。
また、メインのリポジトリを複製してビルドできるようにしたいと考えています。現在、私はしなければなりません:
- リポジトリのクローンを作成します - サブリポジトリは自動的にクローンされます
- サブリポジトリのすべてのパッチキューを手動で複製します
ステップ 2 を取り除くにはどうすればよいですか? 外部スクリプトがなくても可能ですか? (違いがあれば、bitbucket を使用しています)。
mercurial - Mercurial キュー: 複数のキューでパッチを共有していますか?
2 つのパッチ キューを持つローカル リポジトリがpatches
あり、myproject
. 1 つはリリース ブランチでのバグ修正用で、もう 1 つは別のプロジェクトでの作業用です。
- パッチ: local-config debug bugfix1 bugfix2
- myproject: ローカル構成 myproject1 myproject2
local-config
両方のキューで共有されるパッチの 1 つのコピーが必要です。考えられる解決策の 1 つは、patches-myproject/local-config を ../patches/local-config にシンボリック リンクすることです。
これを行うより適切な方法はありますか?
mercurial - Mercurial キューのパッチをローカルの変更のみに変換するにはどうすればよいですか?
この回答は、コミットをパッチに降格する方法を示していますが、mq パッチをローカルの変更のみに変換するにはどうすればよいですか?
mercurial - --keep-changes を `hg qpush` と `hg qpop` のデフォルトとして設定する
Mercurial Queues は最近、パッチがローカルの変更と競合しない限り、ローカルの変更があるときに mq パッチをプッシュおよびポップできる新機能を取得しました。これは--keep-changes
フラグによって制御されます。この動作をデフォルトにしたいと思います。通常、デフォルトを設定することは避けていますhg
。これは、私のマシンでは他のマシンとは異なる動作をすることを意味するためですが、この場合は無害に思えます。
hg help qpop
たとえば、
それで、誰かが何を入れるべきかを教えてもらえますか?.hgrc
それがand--keep-changes
のデフォルトです?qpush
qpop
バグ 2780を参照してください- ローカルの変更と mq パッチがこの機能の履歴に関連していない場合、qpop は機能するはずです。これを設定するオプションがない可能性もありますが、その場合はあまり役に立ちません。1文字のエイリアスすらありません。
mercurial - Mercurial Queues - コミットされていないパッチのバックアップと共有
Mercurial パッチを最初に適用する (実際にコミットする) ことなく、リモート リポジトリ (bitbucket.org など) にプッシュする方法を理解しようとしています。私の動機は、最終的な作業が完了する前に、まず自分の作業のリモート バックアップを作成し、これらのパッチを他の人と共有したり、別のマシンから作業したりできるようにすることです。
私の通常のワークフローは次のとおりです。
その時点で、未完成でコミットされていないパッチをリポジトリにプッシュしたいと思います。Mercurial キューが実際には独自のリポジトリであり、通常の hg リポジトリと同じように操作できることについて読んだことがありますが、私がやろうとしていることに関するワークフローについては不明です。私は自分のシェルで mq コマンドを にエイリアスしましたhg -R $(hg root)/.hg/patches
が、人々がリモート バックアップをどのように管理し、コミットされていないパッチを共有するかについて、フィードバックをいただければ幸いです。ありがとう。
mercurial - Mercurial Queuesを使用してファイルの名前を変更するにはどうすればよいですか?
Mercurial Queuesはパッチに関するものであり、パッチはファイルの名前変更について何も知りません。これが、Mercurial Queuesがファイルの名前変更をサポートしていない理由ですか、それともファイルの名前変更を間違って行っているのですか?と呼ばれる1つのファイルだけを変更するパッチキューに取り組んできましたfoo
。ここで、パッチ4に戻り、次の方法でファイルの名前を変更しますhg mv
。
次のエラーが発生します。
では、Mercurial Queuesでファイルの名前変更を処理するにはどうすればよいですか?Mercurialは、ある理由でファイルの名前変更を処理します(そうでない場合と同様に、名前変更後のファイルの編集に関する履歴全体が失われます)。
アップデート
hg histedit
チェンジセットを折りたたむと、ファイルの名前変更の情報も失われることに気づきhg collapse
ました。ファイルは、名前が変更されたファイルではなく、新しいファイルとして表示されます。これも同じ理由だと思います。Mercurialでは、その情報を失うことなく、プライベートチェンジセットを折りたたむことはできないようです。
アップデート2
名前変更情報を失うことなくプライベートチェンジセットを折りたたむことが可能であることがわかりましhg rebase
た。他のコマンドが名前変更情報を保持する必要があるという問題はまだ空いていますが、コマンドを使用すると、少なくとも目的の結果を達成する方法があります。--collapse
hg rebase -s 5 -d 4 --collapse
hg rebase
mercurial - Mercurial Queues - パッチのエクスポート
アップストリーム リポジトリにコミットしたくない同僚と共有する必要があるローカル マシンに Mercurial キュー パッチがあります。そのパッチをパッケージ化して彼と共有できる簡単な方法はありますか?
mercurial - Mercurial:ローカルでのみコンテンツを保持するにはどうすればよいですか?
中央のMercurialリポジトリに配置できるものにはいくつかの制限があります。
中央のHgリポジトリにプッシュせずに、ローカルのHgリポジトリにデータを保持する方法はありますか?
ノート:
- ファイルは、中央リポジトリ内のファイル(ブランチなど)に接続されている場合があります。
- ローカルのものは後で中央リポジトリに組み込まれる可能性があります。
mercurial - mqを使用してmercurialでブランチをマージしながらパッチキューをリベースするには?
私たちのワークフローでは、ブランチmq
の開発に Mercurial を使用しています。default
ただし、別のブランチを にマージする必要がある場合、マージされた のdefault
上にこれらのパッチを適用するベスト プラクティスは何default
ですか?
明白な (醜い) 方法: すべてのパッチをポップし、ブランチをマージしてから、すべてのパッチをプッシュし、すべての.rej
ファイルを修正します...
正しい方法はrebase
何らかの方法で使用する必要がありますが、正しいワークフローが何であるかはわかりません。
何か案は?