Project file (.csproj) is always out EXCLUSIVELY?

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

Moderator: SourceGear

Post Reply
jdonnici
Posts: 9
Joined: Tue Feb 17, 2004 6:19 pm

Project file (.csproj) is always out EXCLUSIVELY?

Post by jdonnici » Wed Mar 17, 2004 9:38 am

Using 2.0.1:

In the admin tool, all of our repositories are set to NOT request exclusive locks.

Within the Vault clients, under Tools->Options, we're configured to NOT request exclusive locks on checked out files.

In VS.NET (2003), the Source Control settings under Tools->Options are set to the "Visual Sourcesafe" configuration.

I have a project in my solution that is under source control. When I try to add a new item to that project, I get the prompt to check out the project (.csproj) file first. I go into Advanced on the dialog and ensure that Request Exclusive Lock is NOT checked.

However, after I check the project out and add the new file, the project file IS checked out to me exclusively.

The problem with this is if I'm adding a bunch of new stuff to a project. Currently, if I want the project file to be available to others, I have to check it out, add all the new files, and then check it back in. I can then check back out those files NON-exclusively and work on them. The downside is that those files may not be ready for wider use yet.

What I'd prefer is to have the project file out NON-exclusively so that I could make changes to the project and to the new files in the project. When all is working well, I check them all in at once and Vault handles the merge if anyone else has made subsequent changes to the project.

Is there a configuration item I'm missing somewhere?

Thanks,

JD

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

Post by dan » Wed Mar 17, 2004 9:49 am

There is a list of file types that are considered "mergable" that are listed in the admin tool. If a file type isn't in that list, it will be checked out exclusively. This makes sense for .doc files, but less so for files that are a little more "grey". A .csproj file is a text file, but it is IDE generated, so it isn't clear that two people making changes to it at the same time would result in something that is mergable - it depends on the version of the IDE generating the file.

In any case, if you want it to become a mergable file type, just add it to the list in the Admin tool, and you should be able to check it out non-exclusively.

jdonnici
Posts: 9
Joined: Tue Feb 17, 2004 6:19 pm

Post by jdonnici » Wed Mar 17, 2004 10:38 am

Dan,

Thanks for the prompt response.

I guess the .csproj could be more "gray"... so that leads to my next question: Using VS.NET 2003, is there a reason to leave the project file as NON-mergeable? Have others run into problems with letting the project file be mergeable under the 2003 IDE?

I wonder about this scenario:

User A checks out the project file (shared).
User B checks out the project file (shared).

Both users add a (different) new file to the project.

User A checks in the project file, containing his new file.

User B checks in the project file, containing his new file <<-- at this point, can it be merged successfully? If the IDE has put the reference to both new files in the same place within the .csproj file, then it's probably not going to be able to merge them -- yes? Two lines containing completely different things?

I'd appreciate your thoughts on this (and the thoughts of others) before I go off and change the settings so that .csproj files are mergeable.

Regards,

JD

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

Post by dan » Wed Mar 17, 2004 10:46 am

To be honest, we are unsure whether it is safe or not, which is why we left it out of the mergable file list. I'm sure someone at Microsoft would know.

Is there anyone out there in Vault forum-land that would like to chime in? :)

Post Reply