savannah-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Savannah-hackers] Re: revision control systems


From: Tom Lord
Subject: Re: [Savannah-hackers] Re: revision control systems
Date: Wed, 16 Jan 2002 01:33:01 -0800 (PST)

        Does someone have a pointer to the current release ?


I've made the first public release of `arch', a new revision control
system.  You can find it at:

        http://www.regexps.com

The user's guide is on-line, as is a simple repository browser for the
change history.  There's a read-only copy of arch's self-hosted
repository there too.  (Please let me know if the web pages give you
troubles on your particular browser -- this is the first time I've
tried using tables so heavily.)

Some of the key advantages of arch compared to CVS are:

        1. Atomic, whole-tree commits, reliable repository database.

        2. File and directory renames handled cleanly.

        3. Fancy features for branching and merging:

           For example, arch has a high level merge operator that is
           especially good for projects where multiple maintainers of
           a project each work on separate branches, merging to and
           from a shared "trunk" to stay in sync (the `star-merge'
           command, so called because the graph of trunk and branches
           has a star topology).

        4. Distributed repositories

           arch treats all accessible repositories as one big
           repository, permitting branch and merge operations to span
           repository boundaries.  "World-Wide Revision Control" :-)
           This eliminates the need for non-core contributors to
           resort to diff/patch and simplifies the change-review
           task for maintainers.

        5. Automatic ChangeLog maintenance.

        6. Configuration management for multi-package distributions.

        7. Weighs in at about 30K lines of code.

           (Some of the lines are rather wide, though :-)

arch is in pretty good shape in the sense that the core functionality
is done and I've been using it heavily, myself.  The main weaknesses,
and, hence, opportunities to contribute are:

        1. I use it only on a BSD-based system.  Though porting 
           to other platforms should be easy, it won't be a noop,
           and it hasn't been done yet.  

        2. Since revision control ought to be rock-solid reliable,
           a comprehensive test suite for arch is an important goal:
           but it's a large job. 

        3. The web interface and facilities for browsing revision
           history are a bit weaker than I'd like -- I'm working on
           that, though.

        4. No facility, yet, for automatically converting a CVS
           repository into an arch repository.

        5. No fancy GUI, yet, for drawing a graph that illustrates
           the branching and merging history of a project.

        6. No fancy GUI, yet, for running arch commands via a 
           control panel.

        7. For very large and/or active projects, some performance
           tuning is likely to be desirable.  I've been using arch on
           a tree with around 1500 files and find performance to be
           acceptable.  (By way of contrast, GCC has around 6500 files
           (at least in the old distribution I have on hand)).  I
           perform a small handful of commits per day (whereas (I
           presume) that across all branches, GCC gets at least
           dozens).  It is straightforward to speed up the arch
           commands that might cause problems -- they were written for
           simplicity and functionality first, omitting some obvious
           speed-ups.

-t



reply via email to

[Prev in Thread] Current Thread [Next in Thread]