[Python-Dev] Source control tools

Giovanni Bajo rasky at develer.com
Tue Jun 13 01:54:53 CEST 2006

Thomas Wouters <thomas at python.org> wrote:

>> It would be an important move towards world peace, if it didn't
>> inspire whole new SCM-holy-wars :-)  I have a fair bit of experience with
>> different
>> SCM (VC, source control tool, however you want to call them) so I'll
>> take
>> this opportunity to toss up some observations. Not that switching to
>> another
>> SCM will really solve the issues you are referring to, but I happen
>> to think
>> switching to another SCM is  a great idea :)

Would you like to show me a comprehensive list of which procedures need to be
improved, wrt the current workflow with SVN?

My own experience is that SVN is pretty bare-bone, that is it provides powerful
low-level primitives, but basically no facility to abstract these primitives
into higher-level concepts. Basically, it makes many things possible, but few
convenient. I believe that tools like svnmerge show that it is indeed possible
to build upon SVN to construct higher-level layers, but there's quite some work
to do.

I would like also to note that SVK is sexy :)

>> The real reason I think we should consider other SCMs is because I
>> fear what the history will look like when 3.0 is done. In Subversion, merges
>> branches don't preserve history -- you have to do it yourself. Given
>> the way Subversion works, I don't think that'll really change;

Actually, Subversion is growing merge-tracking facilities, but it's a long way
to what you'd like to happen with the Py3k history (and I don't think that's
achievable whatsoever).

>> Git, the 'low level SCM' developed for the Linux kernel, is
>> incredibly fast in normal operation and does branches quite well. I
>> suspect much of its speed is lost on non-Linux platforms,
>> though, and I don't know  how well it works on Windows ;)

The higher-level part of GIT is written in a combination of bash and perl, with
richful usage of textuils, coreutils and whatnot. It's basically "unportable"
by design to native Windows. I guess the only sane approach is to use it under
Cygwin. IMO this is a big no-go for real Windows developers.

Giovanni Bajo

More information about the Python-Dev mailing list