Thursday, January 03, 2008

Unshelving files that have File Merging disabled

As Buck wrote about, unshelving files that have File Merging disabled can be troublesome. Disabling File Merging will exclusively lock files during check out. This works well for binary files as it's difficult to merge them.

However the exclusive "lock" will not allow users to shelve changes and have other users unshelve them. The user unshelving the change will get the error "The item is locked for check-out by in workspace ".

As Buck wrote about, Microsoft had this issue with Gauntlet. We have the issue as we use shelvesets to pass code between developers during code reviews. In the past we simply zipped up the files and used email. Developers feel shelving is a better way to share code for code reviews though. I agree.

So to allow Image files to be shelved/unshelved, we've decided to enable File Merging for Image files. This is a server wide setting under Team -> Team Foundation Server Settings -> Source Control File Types.

I'm sure there are some technical limitations that I'm not thinking of, but it would be nice to allow users to unshelve changes that have an exclusive lock. That way we can keep File Merging disabled, but still allow users to use shelving for sharing files.

No comments: