This manual page briefly documents Unison, and was written for the
Debian GNU/Linux distribution because the original program does not
have a manual page. For a full description, please refer to the
inbuilt documentation or the manuals in /usr/share/doc/unison/. The
unison-2.32.52-gtk binary has similar command-line options, but allows the user
to select and create profiles and configure options from within the
program.
Unison is a file-synchronization tool for Unix and Windows. It allows
two replicas of a collection of files and directories to be stored on
different hosts (or different disks on the same host), modified
separately, and then brought up to date by propagating the changes in
each replica to the other.
Unison offers several advantages over various synchronization methods
such as CVS, Coda, rsync, Intellisync, etc. Unison can run on and
synchronize between Windows and many UNIX platforms. Unison requires
no root privileges, system access or kernel changes to function. Unison
can synchronize changes to files and directories in both directions,
on the same machine, or across a network using ssh or a direct
socket connection.
Transfers are optimised using a version of the rsync protocol, making
it ideal for slower links. Unison has a clear and precise specification,
and is resilient to failure due to its careful handling of the replicas
and its private structures.
The two roots can be specified using an URI or a path. The URI must follow the
convention: protocol://[user@][host][:port][/path]. The protocol part can be
file, socket, ssh or rsh.
OPTIONS
All Unison options are long, starting with one dash (`-') only.
A summary of options is included here. For a complete description,
see the inbuilt documentation or the manuals in /usr/share/doc/unison/.
ignore locks left over from previous run (dangerous!)
-immutable xxx
add a pattern to the immutable list
-immutablenot xxx
add a pattern to the immutablenot list
-key xxx
define a keyboard shortcut for this profile (in some UIs)
-killserver
kill server when done (even when using sockets)
-label xxx
provide a descriptive string label for this profile
-log
record actions in logfile (default true)
-logfile xxx
logfile name
-maxbackups n
number of backed up versions of a file
-maxthreads n
maximum number of simultaneous file transfers
-merge xxx
add a pattern to the merge list
-mountpoint xxx
abort if this path does not exist
-numericids
don't map uid/gid values by user/group names
-preferpartial xxx
add a pattern to the preferpartial list
-pretendwin
Use creation times for detecting updates
-repeat xxx
synchronize repeatedly (text interface only)
-retry n
re-try failed synchronizations N times (text ui only)
-rootalias xxx
register alias for canonical root names
-rsrc xxx
synchronize resource forks (true/false/default)
-rsync
activate the rsync transfer mode (default true)
-selftest
run internal tests and exit
-servercmd xxx
name of unison executable on remote server
-showarchive
show 'true names' (for rootalias) of roots and archive
-socket xxx
act as a server on a socket
-sortbysize
list changed files by size, not name
-sortfirst xxx
add a pattern to the sortfirst list
-sortlast xxx
add a pattern to the sortlast list
-sortnewfirst
list new before changed files
-sshargs xxx
other arguments (if any) for remote shell command
-sshcmd xxx
path to the ssh executable
-ui xxx
select UI ('text' or 'graphic'); command-line only
-xferbycopying
optimize transfers using local copies (default true)
Some preferences are just boolean flags. Others take numeric or string
arguments, indicated in the preferences list by n or xxx. Most of the
string preferences can be given several times; the arguments are
accumulated into a list internally.
SEE ALSO
The program is documented fully in the in-built documentation and the
manual, available as text in /usr/share/doc/unison/.
AUTHOR
Options are automatically extracted from `unison -help'. The rest of this
manual page was written by Robert McQueen <robot101@debian.org>, for the Debian
GNU/Linux system (but may be used by others).