I am new an working with SVN with multiple people, so please bear with me. I am working on C++ project with multiple developers, and we are using SVN to synchronize and version our .h and .cpp files. I am used to versioning only my own projects with SVN, but working with other developers has given rise to file conflicts when we try to commit files that multiple developers have modified.
It is possible to merge files from the trunk into a working copy in the case of a conflict? Or perhaps a better question, what would you recommend should a file conflict arise?
We are using TortoiseSVN to communicate with the SVN server.
Thank you for your time.
I’m a little confused by your question. Is everyone using their own checked out working directory? I’ve sometimes seen companies actually share a single working checkout directory among multiple users. That’s a big no-no.
If you are all using your own working directory (and Subversion client really doesn’t matter. You could use TortoiseSVN, Twitter, or any client) sharing a project should be no problem. If someone commits changes to a set of files that you are also working on, Subversion simply won’t let you checkin your changes unless you first do an update to get the latest changes that were just checked in. If there’s a conflict, Subversion will mark where the conflict is. Simply fix the conflict, and mark the file as resolved. Then, commit your changes.
It’s really all automated. There’s nothing special you have to do. Subversion won’t let you commit stale changes. You have to do an update which will merge those latest changes into your working copy before you can commit your changes. Subversion will even tell you which files got updated and merged.