次のシナリオを(時系列で)考えてみましょう。
- ボブはsource.csをチェックアウトします
- ジャックはsource.csをチェックアウトします
- ジャックはsource.csにチェックインします
- ボブはsource.csにチェックインします
ボブのバージョンは最新バージョンから作成されていないため、マージを実行する必要があります。
TFS 2010
マージが必要かどうかを判断するためにどのような基準を使用しますか?
Bob's version will have been created from the Latest Version.
In Step 4, Bob will not have been allowed to check in source.cs until he has performed a "Get Latest". In TFS 2010, when you perform a "Get Latest" on a file with Pending Changes and there are changes to get from the server, then it will detect it as a conflict and require a resolution.
If the local change and server change are different enough, for example, Jack editing Line 10, and Bob edited Line 110, then the "Auto Merge" button will be available, as a conflict resolution. If both Jack and Bob changed Line 10, then you would have to deal with the conflict yourself and use a "Merge Tool" to decide which changes you want to keep.
This is a silly process, other modern SCM software will automerge when applicable without needing your input. But I guess it does mean you get to decide if it should be an automerge or not.
Brian Harry goes into more detail here on the improvements made in TFS 2012 that means you will spend a lot less time resolving conflicts.