問題タブ [mercurial-revsets]
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.
eclipse - Hg + Eclipse - 移植のための変更セットのフィルタリング
私が何度も繰り返しているアクションは、変更を本番ブランチに移植することです。default
ただし、これは毎回、他の多数のチェンジセット間で移植したいチェンジセットを手作業で選択するという、退屈でエラーが発生しやすい作業を意味します。
利用可能なチャットセットを作成者とメッセージでフィルタリングする方法はありますか?
git - Mercurial のリビジョンセットに相当する git は何ですか?
Mercurial には、ユーザーがリビジョンのセットを指定できるrevsetsと呼ばれるドメイン固有の言語があります。
たとえば、まだブランチにマージされていないパッチをリストしたい場合がありますdefault
:
より複雑な例として、上記のリンクは、タグ付けされ1.3
たリビジョンとタグ付けされたリビジョンの間の変更セットをリストする例を示して1.5
います。これは、「バグ」に言及し、ディレクトリ内のファイルに影響を与えますhgext
:
revset 言語は非常に豊富で、日付、ユーザー名、コミット メッセージ、コミットが特定のリモート ロケーションに存在するかどうかなどに基づいて変更セットを選択できます。
git には、変更セットをクエリするための同等のメカニズムがあり、コア プログラムまたは拡張機能として利用できますか?
mercurial - Mercurial: マージされた各ブランチの最新のタグを決定する
特定のリビジョンにマージされたタグを特定するには、次のようなコマンドを使用します。
これは問題ありませんが、代わりに各ブランチの最新のタグのみを報告することで改善したいと思います:
暗黙の分岐構造が十分に明白であることを願っています。
これは可能だと思われますか (複数の hg コマンドを使用したり、事後に結果をフィルタリングしたりせずに)?
mercurial - 現在のブランチのヘッドのログを取得するには?
現在のブランチのヘッドを取得できます
次に、そのコマンドの出力から変更セット ID をコピーして次のコマンドに貼り付けることで、必要なデータを取得できます。
問題は、これをプログラムで行う必要があることであり、出力を解析したくないhg head .
. だから、私はどちらかできますか:
- 単一のコマンドでこれを行いますか?リビジョンで機能するものは何も見つかりませんでした。
- 変更セット IDだけ
hg head .
を表示する形式は?
mercurial - ブックマークまで選択する Mercurial revset
リポジトリにこの変更セットがある場合
B がブックマークされ、D が先端にあります。
具体的には、次のような C と D を B に押しつぶそうとしています。
この行を除いて、保持したいコミット B も削除されます。
mercurial - 名前付きブランチのマージ/分割を表示するための Revset フィルター
次のようなコミットのみが表示されるように、TortoiseHg でコミットをフィルター処理したいと考えています。
- 少なくとも 1 つの親が別の名前付きブランチにコミットしている。また
- 別の名前付きブランチで少なくとも 1 つの子コミットを行います。また
- 元の開始点です (コミット 0)。また
- 名前付きブランチのヘッドであるか、名前付きブランチのクロージング コミットです。
基本的に、名前付きブランチがどのように流れるかを示す要約グラフを取得するにはどうすればよいですか?
例として、この種のリビジョン グラフを要約します。
これらが省略された形式に:
- Rev 15 (グリーン)
- Rev 14 (グリーン)
- Rev 13 (青)
- Rev 10 (青)
- Rev 7 (青)
- Rev 4 (赤)
- Rev 1 (青)
SoftwareRecsのこの回答で得た具体的な提案を使用してみました:
ただし、それは私が望むようには機能しません。分岐に関する詳細がないいくつかのコミットがまだ含まれており、たとえば、早すぎるコミットを表示してデフォルトのブランチを短くします。
より凝縮されたグラフが得られるように、revset フィルターを変更するにはどうすればよいですか? それは可能ですか?準最適な解決策として、ブランチに名前が付けられているかどうかを区別しない場合も許容できると思います。
mercurial - 最終リビジョンの祖先を含むが、開始リビジョンより前のデフォルト ブランチにあるものはすべて除外する Mercurial ログ
私は、mercurial ログを解析し、任意の 2 つのリビジョン間のすべての変更のレポートを生成するスクリプトに取り組んでいます。ブランチを処理するには、revsetを使用して最終リビジョンの祖先を生成する必要があると思いますが、範囲を制限して、開始リビジョンの祖先であるリビジョンを除外したいと考えています。
3 では、フィーチャー ブランチがデフォルト ブランチから作成されます。
5 で、デフォルト ブランチからリリース ブランチ (6) が作成されます。
9 で、フィーチャー ブランチがデフォルトにマージされ、新しいリリース (10) が作成されます。
10 => 4,5,7,8,9,10 に影響する 5 以降のすべての変更のリストが必要です
私が抱えている問題は、機能ブランチを介して 3 に到達したときに祖先検索を制限することです。3はすでに5の一部だったので、私はそれを望んでいません.
私がレビューした他の議論:
クローズしますが、スコープの制限には役立ちませんでした。
これは、ブランチを知っていることを意味しますが、それらすべてを動的に見つける必要があります。