Re: [Twisted-Python] version control, QA, branching ...
There are four new version control systems that sound interesting to me: * BitKeeper http://www.bitkeeper.com/ The most mature of the four (?). Not fully free software, although I think it is freely usable for open source projects. * Subversion http://subversion.tigris.org/ Also relatively mature. * Arch http://www.regexps.com/arch.html There is a nice comparison between arch and subversion somewhere on that site. * OpenCM http://www.opencm.org/ The least mature of the four, but the one with the most impressive intellectual provenance. I don't really know what the tradeoffs are among these four. Personally, I'm continuing to use CVS for everything for now. Regards, Zooko http://mnet.sf.net/
On Thu, Sep 12, 2002 at 08:06:24AM -0400, Zooko wrote:
There are four new version control systems that sound interesting to me:
[...] The one I find myself using the most is PRCS. It has heaps of limitations (no network support, RCS backend so poor binary deltas) _but_, it does merges painlessly. I'm not sure exactly of all the voodoo it does for this, but I find that it gets merges right nearly every time, and prompts and allows me to overide it on the few occasions when it gets them wrong. It handles renamed/deleted/added files painlessly, and seems to remember previous merge preferences as defaults for subsequent merges. http://prcs.xdelta.org/ Because it doesn't support a network repository, I use it to run my own personal repository, and check in "cvs" branch(es) from cvs upstream. I then run as many personal branches as I wish, merging and branching at will with PRCS. When I'm happy or feel inclined, I checkin the results to cvs upstream. I basicly use PRCS as a merge tool for CVS. The guy who wrote PRCS has grand plans for a PRCS2 using xdelta as its backend with network repository support, but I dunno when/if it will ever happen. Going by PRCS, and xdelta2 so far, it will be good if it ever gets finished. I think something like Aegis would probably suit Twisted to a 'T'... it's not so much a revision control tool as a software development/test/release management tool. I dunno what it's like now, but last time I looked you could actually configure it to use any revision-control backend you liked. -- ---------------------------------------------------------------------- ABO: finger abo@minkirri.apana.org.au for more info, including pgp key ----------------------------------------------------------------------
On Thu, 12 Sep 2002, Zooko <zooko@zooko.com> wrote:
There are four new version control systems that sound interesting to me:
* BitKeeper http://www.bitkeeper.com/
Not free software. This means the Twisted team would bet its fate on the fate of a single company.
* Subversion http://subversion.tigris.org/
Also relatively mature.
It's alpha.
It's a mess of shell scripts and ftp crap.
On Fri, Sep 13, 2002 at 06:11:18AM -0000, Moshe Zadka wrote:
On Thu, 12 Sep 2002, Zooko <zooko@zooko.com> wrote:
There are four new version control systems that sound interesting to me:
* BitKeeper http://www.bitkeeper.com/
Not free software. This means the Twisted team would bet its fate on the fate of a single company.
* Subversion http://subversion.tigris.org/
Also relatively mature.
It's alpha.
It's a mess of shell scripts and ftp crap.
That was my concern when I first looked at it. A few people spent a fair bit of time trying to convince me "it's not that bad". The mess of scripts still makes me uneasy, but the design is probably sound. I suspect a conversion to Python would give Arch some deserved credibility. The "ftp crap" is a bit harsh... they happen to have chosen ftp as the network transport protocol, which IMHO is a better idea than inventing a new one. FTP as a protocol sucks, but it it widely supported. Subversion have chosen http (DAV?) and specificaly Apache as the network transport protocol. Http is probably better than ftp, but the DAV part is still a little grey. xdelta2 has an interesting contributed hack that uses NFS as the network transport protocol, using some "secure public NFS" framework. -- ---------------------------------------------------------------------- ABO: finger abo@minkirri.apana.org.au for more info, including pgp key ----------------------------------------------------------------------
"Donovan" == Donovan Baarda <abo@minkirri.apana.org.au> writes:
>> > * Arch > http://www.regexps.com/arch.html >> >> It's a mess of shell scripts and ftp crap. > That was my concern when I first looked at it. A few people > spent a fair bit of time trying to convince me "it's not that > bad". The mess of scripts still makes me uneasy, but the design > is probably sound. I suspect a conversion to Python would give > Arch some deserved credibility. > The "ftp crap" is a bit harsh... they happen to have chosen ftp > as the network transport protocol, which IMHO is a better idea > than inventing a new one. FTP as a protocol sucks, but it it > widely supported. yeah -- my original take on arch was that its implementation made it unacceptable. but as i think about it, i'm not sure that's such a big deal; the design seems sound from the docs, and since it's written in a "software tools" style, incremental conversion to Python should be feasible if that's ever desired. So... it's tempting to try for some less-important repositories, i think. (TRDemo, perhaps?) The "FTP" and "shell" aspects of it are pretty nonessential to its operation, so far as i can tell.
On Fri, 13 Sep 2002 23:13:20 -0500 (CDT), Allen Short <washort@twistedmatrix.com> wrote:
my original take on arch was that its implementation made it unacceptable. but as i think about it, i'm not sure that's such a big deal; the design seems sound from the docs, and since it's written in a "software tools" style, incremental conversion to Python should be feasible if that's ever desired. So... it's tempting to try for some less-important repositories, i think. (TRDemo, perhaps?) The "FTP" and "shell" aspects of it are pretty nonessential to its operation, so far as i can tell.
I think this would be a huge distraction and not really worthwhile... Arch is a good design for verison control. The implementation really does make it unacceptable though. Stipulations like "POSIX /bin/sh" and "FTP" cause problems with firewalls and portability. By my informal estimate, half of the people interested in anonymous up-to-date access to Twisted are using some version of Microsoft Windows XP behind a firewall which ether breaks or doesn't allow FTP. The "FTP" and "shell" aspects of it aren't essential to its operation, but they are essential to its implementation. I wouldn't want to use arch any more than I'd want to use aegis. There's also the issue of tools. How long until we get viewcvs-like behavior out of arch? Do these tools already exist? Where can I find them? Is the author committed to doing GUI implementations of the frontend? I'd answer these research questions myself, except regexps.com's web access is down now :) It would be nice to be able to create branches more easily. However, "more easily" is a lot more than just "better low-level design". It's emacs integration, GUI tools, windows support, scriptability, and so on and so forth. I don't forsee any of my projects moving to an alternative version control system any time soon. As always, if somebody comes along and implements something in Twisted, I would be more inclined to consider it seriously; I could think of a lot of cool tasks we could automate if the VC server itself had Python hooks. (Also, I imagine that PB or HTTP would be more firewall-friendly and easily secured than pserver.) Still, before migrating any actual code to it I'd want to see that it had all the features mentioned above. -- | <`'> | Glyph Lefkowitz: Traveling Sorcerer | | < _/ > | Lead Developer, the Twisted project | | < ___/ > | http://www.twistedmatrix.com |
On Fri, Sep 13, 2002 at 06:11:18AM -0000, Moshe Zadka wrote:
* BitKeeper http://www.bitkeeper.com/ Not free software. This means the Twisted team would bet its fate on the fate of a single company.
Their license does contain that bit that if the OpenLogging servers go down for half a year, all the code becomes GPL. I dislike non-free software, but had to learn BitKeeper, and started to use it for some of my projects. Now, I can honestly say that with the exception of one single thing they are looking at changing, it is _the_ best version control system ever.
* Arch http://www.regexps.com/arch.html It's a mess of shell scripts and ftp crap.
You could actually replace the ftp usage reasonable easily; I almost started work on that. You just need to implement a few utilities to move files, ls dirs, etc. non-interactively with e.g. ssh. -- :(){ :|:&};:
participants (6)
-
abo@minkirri.apana.org.au
-
Allen Short
-
Glyph Lefkowitz
-
Moshe Zadka
-
Tommi Virtanen
-
Zooko