|
Message
From: Richard Tierney<rt-opencores@c...>
Date: Tue Apr 18 10:50:15 CEST 2006
Subject: [oc] kindly convert opencores cvs repository to subversion (svn)
Jeremy Fillingim wrote: > I understand that we are walking on thin > ice with this discussion, and that everyone has their preferred work flow.
Indeed. :)
I've been having this argument for years. I won't repeat your points, but, briefly:
1 - Why are commercial tools lock-modify-unlock, rather than copy-modify-merge? Can you name a proper commercial tool that uses copy-modify-merge? Why is this?
2 - Imagine you're a project manager with say, 20 developers, each of greatly differing experience and ability, and each working on 100 source files. How do you set this up? I'll tell you how I would set it up: each developer owns their own source files. They're responsible for those files. The other developers cannot get arbitrary access to those files. A developer carries out the requried changes to their own files, except in exceptional circumstances, such as code reviews, holidays, and so on.
3 - the whole concept of merging different changes into a software source file is just bizarre. The whole file should ideally be about 400 lines long, and certainly no longer than 1000 lines. One person needs to understand the entire file intimately. How could you, as the project manager, possibly allow two different developers to simultaneously modify two different parts (or, in the worst case, the *same* part) of the same file?
I've worked in one commercial environment where we used CVS. This worked because we agreed on the rules above, so merging was not an issue. This is fine, so long as everyone knows their place. I've worked in another environment with a commercial RCS-based tool (in other words, lock-modify-unlock). This worked because it couldn't fail. Take your pick.
As I said, I'm talking about real-world commercial development; web development of free software could be seen as being different.
RT
|
 |