Visual Studio Project file exclusive locking

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
stephenzr
Posts: 2
Joined: Thu Dec 16, 2004 12:40 pm

Visual Studio Project file exclusive locking

Post by stephenzr » Fri Dec 17, 2004 7:37 am

We just migrated a large solution (7) projects to Vault. When we try to do do a multiple checkout of any .csproj file, both the Vault client and the IDE client tell us that the file is already checked out and we can't check it out.

The weird thing is, each of our client's has "Options/Request exclusive lock" turned off. For instance, we very often have any given aspx or config file checked out to three developers?

Is this by design? Can we allow multiple check outs on project files?

Thanks.

//Stephen R.

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Fri Dec 17, 2004 8:01 am

Stephen:

Vault will place an exclusive lock on any file, which it deems to be binary. Basically, any file not specifically assigned as mergeable ( text ), or which doesn't match an extension of known mergeable file extensions is deemed as binary.

My guess is you need to use the Admin Tool to add *.csproj to the list of mergeable files. This will enable multiple checkouts on the file.
Jeff Clausius
SourceGear

stephenzr
Posts: 2
Joined: Thu Dec 16, 2004 12:40 pm

Post by stephenzr » Fri Dec 17, 2004 10:08 am

Thank you for the reply. I have the admin tool open and I see what you are talking about. Maybe you could help me understand it a little better. I understand what you said, that to have multiple checkout on the .csproj i would add the extention to the Mergable list.

But why would csproj be under File Exclusions by default? When adding projects to Vault, it also adds my project file by default? Isn't that right?

Thanks so much.

//Stephen

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Fri Dec 17, 2004 1:19 pm

Looks like a mistake on our part. .csproj files should not be excluded by default. We'll get that fixed up in the next patch release, and in the meantime, edit the default exclusion list so they will be included.

Guest

Post by Guest » Fri Dec 17, 2004 10:06 pm

Thank you. We'll do that.

//Stephen

andyandy

btw: example text incorrect

Post by andyandy » Wed Mar 02, 2005 7:07 pm

BTW, when you fix this,

you might want to fix the example label text on

Repository Options tab -> File Types panel -> File Exclusions...

The example text has ( ex. *.csproj; *.dll; )

which as you have mentioned, is not true.

And ironically, its not in the list of default File Exclusions anyway.

As you mentioned, it should be in the list of Mergeble Files by default.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Thu Mar 03, 2005 8:21 am

Good catch - we just updated that label in 3.0.3, so it should be correct now...

We still have not decided to put .csproj in the mergable file list by default. Although it is a text file, it is generated by Visual Studio, and when two people change it at the same time, VS will sometimes make wildly different changes to the file, which makes it really hard to programmatically merge changes.

What we need is a special merge tool that handles .sln and .csproj files, and knows what exactly it is looking at, so it can recognize the content of a change (say a file addition in one version and a file deletion in another version), and ignore any of the textual formatting of the changes that VS might make. But, we don't have that yet, so we have chosen to require the user to add the file to the mergable list if they want to trust project file merges. :)

Post Reply