DCSIMG
Managing non mergable files in Team System - SRL Group

SRL Group

This blog is about Team System, QA and Development methodologies and more...

VSTS Resources

Team System Bloggers

Managing non mergable files in Team System

Hi,

Today I met a very angry developer. This developer and his colleague are using some generator that creates a huge text file (XML based but with its own file suffix) and this file is saved in TFS source control.

One programmer checked out the file, modified and checked in.
The other programmer checked out (assuming he was working on latest version - well, guess again...), and then tried to check in. Then, check in operation failed because of confilcts. Merging was suggested, but It's almost impossible to handle the merging of this file.

This programmer was blaming Team system: "This problem could never happen in visual source safe..." -  In visual source safe, checking out operation always fetched latest version, and multiple checkouts were always disabled.

What's the best solution for this issue? Well, setting team system behaviour to work like VSS is a very bad idea. Martin Woodward wrote a great post about team system check out behaviour: http://www.woodwardweb.com/vsts/000179.html

Another suggested solution : Education... We must remember to check "Latest" indication in
Source control explorer before checking out.

I prefer this solution that seems to fit: If we decide that files of a specific type will never be merged, we can set them to non mergable files:  Right click on TFS server, "Team Foundation Server Settings" -> "Source Control File Types..."

image

Then, click Add (or edit)

image 

We can set for each file type wether merging and multiple check out will be enabled or disabled.

Does this functionality answer this programmer needs? Unfortunately, No.
Once a file is known as non mergable, multiple check outs and merges are disabled,
but still - check out does not fetch latest version...

So if we check out non mergable file *without getting latest version*, we can work all day on an obsolete version, and check in operation WILL FAIL on conflicts, without an ability to merge.

My suggestion to Microsoft: Please add the ability for automatic get latest on checking out a non mergable file.

Example:

image

Comments

Team System News said:

NWCadence Blog on Geek Speak on Team Build. The Teams WIT Tools Blog on How Microsoft/DevDiv uses TFS...

# May 19, 2008 4:50 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: