
Hi,
I do not believe for even a second that any product can do merging of the same source file automatically and flawlessly.
None can do, of course. There are techniques to minimize the problems. The most important one is small and frequent commits. These reduce the possible conflicts that can not be automatically resolved a lot. Another "trick" that git managed projects use heavily is rebasing. That might sound strange to someone used to using svn, but when you go through it, you'll find out that rebasing really is a good thing to do, when working with a lot of small branches. And then of course you can invest a bit more or a bit less of your brainpower in the automatic merging algorithms when developing a VCS. Systems where branching and merging is seen as an advanced feature get away with less sophisticated algorithms. That is OK for them, because it is an area that is rarely used and only by "advanced" users. Actually svn can get away with beeing worse than cvs at the support of merging - at least that is the experience I have with both of them. Distributed Systems have the branching and merging as the main concurrency idiom. That is why they don't get away with less sophisticated algorithms. They simply have to be good at that in order to compete with the other DVCSs. If git was bad at it, e.g. monotone, bazaar, or mercurial would be a lot more successful. Christof -- okunah gmbh Software nach Maß Werner-Haas-Str. 8 www.okunah.de 86153 Augsburg cd@okunah.de Registergericht Augsburg Geschäftsführer Augsburg HRB 21896 Christof Donat UStID: DE 248 815 055