Centralized vs Distributed Version Control (was: Re: [Ilugc] Subversion Open House @ CollabNet Chennai)

  • From: bhuvan@xxxxxxxxxx (Bhuvaneswaran)
  • Date: Thu May 3 01:31:09 2007

On 5/2/07, Doran <doran+clug@xxxxxxxxxxxxxxxxxxxxx> wrote:

On Wed, May 02, 2007 at 07:51:53PM +0530, S.Ramaswamy wrote:
Subversion is outdated in the same way "Windows is outdated". Our
community has never lagged behind when it comes to wishful thinking
;-)

Amen to that.

.
.
Also, I've worked in a number of places (on and off dev teams, but
mostly off them, attempting to support the developers) where the VCS is
seen merely as a backup tool. Changes get checked in and history is
ignored. Branches are under-utilised. Bug-ridden code or even cruft such
as temp files get checked in, and nobody cleans it up until stuff really
starts breaking. Developers in such an environment rapidly lose any
sense of ownership of the code, or craftsmanly pride in what they have
produced.

That's a classical example for a real *bad* project execution. Why do
want to own pride for your work when you work in a project? When you
work in a project, you should not be bothered about your individual
craftsmanship, but you should work for goodness of the project.

For sure, this is a social issue more than a technical one, and a number
of underlying social issues in programming for cash are exposed, but I
see it partly as a legacy of poor tools. Back in the day, using RCS/CVS,
there were two ways to go: either check in every little change and deal
with the history becoming overloaded with "fixed typo" and similarly
pointless cruft, or carefully hone whatever you do to make it a work of
art before checking it in. Naturally, neither extreme has ever been
achieved for more than a dozen checkins so we end up with the worst of
both worlds: a history that provides little more than meaningless
statistics for managers to get excited about ("Woo so-and-so checked in
eleventy-thousand lines of code this year!" never mind half of those
were fixing his own mistakes), and lack of access to good differencing
tools when it matters most: making incremental changes.

And again, it is one such example for poor practice. I suggest you to
observe the discussion among the developers (may be in a dev@ mailing
list) of any of open source project to know the typical practice.
-- 
Regards,
Bhuvaneswaran
www.symonds.net/~bhuvan/
GPG: 0x7A13E5B0

Other related posts: