3

開発者がソースブランチとターゲットブランチの両方への変更をチェックインしたチェンジセットがあり、両方のブランチでの名前変更を含む多くの変更があります。ソースからターゲットへの変更セットのマージは正常に行われますが、変更セットはマージされる変更セットのリストに残ります。

チェンジセットを再度マージしようとすると、「マージする変更はありません」と表示されます。そして、チェンジセットはキューに残ります。

コマンドラインツールを使用して、次のように変更セットを破棄しようとしました。

C:\ src \ project \ sourceBranch> tf merge / discard / recursive / version:C8137〜C8137 $ / Project / sourceBranch $ / Project / targetBranch

これは役に立ちませんでした。/forceや/baselessなどの他のオプションを使用してみましたが、運がありませんでした。

マージ候補間のチェンジセットを取り除く他にどのような可能性がありますか?

4

1 に答える 1

2

さて、基本的には、直接関連する2つのブランチに属するアイテムを含むチェンジセットがあります。これにより、チェンジセットの「部分的なチェンジセット」サブコンポーネントを使用して、そのようなチェンジセットがマージされます。

より良い方法で説明させてください:

  • CS1234(チェンジセット)
    • ブランチAの部分的なCS1234A(ソースブランチなど)
    • ブランチBの部分的なCS1234B(ターゲットなど)

AからBにマージし、CS1234AをBにマージしました。

さて、AからBへの新しいマージを試みても、候補としてCS1234が残っていますよね?次に、それを選択すると、何も実行されません。これは、CS1234AとCS1234Bがソースブランチ(A)に属していないため、完全に理解できます。

すでに遭遇したTFSのバグのように見えますが、MicrosoftはTFS 2010 RTMで修正したと思いましたが、明らかにそうではありませんでした。

基本的に、TFSはCS1234の一部のみがマージされたため、候補として指定しますが、他の部分はマージできないため、候補として指定しても意味がありません。

どうですか:

BからAへのマージを(逆の方法で)開始しますが、CS1234が候補として指定されていますか?私の仮定では、CS1234をBからAにマージすると、AからBの候補を表示するときに、このチェンジセットに煩わされることはありません。しかし、それがあなたが喜んで行うことかどうかはわかりません。

とにかく、 MicrosoftConnectサイトでバグを埋める必要があります

于 2012-04-27T12:28:51.383 に答える