Does anyone know a good resource for information about how CVS (or any version control system for that matter) handles merging and identifying merge conficts?
At my organization we are looking at adopting a new version control system (well, ideally an overall CM / defect tracking / workflow system). Most of the developers here are used to working only with a system (CMVC) that requires exclusive locks on file checkouts, and requires manually merging in all changes from side branches. I've brought up the benefits of working CVS style but I've run into considerable resistance, or lack of understanding of the benefits. I've been told that it's "stupid" to think that software can possibly safely merge code changes and safely identify conflicts, that it is "brittle", language dependent, somehow causes problems with compliation, etc, etc. I'm poorly equipped to counter these arguments at the moment because I have so little understanding of the topic myself. I just know from experience at a previous CVS-using organization that in CVS it is infinitely easier to deal with concurrent access and merging changes. BTW, when I asked one vendor why his product didn't support auto-merging, he suggested open source projects like CVS only use auto-merging because they're too poor to afford a nice, shiny Diff-Editor like this product had. I was flabbergasted but didn't know what to say. I'm pretty sure there are commercial products (Bitkeeper, Perforce?) which auto-merge because it makes sense and is easier... am I right? thanks, Preston Landers
