man(1) ARCS man page man(1) NAME ARCS - Automated Revision Control System SYNOPSIS arcs [OPTIONS] DESCRIPTION arcs is a wrapper for various revision control systems (specifically, git) allowing: the creation and management of multiple repositories (locally and remote); simplification of the syncronisation between repositories and peers; almost-real-time file monitoring and updates (locally and remote); the execution of makefiles upon execution on remote peers. The current version supports multiple revision control systems, though not simultaneously. It should be run from the working repository directory or optionally when synchronis‐ ing multiple repositories, the current working directory does not matter. arcs aims to make the management of multiple and singular repositories simple. It makes the synchronisation of data easy and optionally in real-time. NOTE: For efficient usage the sharing of ssh public keys is recommended. Otherwise the user will be prompted for remote passwords upon each push (much like other RCSs). OPTIONS -h -help --help this menu --version version information -v verbose mode (up to -v -v) -q quiet mode (up to -q -q) -i init new repository --get fr [to] import host:dir [dir] - get a repository --put fr to output dir host[:dir] - put a repository -l run in a loop -s sleep for secs between scans (30) -S sleep for number of scans between push/pull (1) -z small sleep between forking children (0.25) -m commit message -t set .arcs/task (persistent commit message) -n take no action, only show what would have happened -N no network, don't push out or pull in -O don't push out -I don't pull in --push push even if it seems unnecessary -L do not record local (can use to create an empty repository) -R do not record remote (with pull, implies -O, conflicts --put) -M don't run make -a work on multiple projects listed in ~/.arcs_projects or args -f [forks] fast parallel mode (messier output) -d diff -p patch -u unpatch -E commit ELF files and .o .a .so .exe .dll -T (with -i) do not create link tree, for /etc -c cooperative - make shared repositories / checkouts -C not cooperative - make unshared repositories / checkouts --log show changelog --hist show change history --make setup Makefile to work with arcs --peers edit .arcs/peers --projects edit ~/.arcs/projects --detach clear .arcs/peers --forget forget all history here and elsewhere *eek* --remove remove .arcs and .git dirs from a module *eek* --rap record changes after a pull (internal) EXAMPLES 1. Initialising a repository and creating it remotely. The following will initialise the repository and create a matching repository on the remote host '192.168.0.4'. In order to allow the remote peer to push back to the original repository the hostname or IP of the initial host must be added to the peer's .arcs/peers file. $ mkdir ~/project $ cd project $ arcs $ echo 192.168.0.4 >> .arcs/peers $ arcs 2. Adding multiple projects to be maintained simultaneously. To add multiple projects you must first create the repositories, like above, and add the full paths (one per line) to your ~/.arcs_projects file. The program must then be invoked with the -a option, and -f if you want it to go fast. 3. Pulling a remote repository. To pull a remote repository use the following command: $ arcs --get username@hostname:/path/to/project or $ arcs --get http://git.hostname.com/project 4. Putting to and creating a remote repository. $ arcs --put project_root username@host:[dir] ENVIRONMENT ARCS set backend using this environmental variable by setting this variable to one of: GIT, SVN, CVS or DARCS. Default usage is GIT if ARCS environmental variable is not set. ARCS_SSH, SSH the command to use for ssh, e.g. SSH=fsh makes it go fast, especially with the -f option. $ARCS_SSH is used if it exists, else $SSH, else ssh. Get fsh from: http://sam.nipl.net/code/fsh/fsh.tgz FILES $HOME/.arcs_projects .arcs/peers BUGS Only GIT backend has been tested. Furthermore, some backends cannot, yet, be used with arcs to create repositories; they must be pulled remotely first. AUTHORS Sam Watkins (swatkins@fastmail.fm) Alastair Poole (alastairpoole@gmail.com) SEE ALSO git ssh sshc subversion darcs cvs make fsh 0.9.9.3 18 April 2009 man(1)