Re: Two More Very General Consulting Question
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
On Wed, 7 Dec 2011, Arved Sandstrom wrote:
On 11-12-07 07:57 PM, Arne Vajh?j wrote:
On 12/7/2011 1:58 PM, Tom Anderson wrote:
On Wed, 7 Dec 2011, Roedy Green wrote:
I would say that in this day and age, it is no longer appropriate to
suggest Subversion. Subversion was the best tool available for a long
time, and it is still perfectly serviceable, but there are better
tools available now; projects using it can keep using it without
worry, but there is no reason for a new project, or a project adopting
a new source control system, to start using it.
VCS is an area where fashion often seems to overshadow
Today with hg and git then SVN is suddenly so oldfashioned - you can
not use a non-distributed VCS without being considered stone age.
The distributed part is great for code that is being worked on by
completely independent organizations (read: large open source
But most people do not really have that need.
I'm with you on this, Arne. You beat me to it actually. 100 percent of
the version control scenarios that I have encountered in business in
over a decade require a "central" or "master" repository and an official
keeper of the flame. Branches have to be strictly decreed and
controlled, lest anarchy result. If git or Mercurial were used in place
of SVN, the manner in which they'd have to be used would offer zero
benefits over SVN.
I agree that there are plenty of scenarios that benefit from a
distributed VCS. But a whole bunch don't.
Incorrect. Have either of you actually used a DVCS for any length of time
on a team project?
It's true that a great many projects don't need the anarchic
fully-distributed mode of operation that DVCS allows. In fact, the only
one i know of that really uses it is the Linux kernel; even other open
source projects using DVCS have a fairly centralised workflow.
But the thing that DVCS gives you that is invaluable to everyone,
everywhere, is local commits. You can work, commit, work, commit, work,
realise you've gone wrong and roll back to your last commit, work, commit,
work, have an idea, commit, try something experimental, learn something,
roll back to your last commit, work, commit, and so on. All locally,
without having to push up to the server, make a zip file, make a patch, or
do any other monkeying about. All inside the version control system.
It is a massively useful thing to be able to do.
Arved mentioned that "branches have to be strictly decreed and controlled,
lest anarchy result", and that's true, but with one qualification - it's
true of branches *on the server*. People can make whatever branches they
fancy locally, as long as they don't trouble anyone else with them. That
can be useful too, on occasion.
My team moved over to Git a while ago. We have a traditional centralised
workflow: we work locally, and push and pull to a central server. We don't
push and pull to each other. Even for us, a DVCS has been a great tool.
Even if you don't make use of the new powers bestowed on you by a DVCS
(which would be a great mistake), the current crop of DVCSs offer
evolutionary improvements on Subversion. They don't need a server, so
they're easier to set up and manage. They make creating new repositories
much easier. They're faster. They are, incredibly, usually more compact (a
Hg/Git repository + working copy is usually smaller than a Svn working
copy alone - recall that Svn stores a pristine, uncompressed, copy of each
and every file). They don't litter your working copy with millions of
The only downside is that the graphical tools, and integration with other
systems, is not always as good as for Subversion. But note that "not as
good" means "80-90% as good". I use Git and Mercurial through their
Eclipse plugins, and they are basically as good as the Subversion or CVS
plugins. They each have a few warts, but they are purely cosmetic.
So, no, the noise about DVCS is not fashion. It is firmly grounded in
We'll never win by being like them. Our best tactic is to be
better. Better necessarily means different. -- Jon Rentzsch