
             ArX: the World Wide Revision Control System

ArX is a revision control system with features that are ideal for
free software and open source projects characterized by widely
distributed development, concurrent support of multiple releases, and
substantial amounts of development on branches.  It is intended to
replace CVS and corrects many mis-features of that system.

Some quick highlights of the feature list are:

        + distributed databases -- each hacker or group can host their
          own branches.  There's a global (world wide) name-space for
          lines of development and revisions.  Branches can be formed
          from any repository to any other and merge operations can 
          span repository boundaries without needing to actually
          duplicate the full contents of a repository at each site.
          
        + fancy merging -- `ArX' has support for various styles
          of history-sensitive branch merging.  The way branches
          and patch-sets interact with distributed repositories
          makes it practical to distribute the responsibilities
          for patch-review and merging.

        + renames handled -- of course file and directory renames
          are handled accurately.  So are symbolic links and file
          permissions.

        + unobtrusive operation -- `ArX' is designed to stay out
          your way while making changes and rearranging files.  It 
          is designed to have a clean and self-documenting
          command-line interface having the finest characteristics of
          good Unix tools.

        + web interface -- `ArX' includes web tools for browsing past
          revisions.

        + revision library -- `ArX' includes tools for building a 
          space efficient library of all past revisions, represented
          as ordinary file system trees.


`ArX' is, at its core, a collection of shell scripts and C code.  It
brings many classic shell-utils, ftp, http, ssh, diff, and patch
together and turns them into a distributed version control system.

ArX is distributed from:

        http://www.fifthvision.net/Arch


* INSTALLATION INSTRUCTIONS

  For help installing ArX, see "=INSTALL".  



* SYSTEM SHELLS

  On Solaris, some report, "/bin/sh" doesn't understand shell
  expansions of the form:

        ${var#prefix}

  On NetBSD, I've had a report that "/bin/sh" doesn't allow 
  symbolic signal names as the second argument to "trap".

  Both of those are deviations from the Posix standard for which there
  is no particular nice and/or particularly portable work-around.
  Therefore, you'll have to ask ArX to use a different shell on such
  systems.  There are several free, portable Posix shells available.

  You can use a different shell by setting the configure option
  "posix-shell".  See:

        % src/configure --help

  and 

        % src/configure --help-options


* SORT

Some users report that textutils 2.0.11 is shipped with RedHat 7.2
and also (with the "-m" option) setfaults when given an empty file.
If you are using that version of sort, you will have to upgrade to a
more recent version.  Reports are that a new version is available
in:

        ftp.redhat.com/pub/redhat/linux/rawhide/i386/RedHat/RPMS/textutils-2.0.21-1.i386.rpm


* PATCH

Some users report that older versions of GNU patch do not understand
the "--posix" option, but that versions after 2.5.4 do.  Be sure that
your version of GNU patch supports that option.



Have fun




# Modifications 2002, 2003 Copyright (C) Walter Landry and the Regents of the
#                                  University of California
# "Hey, what's this thing?"
# 
# tag: Tom Lord Wed Jan  9 08:10:28 2002 (arch/=README)
#
