From: Tom Lord To: address@hidden, address@hidden, address@hidden, address@hidden, address@hidden In-reply-to: (message from Loic Dachary on Thu, 3 Jan 2002 11:54:18 +0100) Subject: Re: [Savannah-hackers] Re: revision control systems References: Sender: address@hidden Errors-To: address@hidden X-BeenThere: address@hidden X-Mailman-Version: 2.0.5 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Administrators of Savannah List-Unsubscribe: , List-Archive: Date: Wed, 16 Jan 2002 01:33:01 -0800 (PST) X-UIDL: 8DF!!V~Y!!A=$"!8IW"! Status: RO Content-Length: 3355 Lines: 91 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 _______________________________________________ Savannah-hackers mailing list address@hidden http://mail.gnu.org/mailman/listinfo/savannah-hackers