2016-04-29 12 views
1

Team Foundation Source Controlを使用しており、ユーザーの1人が、作業中のプロジェクトで「最新バージョンを取得」しませんでした。ユーザーが変更した後(古いバージョン)、問題なく変更をチェックインできました。TFSソースコントロールにより、最新バージョンではないファイルのチェックインが可能

これは、変更する前にワークスペースになかった以前の変更が完全に上書きされたことを意味します。

私は変更を加えた別のプロジェクトでテストを行いましたが、別のユーザーが同じファイルを変更しました(ただし、最新のバージョンを取得していないため、ソースから最新のバージョンコントロール)。彼らは首尾よくチェックインできました。

これがどうして起こりますか?以前はGITを使っていましたが、これは解決する必要のある競合を引き起こす可能性があるため不可能です。

私はあなたが、「それらが生成されたときに自動的に競合を解決する試みが、」それができるならば、自動的に競合を解決しようとした、オンにしている疑いがある
+0

私の推測では、あなた、または誰かが、TFSからその時に切断されていると思います。それとも、クライアントがチェックアウト時に最新版を入手するように設定されていることを確認する必要があります。 – gmiley

+0

私はこれが起こる可能性があるいくつかのケースを知っていますが、以前にチェックインして(自動的に衝突を解決する)、またはチェックインを強制する必要があります。スクリーンショットやコマンドラインコマンドで正確なステップを提供できると便利です。 – jessehouwing

+0

あなたはどのバージョンのTFSを使用していますか?どちらのバージョンのVisual Studioのどのバージョンを使用していますか?システムごとに、ローカルまたはサーバーのワークスペースを使用していますか? – jessehouwing

答えて

1

enter image description here

しかし、この場合でもあれば、競合が自動的に認識されても、最初はチェックインがキャンセルされます。

enter image description here

再度チェックインしようとした場合、あなたはそれ以上の警告なしにチェックインすることができます。明示的に "最新バージョンを入手"することなく。

両方の変更が同じ変更の場合、このチェックインは実際には失敗し、ローカルの変更を取り消して「新しい」サーバーバージョンを優先します。

tf vc checkin /forceを使用してコマンドラインから強制的にチェックインすることもできます(サーバーの変更を破棄する)。

問題が発生する可能性がある別のケースは、問題のファイルが変更されていないが、マージ操作の一部です。この場合、「マージ」は新しいチェンジセットとして記録されますが、内容は変わりません。

私は、明示的に変更を加えずにチェックインする可能性がある他のステップについては認識していません。

+1

これはオンにしていますが、決してメッセージを受け取っていません。私たちは再び問題を再現しようとしており、複製することはできませんでした(私たちは過去に問題なく複製しましたが、今は紛争を起こしています!) – Lock

+0

マージ中に「ターゲットを維持」または「ソースを保持」を使用したことがありますか?それはまた後でマージを無視し、完全に無視します。 – jessehouwing

関連する問題