ArX 2.2.4 review

by on

ArX is a Revision Control System (RCS), like CVS, Subversion, or GNU arch

License: GPL (GNU General Public License)
File size: 0K
Developer: Kevin B. Smith
0 stars award from

ArX is a Revision Control System (RCS), like CVS, Subversion, or GNU arch. It manages "archives" (collections of files), such as source code files for a software project.

ArX tracks the history of each file, along with change comments, version tags, forks and branches, etc. It can store files and documents of any kind, but the largest benefits are with text files, rather than binary files.

Here are some key features of "ArX":
Ease of learning and use
Powerful branching and merging features
Speed, even when working with large repositories
Effective distributed development
Friendly and helpful user and developer communities
Cryptographic data integrity features
Ability to publish archives on almost any server
Portability to multiple operating systems (still in progress)

Like CVS (and most modern RCS tools), ArX uses an "optimistic" locking model, which allows multiple developers to modify the same file at the same time, and then resolves any conflicts as each developer checks in his or her work. While this may sound scary if you are used to systems that "lock" files, it actually works very well, as confirmed by the thousands of projects that have used this approach (in CVS) for many years.

Unlike CVS and most traditional RCS tools, ArX is "distributed", which means that ArX does not require a central server. Each developer can maintain their own "archive" of their projects, but can easily share their work with other developers. This modern design works well with teams that are geographically distributed, and especially with teams where some contributors are not part of the core team.

ArX includes an optional patch queue manager to enable centralized, CVS-style, development when desired. ArX differs from many of the newer distributed SCM tools in that it does not require every working tree to contain an entire copy of the archive history.

Each archive can store multiple branches, each of which could be checked out in multiple working trees. Other tools may use the terms "patch pooling" or "centralized storage" for this type of feature, and it is important for efficient branching on systems without hardlinks. Also, ArX archives can link to other archives (including remote archives) for older history, allowing branches of remote projects to be very small and fast.

Another important feature of ArX is that an archive can be published on any HTTP web server. It does not require any special code running on the server, which has some significant advantages: First, it allows projects to host their code on almost any inexpensive web site, including the free personal home pages offered by many ISPs. Second, it keeps the server very secure, because the only service required is a standard web server such as Apache or Boa.

What's New in This Release:
ArX now uses three-way merging as a default, and supports third party merge tools.
ArX is also much more clever about renames.
"merge" now uses the --update option instead of using heuristics.
ArX now records when there are conflicts in the tree, and will not let you commit unless they are resolved.
ArX now uses -v and -q for verbosity.
"commit" now supports --author and --date options for Tailor.
The patch queue manager has been updated, and some small bugs were fixed.

ArX 2.2.4 keywords