[development] A Git mirror for Drupal CVS

Mikkel Høgh mikkel at hoegh.org
Sat Feb 23 01:04:27 UTC 2008

You seem to be under the assumption that we would do everything the same 
way as we do today if we switched to another VCS.

You talk about solving real problems:
What if publishing my new module to Drupal's servers was no more 
complicated than "bzr push sftp://bzr.drupal.org/~mikl/asdf-module".
The Launchpad.net guys have done this. It's real and working. I've used 
it myself.

Instead of using multiple heads and that kind of nastiness, you could 
just use bzr-style branches. A different physical folder for each 
branch. That's something almost anyone should be able to comprehend. 
asdf-module-d5 is for drupal 5 and asdf-module-d6 is for Drupal 6. Simple.

Thanks to new algorithms, merging is a breeze (3-way merging can still 
require human judgment, but is still a lot easier than it was in the old 
days), so if I wanted to try out Crazy Idea X on Drupal core, I'd just 
create my own branch/folder, drupal-cix and muck about with the code, 
committing regularly, without disturbing anyone else. And if some of the 
stuff I did (but maybe not all of it) was usable, one of the core devs 
might merge some of my changes.

So if we were to switch (and I'm not saying we have to, but I still 
think it would be a benefit to do so at some point in the future when we 
have a Windows GUI client and other requirements sorted out), we should 
be looking to make our structure simpler, not more complex.

Karoly Negyesi wrote:
> I am quoting this mail almost in full because it is so typical: "CVS sucks! Let's switch!" This is so irrevelant -- everyone on this list is aware of the shortcomings of CVS without taking Drupal in regard -- most troublesome is the lack of version controlled directories and renames. But the problem is that we NEED to take Drupal in regard. And then the questions to answer are: Why do we want to switch? To answer that, list the current problems of our contrib authors. Go out and do the research, ask them. How will git or Mercurial help solving those? E.g. people who do not get at all what a branch a tag will have less problem with this when facing all the possibilites, say, git offer? Think of human issues here. Think someone who needs all her wits to put together a module or the template.php of a theme and then needs to fight the monster an RCS is. Can you explain the multiple heads in Mercurial to her in a very simple way? Let me doubt.
>> I agree with Karoly that Git (or bzr or Mercurial or...) is not the 
>> answer to all our problems. Especially the lack of good, stable 
>> Windows/Mac GUI clients for all the aforementioned systems is a big 
>> showstopper. TortoiseHg is out, but still very much beta.
>> I think the keyword here is _eventually_. I hope that we can all agree 
>> that CVS is past its prime. Its many predecessors hold many advantages 
>> over it. Many new features that CVS will probably never get.
>> So while we're not in a position to switch to something else right now 
>> or this year, it would still be wise to consider the future.
>> I could rant endlessly about why distributed SCM is great and boosts 
>> productivity, makes it easier to try out crazy ideas. Makes branching 
>> and merging easier and so on, but I suppose you all know this.
>> So all I'm saying is that we ought to consider switching to something 
>> else at some point in the future, because CVS isn't that great now and 
>> is not likely to get better.

More information about the development mailing list