arch is a revision control system, i.e. a system that makes it easy to track changes to computer files, mostly the source code to complex software systems. It has the following features that set it apart from other revision control systems, such as CVS, Subversion or Bitkeeper:
So do I,
distributed repositories -- 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.
advanced merging capabilities -- `arch' 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.
low barrier of entry -- You can easily host repositories off an existing HTTP, FTP, SFTP or WebDAV server. In general, you need not even be able to execute commands on the server that you host your repository on. Some web space is enough. Together with the previous item, this means that everybody can easily publish their changes to other projects and make it _easy_ for the original maintainer to fold their changes back into the original tree.
renames handled -- of course file and directory renames are handled accurately. So are symbolic links and file permissions.
unobtrusive operation -- `arch' 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.
revision libraries -- `arch' includes tools for building a space efficient library of all past revisions, represented as ordinary file system trees.
A wealth of information on why to use arch can be found in WhyArch, SubVersionAndCvsComparison and ArchComparisons. LinuxJournal also had an (now outdated) article about larch: http://www.linuxjournal.com/article.php?sid=5928. A good (German) introduction can be found at http://linuxwiki.de/arch.
Credits: JeffreyYasskin - 19 Jan 2004 (copied from http://gnuarch.org), AndreasKloeckner - 17 Oct 2003, AlanGrover - 19 Nov 2002
