2

hg移植の実際の日付をどのように見つけますか? 9 月 7 日に、次のコマンドでいくつかのファイルが移植されました。

hg transplant -b <branch> --log abcdefg

9 月 10 日に、コマンドhg log --date "2012-09-07 to 2012-09-10"は実行されていました。ただし、これは移植されたファイルの変更セットを表示しません。これは、日付に 8 月の親コミット日付があるためです。

移植を表示する日付範囲を持つブランチで hg ログ (または何か) を実行するにはどうすればよいですか?

4

2 に答える 2

2

この時点であなたは運が悪いです。これが、優れたワークフローtransplantの標準的な部分ではない理由の1つです。誰かが間違ったブランチで作業を行った場合は問題ありませんが、通常の使用では必要ありません。このコマンドは、あるブランチから別のブランチに変更を加えるための推奨される方法です。バグを修正できる履歴の最も早い時点で常にバグを修正している場合は、バグが存在しないブランチにバグを移動するための安全な方法である必要があります。その他の変更をもたらします。2010 Joel of Software / Killnロードショーのビデオには、修正のために適切な親を選ぶことが常により良い選択である理由の素晴らしい説明が含まれています。git cherry-pickmergehg mergemerge

移動するチェンジセットの日付を上書きする場合は、引数を取るコマンドほど良くはありませんmergeが、それでも優れています。transplantgraft--currentdate

于 2012-09-11T01:11:03.760 に答える
0

私はあなたができるとは思わない。 変更セットがコミットされると、戻って変更することはできません。transplant元の変更セットのタイムスタンプを保持/使用しているようです。

テンプレート フィールドを使用してextras、リポジトリ内のすべての移植を表示/検索できます。移植された変更セットの場合、元の変更セットの変更セット ID にsourceキーと値のペアがあると思います。extras

$ hg log --template '{extras}'

次に、その出力を grep に渡して、移植のみを取得できます。

于 2012-09-11T02:53:19.477 に答える