views:

105

answers:

3

We're a team of students doing a software project. As some of us don't use Windows, but the product needs to run on Windows and .NET, we want to develop on MonoDevelop and Visual Studio which both use Visual Studio files; language of choice is C#.

My question is: Can we check in the solution and project files into our repository without the possibility of severe conflicting problems? Example: Two guys add a new file to the same project, save and commit their changes. Will the project file get a conflict?

A: 

VisualSVN integrates well into VS.

CodeToGlory
Does VisualSVN handle storing the solution file in Subversion? And does it solve any merging problems? That was the actual question.
Patrick
+1  A: 

I use this free Visual Studio plugin http://ankhsvn.open.collab.net/ for working with SVN repo ...

aleroot
+5  A: 

SVN works great with Visual Studio and the related Project/Solutions files. The Project files are just XML and the Solution files are a structured text file. If changes are made to the same project/solution file from two different people the second person will get a conflict notice. Warning, it can be tricky to merge project and solution files. Sometimes it's easier to just toss the changes and add the files back manually then check in again.

Matthew Whited
+1, particularly for this: "Sometimes it's easier to just toss the changes and add the files back manually then check in again."
bentsai
Okay thanks. As I see it, it's a rather bad idea to set it up this way, because if one user gets a conflict, he may be like "well, I just commit my version and the other guy should add his changes again" which probably won't end well.
flyx
This doesn't really have to do with the setup. Most workflows operate this way, regardless of what specific version control system you are using. It has more to do with a change of attitude and working as a team:) Also, cases of conflicting project and solution files are relatively infrequent.
bentsai
@flyx, that is why the back of your hand was invented. If someone does something stupid you have a few choices; fix it, complain about it, or smack them and make them fix it. The project files are no different than any other file under source control. It would be the same with config files, make files, even source files.
Matthew Whited
Yep, it's all to do with attitude and teamwork. Ensure that your team-mates know that keeping the project in a buildable state is the top priority. 99% of the time though the conflicts that arise are due to addition of files by different people, and mostly that will be resolved automatically by SVN without any conflicts. If there are conflicts then you just need to re-add the new file. The person checking in has no option since the project won't build without that extra file.
the_mandrill