0

デフォルトのバグ修正とリリースの 3 つのブランチがあります。

いくつかの悪いマージの後、バグ修正は非常に壊れた状態になりました。このブランチはしばらく無視されていましたが、再び必要になりました。デフォルトとまったく同じにしたいのですが、デフォルトと同じ先祖を持つようになったため、マージは機能しません。

デフォルトのブランチをバグ修正ブランチにコピーしてコミットしようとしました。

という意味で有効のようです。

hg up --rev commitB
hg diff --rev commitA

hg diff は何も返しません。

hg up --rev commitA
hg diff --rev commitB

hg diff は何も返しません

しかし、あるコミットから別のコミットに移動すると、「42個のファイルが更新されました」と表示され、違いがあると思います...

違いがないことを確認するにはどうすればよいですか? ブランチを同一にする方法がある場合はどうすればよいですか?

4

1 に答える 1

1

ブランチは、イメージしているよりも流動的です。ブランチ X にあるものについて話すとき、あなたが実際に言っているのは、「branch: ラベルが X に設定されている最新の (技術的には先端の) コミットをチェックアウトすると、作業ディレクトリがどのように見えるかということです。

したがって、最も簡単な解決策は、ブランチ名で新しい(したがって最新の)コミットを作成することbugfixです。これはそれを行う必要があります:

hg update default
hg branch --force bugfix
...make a tiny change (perhaps to the readme)...
hg commit -m 'reinvogorating bugfix'

そうすれば、あなたがhg update bugfixそれをしたときとまったく同じになるでしょうdeafult

デフォルトで削除および/または追加されたファイルは、コピーペーストを介してバグ修正に削除または追加されていないため、あなたがしていることは機能していませんが、実際にはコピーペーストを行わず、デフォルトからバグ修正を再作成し、それを終わらせてください。

于 2013-10-14T18:00:05.123 に答える