[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
of
>> 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