Most of the options can be given as command line arguments or in a profile. On command line, but not in a
profile, the options are specified with a leading dash. Like this: -option.
acl When this flag is set to true, the ACLs of files and directories are synchronized. The type of
ACLs depends on the platform and filesystem support. On Unix-like platforms it can be NFSv4 ACLs,
for example.
addprefstoxxx
By default, new preferences added by Unison (e.g., new ignore clauses) will be appended to
whatever preference file Unison was told to load at the beginning of the run. Setting the
preference addprefstofilename makes Unison add new preferences to the file named filename
instead.
addversionno
When this flag is set to true, Unison will use unison-currentmajorversionnumber instead of just
unison as the remote server command (note that the minor version number is dropped -- e.g.,
unison-2.51). This allows multiple binaries for different versions of unison to coexist
conveniently on the same server: whichever version is run on the client, the same version will be
selected on the server.
atomicxxx
This preference specifies paths for directories whose contents will be considered as a group
rather than individually when they are both modified. The backups are also made atomically in
this case. The option backupcurr however has no effect on atomic directories.
auto When set to true, this flag causes the user interface to skip asking for confirmations on
non-conflicting changes. (More precisely, when the user interface is done setting the propagation
direction for one entry and is about to move to the next, it will skip over all non-conflicting
entries and go directly to the next conflict.)
backupxxx
Including the preference -backuppathspec causes Unison to keep backup files for each path that
matches pathspec; directories (nor their permissions or any other metadata) are not backed up.
These backup files are kept in the directory specified by the backuplocation preference. The
backups are named according to the backupprefix and backupsuffix preferences. The number of
versions that are kept is determined by the maxbackups preference. The syntax of pathspec is
described in Section “Path Specification” in the manual.
backupcurrxxx
Including the preference -backupcurrpathspec causes Unison to keep a backup of the current
version of every file matching pathspec. This file will be saved as a backup with version number
000. Such backups can be used as inputs to external merging programs, for instance. See the
documentation for the merge preference. For more details, see Section “Merging Conflicting
Versions” in the manual. The syntax of pathspec is described in Section “Path Specification” in
the manual.
backupcurrnotxxx
Exceptions to backupcurr, like the ignorenot preference.
backupdirxxx
If this preference is set, Unison will use it as the name of the directory used to store backup
files specified by the backup preference, when backuplocation is set to central. It is checked
after the UNISONBACKUPDIR environment variable.
backuplocxxx
This preference determines whether backups should be kept locally, near the original files, or in
a central directory specified by the backupdir preference. If set to local, backups will be kept
in the same directory as the original files, and if set to central, backupdir will be used
instead.
backupnotxxx
The values of this preference specify paths or individual files or regular expressions that
should not be backed up, even if the backup preference selects them—i.e., it selectively
overrides backup.
backupprefixxxx
When a backup for a file NAME is created, it is stored in a directory specified by
backuplocation, in a file called backupprefixNAMEbackupsuffix. backupprefix can include a
directory name (causing Unison to keep all backup files for a given directory in a subdirectory
with this name), and both backupprefix and backupsuffix can contain the string $VERSION, which
will be replaced by the age of the backup (1 for the most recent, 2 for the second most recent,
and so on...). This keyword is ignored if it appears in a directory name in the prefix; if it
does not appear anywhere in the prefix or the suffix, it will be automatically placed at the
beginning of the suffix. One thing to be careful of: If the backuploc preference is set to local,
Unison will automatically ignore all files whose prefix and suffix match backupprefix and
backupsuffix. So be careful to choose values for these preferences that are sufficiently
different from the names of your real files.
backups
(Deprecated) Setting this flag to true is equivalent to setting backuplocation to local and
backup to Name*.
backupsuffixxxx
See backupprefix for full documentation.
batch When this is set to true, the user interface will ask no questions at all. Non-conflicting
changes will be propagated; conflicts will be skipped.
clientHostNamexxx
When specified, the host name of the client will not be guessed and the provided host name will
be used to find the archive.
colorxxx
When set to true, this flag enables color output in text mode user interface. When set to false,
all color output is disabled. Default is to enable color if the NO_COLOR environment variable is
not set.
confirmbigdel
When this is set to true, Unison will request an extra confirmation if it appears that the entire
replica has been deleted, before propagating the change. If the batch flag is also set,
synchronization will be aborted. When the path preference is used, the same confirmation will be
requested for top-level paths. (At the moment, this flag only affects the text user interface.)
See also the mountpoint preference.
confirmmerge
Setting this preference causes both the text and graphical interfaces to ask the user if the
results of a merge command may be committed to the replica or not. Since the merge command works
on temporary files, the user can then cancel all the effects of applying the merge if it turns
out that the result is not satisfactory. In batch-mode, this preference has no effect. Default is
false.
contactquietly
If this flag is set, Unison will skip displaying the `Contacting server' message (which some
users find annoying) during startup.
copymaxn
(Deprecated) A number indicating how many instances of the external copying utility Unison is
allowed to run simultaneously (default to 1).
copyonconflict
When this flag is set, Unison will make a copy of files that would otherwise be overwritten or
deleted in case of conflicting changes, and more generally whenever the default behavior is
overridden. This makes it possible to automatically resolve conflicts in a fairly safe way when
synchronizing continuously, in combination with the -repeatwatch and -prefernewer preferences.
copyprogxxx
(Deprecated) A string giving the name of an external program that can be used to copy large files
efficiently (plus command-line switches telling it to copy files in-place). The default setting
invokes rsync with appropriate options—most users should not need to change it.
copyprogrestxxx
(Deprecated) A variant of copyprog that names an external program that should be used to continue
the transfer of a large file that has already been partially transferred. Typically, copyprogrest
will just be copyprog with one extra option (e.g., --partial, for rsync). The default setting
invokes rsync with appropriate options—most users should not need to change it.
copythresholdn
(Deprecated) A number indicating above what filesize (in kilobytes) Unison should use the
external copying utility specified by copyprog. Specifying 0 will cause all copies to use the
external program; a negative number will prevent any files from using it. The default is -1. See
Section “Making Unison Faster on Large Files” in the manual for more information.
debugxxx
This preference is used to make Unison print various sorts of information about what it is doing
internally on the standard error stream. It can be used many times, each time with the name of a
module for which debugging information should be printed. Possible arguments for debug can be
found by looking for calls to Util.debug in the sources (using, e.g., grep). Setting -debugall
causes information from all modules to be printed (this mode of usage is the first one to try, if
you are trying to understand something that Unison seems to be doing wrong); -debugverbose turns
on some additional debugging output from some modules (e.g., it will show exactly what bytes are
being sent across the network).
diffxxx
This preference can be used to control the name and command-line arguments of the system utility
used to generate displays of file differences. The default is `diff-uOLDERNEWER'. If the value
of this preference contains the substrings CURRENT1 and CURRENT2, these will be replaced by the
names of the files to be diffed. If the value of this preference contains the substrings NEWER
and OLDER, these will be replaced by the names of files to be diffed, NEWER being the most
recently modified file of the two. Without any of these substrings, the two filenames will be
appended to the command. In all cases, the filenames are suitably quoted.
docxxx
The command-line argument -docsecname causes unison to display section secname of the manual on
the standard output and then exit. Use -docall to display the whole manual, which includes
exactly the same information as the printed and HTML manuals, modulo formatting. Use -doctopics
to obtain a list of the names of the various sections that can be printed.
dontchmod
By default, Unison uses the 'chmod' system call to set the permission bits of files after it has
copied them. But in some circumstances (and under some operating systems), the chmod call always
fails. Setting this preference completely prevents Unison from ever calling chmod.
dumbtty
When set to true, this flag makes the text mode user interface avoid trying to change any of the
terminal settings. (Normally, Unison puts the terminal in `raw mode', so that it can do things
like overwriting the current line.) This is useful, for example, when Unison runs in a shell
inside of Emacs. When dumbtty is set, commands to the user interface need to be followed by a
carriage return before Unison will execute them. (When it is off, Unison recognizes keystrokes as
soon as they are typed.) This preference has no effect on the graphical user interface.
dumparchives
When this preference is set, Unison will create a file unison.dump on each host, containing a
text summary of the archive, immediately after loading it.
fastcheckxxx
When this preference is set to true, Unison will use the modification time and length of a file
as a `pseudo inode number' when scanning replicas for updates, instead of reading the full
contents of every file. (This does not apply to the very first run, when Unison will always scan
all files regardless of this switch). Under Windows, this may cause Unison to miss propagating an
update if the modification time and length of the file are both unchanged by the update. However,
Unison will never overwrite such an update with a change from the other replica, since it always
does a safe check for updates just before propagating a change. Thus, it is reasonable to use
this switch under Windows most of the time and occasionally run Unison once with fastcheck set to
false, if you are worried that Unison may have overlooked an update. For backward compatibility,
yes, no, and default can be used in place of true, false, and auto. See Section “Fast Update
Detection” in the manual for more information.
fastercheckUNSAFE
THIS FEATURE IS STILL EXPERIMENTAL AND SHOULD BE USED WITH EXTREME CAUTION. When this flag is set
to true, Unison will compute a 'pseudo-fingerprint' the first time it sees a file (either because
the file is new or because Unison is running for the first time). This enormously speeds update
detection, but it must be used with care, as it can cause Unison to miss conflicts: If a given
path in the filesystem contains files on both sides that Unison has not yet seen, and if those
files have the same length but different contents, then Unison will not notice the presence of a
conflict. If, later, one of the files is changed, the changed file will be propagated,
overwriting the other. Moreover, even when the files are initially identical, setting this flag
can lead to potentially confusing behavior: if a newly created file is later touched without
being modified, Unison will treat this conservatively as a potential change (since it has no
record of the earlier contents) and show it as needing to be propagated to the other replica.
Most users should leave this flag off -- the small time savings of not fingerprinting new files
is not worth the cost in terms of safety. However, it can be very useful for power users with
huge replicas that are known to be already synchronized (e.g., because one replica is a newly
created duplicate of the other, or because they have previously been synchronized with Unison but
Unison's archives need to be rebuilt). In such situations, it is recommended that this flag be
set only for the initial run of Unison, so that new archives can be created quickly, and then
turned off for normal use.
fat When this is set to true, Unison will use appropriate options to synchronize efficiently and
without error a replica located on a FAT filesystem on a non-Windows machine: do not synchronize
permissions (perms=0); never use chmod (dontchmod=true); treat filenames as case insensitive
(ignorecase=true); do not attempt to synchronize symbolic links (links=false); ignore inode
number changes when detecting updates (ignoreinodenumbers=true). Any of these change can be
overridden by explicitly setting the corresponding preference in the profile.
followxxx
Including the preference -followpathspec causes Unison to treat symbolic links matching pathspec
as `invisible' and behave as if the object pointed to by the link had appeared literally at this
position in the replica. See Section “Symbolic Links” in the manual for more details. The syntax
of pathspec is described in Section “Path Specification” in the manual.
forcexxx
Including the preference -forceroot causes Unison to resolve all differences (even
non-conflicting changes) in favor of root. This effectively changes Unison from a synchronizer
into a mirroring utility. You can also specify a unique prefix or suffix of the path of one of
the roots or a unique prefix of the hostname of a remote root. You can also specify -forcenewer
(or -forceolder) to force Unison to choose the file with the later (earlier) modtime. In this
case, the -times preference must also be enabled. If modtimes are equal in both replicas when
using newer or older then this preference will have no effect (changes will be synced as if
without this preference or remain unsynced in case of a conflict). This preference is overridden
by the forcepartial preference. This preference should be used only if you are sure you know what
you are doing!
forcepartialxxx
Including the preference forcepartial=PATHSPEC -> root causes Unison to resolve all differences
(even non-conflicting changes) in favor of root for the files in PATHSPEC (see Section “Path
Specification” in the manual for more information). This effectively changes Unison from a
synchronizer into a mirroring utility. You can also specify a unique prefix or suffix of the path
of one of the roots or a unique prefix of the hostname of a remote root. You can also specify
forcepartialPATHSPEC->newer (or forcepartialPATHSPEC->older) to force Unison to choose the
file with the later (earlier) modtime. In this case, the -times preference must also be enabled.
If modtimes are equal in both replicas when using newer or older then this preference will have
no effect (changes will be synced as if without this preference or remain unsynced in case of a
conflict). This preference should be used only if you are sure you know what you are doing!
group When this flag is set to true, the group attributes of the files are synchronized. Whether the
group names or the group identifiers are synchronized depends on the preference numerids.
halfduplex
(Deprecated) When this flag is set to true, Unison network communication is forced to be half
duplex (the client and the server never simultaneously emit data). If you experience
unstabilities with your network link, this may help.
heightn
Used to set the height (in lines) of the main window in the graphical user interface.
i Provide this preference in the command line arguments to enable interactive profile manager in
the text user interface. Currently only profile listing and interactive selection are available.
Preferences like batch and silent remain applicable to synchronization functionality.
ignorexxx
Including the preference -ignorepathspec causes Unison to completely ignore paths that match
pathspec (as well as their children). This is useful for avoiding synchronizing temporary files,
object files, etc. The syntax of pathspec is described in Section “Path Specification” in the
manual, and further details on ignoring paths is found in Section “Ignoring Paths” in the manual.
ignorearchives
When this preference is set, Unison will ignore any existing archive files and behave as though
it were being run for the first time on these replicas. It is not a good idea to set this option
in a profile: it is intended for command-line use.
ignorecasexxx
When set to true, this flag causes Unison to treat filenames as case insensitive—i.e., files in
the two replicas whose names differ in (upper- and lower-case) `spelling' are treated as the same
file. When the flag is set to false, Unison will treat all filenames as case sensitive.
Ordinarily, when the flag is set to default, filenames are automatically taken to be
case-insensitive if either host is running Windows or OSX. In rare circumstances it may be useful
to set the flag manually.
ignoreinodenumbers
When set to true, this preference makes Unison not take advantage of inode numbers during fast
update detection. This switch should be used with care, as it is less safe than the standard
update detection method, but it can be useful with filesystems which do not support inode
numbers.
ignorelocks
When this preference is set, Unison will ignore any lock files that may have been left over from
a previous run of Unison that was interrupted while reading or writing archive files; by default,
when Unison sees these lock files it will stop and request manual intervention. This option
should be set only if you are positive that no other instance of Unison might be concurrently
accessing the same archive files (e.g., because there was only one instance of unison running and
it has just crashed or you have just killed it). It is probably not a good idea to set this
option in a profile: it is intended for command-line use.
ignorenotxxx
This preference overrides the preference ignore. It gives a list of patterns (in the same format
as ignore) for paths that should definitely not be ignored, whether or not they happen to match
one of the ignore patterns. Note that the semantics of ignore and ignorenot is a little
counter-intuitive. When detecting updates, Unison examines paths in depth-first order, starting
from the roots of the replicas and working downwards. Before examining each path, it checks
whether it matches ignore and does not match ignorenot; in this case it skips this path andallitsdescendants. This means that, if some parent of a given path matches an ignore pattern, then
it will be skipped even if the path itself matches an ignorenotpattern. In particular, putting
ignore=Path* in your profile and then using ignorenot to select particular paths to be
synchronized will not work. Instead, you should use the pathpreference to choose particular paths
to synchronize.
immutablexxx
This preference specifies paths for directories whose immediate children are all immutable files
— i.e., once a file has been created, its contents never changes. When scanning for updates,
Unison does not check whether these files have been modified; this can speed update detection
significantly (in particular, for mail directories).
immutablenotxxx
This preference overrides immutable.
includexxx
Include preferences from a profile. includename reads the profile “name” (or file “name” in the
.unison directory if profile “name” does not exist) and includes its contents as if it was part
of a profile or given directly on command line.
keyxxx
Used in a profile to define a numeric key (0-9) that can be used in the user interface to switch
immediately to this profile.
killserver
When set to true, this flag causes Unison to kill the remote server process when the
synchronization is finished. This behavior is the default for ssh connections, so this preference
is not normally needed when running over ssh; it is provided so that socket-mode servers can be
killed off after a single run of Unison, rather than waiting to accept future connections. (Some
users prefer to start a remote socket server for each run of Unison, rather than leaving one
running all the time.)
labelxxx
Used in a profile to provide a descriptive string documenting its settings. (This is useful for
users that switch between several profiles, especially using the `fast switch' feature of the
graphical user interface.)
linksxxx
When set to true, this flag causes Unison to synchronize symbolic links. When the flag is set to
false, symbolic links will be ignored during update detection. Ordinarily, when the flag is set
to default, symbolic links are synchronized except when one of the hosts is running Windows. On a
Windows client, Unison makes an attempt to detect if symbolic links are supported and allowed by
user privileges. You may have to get elevated privileges to create symbolic links. When the flag
is set to default and symbolic links can't be synchronized then an error is produced during
update detection.
listenxxx
When acting as a server on a TCP socket, Unison will by default listen on "any" address (0.0.0.0
and [::]). This command-line argument allows to specify a different listening address and can be
repeated to listen on multiple addresses. Listening address can be specified as a host name or an
IP address.
log When this flag is set, Unison will log all changes to the filesystems on a file.
logfilexxx
By default, logging messages will be appended to the file unison.log in your .unison directory.
Set this preference if you prefer another file. It can be a path relative to your .unison
directory. Sending SIGUSR1 will close the logfile; the logfile will be re-opened (and created, if
needed) automatically, to allow for log rotation.
maxbackupsn
This preference specifies the number of backup versions that will be kept by unison, for each
path that matches the predicate backup. The default is 2.
maxerrorsn
This preference controls after how many errors Unison aborts a directory transfer. Setting it to
a large number allows Unison to transfer most of a directory even when some files fail to be
copied. The default is 1. If the preference is set too high, Unison may take a long time to abort
in case of repeated failures (for instance, when the disk is full).
maxsizethresholdn
A number indicating above what filesize (in kilobytes) Unison should flag a conflict instead of
transferring the file. This conflict remains even in the presence of force or prefer options. A
negative number will allow every transfer independently of the size. The default is -1.
maxthreadsn
This preference controls how much concurrency is allowed during the transport phase. Normally, it
should be set reasonably high to maximize performance, but when Unison is used over a
low-bandwidth link it may be helpful to set it lower (e.g. to 1) so that Unison doesn't soak up
all the available bandwidth. The default is the special value 0, which mean 20 threads when file
content streaming is deactivated and 1000 threads when it is activated.
mergexxx
This preference can be used to run a merge program which will create a new version for each of
the files and the backup, with the last backup and both replicas. The syntax of pathspec->cmd
is described in Section “Path Specification” in the manual, and further details on Merging
functions are present in Section “Merging Conflicting Versions” in the manual.
mountpointxxx
Including the preference -mountpointPATH causes Unison to double-check, at the end of update
detection, that PATH exists and abort if it does not. This is useful when Unison is used to
synchronize removable media. This preference can be given more than once. See Section “Mount
Points and Removable Media” in the manual.
nocreationxxx
Including the preference -nocreationroot prevents Unison from performing any file creation on
root root. You can also specify a unique prefix or suffix of the path of one of the roots or a
unique prefix of the hostname of a remote root. This preference can be included twice, once for
each root, if you want to prevent any creation.
nocreationpartialxxx
Including the preference nocreationpartial=PATHSPEC -> root prevents Unison from performing any
file creation in PATHSPEC on root root (see Section “Path Specification” in the manual for more
information). It is recommended to use BelowPath patterns when selecting a directory and all its
contents.
nodeletionxxx
Including the preference -nodeletionroot prevents Unison from performing any file deletion on
root root. You can also specify a unique prefix or suffix of the path of one of the roots or a
unique prefix of the hostname of a remote root. This preference can be included twice, once for
each root, if you want to prevent any deletion.
nodeletionpartialxxx
Including the preference nodeletionpartial=PATHSPEC -> root prevents Unison from performing any
file deletion in PATHSPEC on root root (see Section “Path Specification” in the manual for more
information). It is recommended to use BelowPath patterns when selecting a directory and all its
contents.
noupdatexxx
Including the preference -noupdateroot prevents Unison from performing any file update or
deletion on root root. You can also specify a unique prefix or suffix of the path of one of the
roots or a unique prefix of the hostname of a remote root. This preference can be included twice,
once for each root, if you want to prevent any update.
noupdatepartialxxx
Including the preference noupdatepartial=PATHSPEC -> root prevents Unison from performing any
file update or deletion in PATHSPEC on root root (see Section “Path Specification” in the manual
for more information). It is recommended to use BelowPath patterns when selecting a directory and
all its contents.
numericids
When this flag is set to true, groups and users are synchronized numerically, rather than by
name. The special uid 0 and the special group 0 are never mapped via user/group names even if
this preference is not set.
owner When this flag is set to true, the owner attributes of the files are synchronized. Whether the
owner names or the owner identifiers are synchronizeddepends on the preference numerids.
pathxxx
When no path preference is given, Unison will simply synchronize the two entire replicas,
beginning from the given pair of roots. If one or more path preferences are given, then Unison
will synchronize only these paths and their children. (This is useful for doing a fast sync of
just one directory, for example.) Note that path preferences are interpreted literally—they are
not regular expressions.
permsn
The integer value of this preference is a mask indicating which permission bits should be
synchronized. It is set by default to $0o1777$: all bits but the set-uid and set-gid bits are
synchronised (synchronizing these latter bits can be a security hazard). If you want to
synchronize all bits, you can set the value of this preference to $-1$. If one of the replica is
on a FAT [Windows] filesystem, you should consider using the fat preference instead of this
preference. If you need Unison not to set permissions at all, set the value of this preference to
$0$ and set the preference dontchmod to true.
preferxxx
Including the preference -preferroot causes Unison always to resolve conflicts in favor of root,
rather than asking for guidance from the user, except for paths marked by the preference merge.
(The syntax of root is the same as for the root preference, plus the special values newer and
older.) You can also specify a unique prefix or suffix of the path of one of the roots or a
unique prefix of the hostname of a remote root. This preference is overridden by the
preferpartial preference. This preference should be used only if you are sure you know what you
are doing!
preferpartialxxx
Including the preference preferpartial=PATHSPEC -> root causes Unison always to resolve
conflicts in favor of root, rather than asking for guidance from the user, for the files in
PATHSPEC (see Section “Path Specification” in the manual for more information). (The syntax of
root is the same as for the root preference, plus the special values newer and older.) You can
also specify a unique prefix or suffix of the path of one of the roots or a unique prefix of the
hostname of a remote root. This preference should be used only if you are sure you know what you
are doing!
repeatxxx
Setting this preference causes the text-mode interface to synchronize repeatedly, rather than
doing it just once and stopping. If the argument is a number, Unison will pause for that many
seconds before beginning again. When the argument is watch, Unison relies on an external file
monitoring process to synchronize whenever a change happens. You can combine the two with a +
character to use file monitoring and also do a full scan every specified number of seconds. For
example, watch+3600 will react to changes immediately and additionally do a full scan every hour.
retryn
Setting this preference causes the text-mode interface to try again to synchronize updated paths
where synchronization fails. Each such path will be tried N times.
rootxxx
Each use of this preference names the root of one of the replicas for Unison to synchronize.
Exactly two roots are needed, so normal modes of usage are either to give two values for root in
the profile, or to give no values in the profile and provide two on the command line. Details of
the syntax of roots can be found in Section “Roots” in the manual. The two roots can be given in
either order; Unison will sort them into a canonical order before doing anything else. It also
tries to `canonize' the machine names and paths that appear in the roots, so that, if Unison is
invoked later with a slightly different name for the same root, it will be able to locate the
correct archives.
rootaliasxxx
When calculating the name of the archive files for a given pair of roots, Unison replaces any
roots matching the left-hand side of any rootalias rule by the corresponding right-hand side.
rsrcxxx
When set to true, this flag causes Unison to synchronize resource forks and HFS meta-data. On
filesystems that do not natively support resource forks, this data is stored in Carbon-compatible
._AppleDouble files. When the flag is set to false, Unison will not synchronize these data.
Ordinarily, the flag is set to default, and these data are automatically synchronized if either
host is running OSX. In rare circumstances it is useful to set the flag manually.
rsync Unison uses the 'rsync algorithm' for 'diffs-only' transfer of updates to large files. Setting
this flag to false makes Unison use whole-file transfers instead. Under normal circumstances,
there is no reason to do this, but if you are having trouble with repeated 'rsync failure'
errors, setting it to false should permit you to synchronize the offending files.
selftest
Run internal tests and exit. This option is mostly for developers and must be used carefully: in
particular, it will delete the contents of both roots, so that it can install its own files for
testing. This flag only makes sense on the command line. When it is provided, no preference file
is read: all preferences must be specified on thecommand line. Also, since the self-test
procedure involves overwriting the roots and backup directory, the names of the roots and of the
backupdir preference must include the string "test" or else the tests will be aborted. (If these
are not given on the command line, dummy subdirectories in the current directory will be created
automatically.)
servercmdxxx
This preference can be used to explicitly set the name of the Unison executable on the remote
server (e.g., giving a full path name), if necessary.
showarchive
When this preference is set, Unison will print out the 'true names'of the roots, in the same form
as is expected by the rootalias preference.
silent When this preference is set to true, the textual user interface will print nothing at all, except
in the case of errors. Setting silent to true automatically sets the batch preference to true.
socketxxx
Start unison as a server listening on a TCP socket (with TCP port number as argument) or a local
socket (aka Unix domain socket) (with socket path as argument).
sortbysize
When this flag is set, the user interface will list changed files by size (smallest first) rather
than by name. This is useful, for example, for synchronizing over slow links, since it puts very
large files at the end of the list where they will not prevent smaller files from being
transferred quickly. This preference (as well as the other sorting flags, but not the sorting
preferences that require patterns as arguments) can be set interactively and temporarily using
the 'Sort' menu in the graphical and text user interfaces.
sortfirstxxx
Each argument to sortfirst is a pattern pathspec, which describes a set of paths. Files matching
any of these patterns will be listed first in the user interface. The syntax of pathspec is
described in Section “Path Specification” in the manual.
sortlastxxx
Similar to sortfirst, except that files matching one of these patterns will be listed at the very
end.
sortnewfirst
When this flag is set, the user interface will list newly created files before all others. This
is useful, for example, for checking that newly created files are not `junk', i.e., ones that
should be ignored or deleted rather than synchronized.
sourcexxx
Include preferences from a file. sourcename reads the file “name” in the .unison directory and
includes its contents as if it was part of a profile or given directly on command line.
sshargsxxx
The string value of this preference will be passed as additional arguments (besides the host name
and the name of the Unison executable on the remote system) to the ssh command used to invoke the
remote server. The backslash is an escape character.
sshcmdxxx
This preference can be used to explicitly set the name of the ssh executable (e.g., giving a full
path name), if necessary.
stream (Deprecated) When this preference is set, Unison will use an experimental streaming protocol for
transferring file contents more efficiently. The default value is true.
terse When this preference is set to true, the user interface will not print status messages.
testserver
Setting this flag on the command line causes Unison to attempt to connect to the remote server
and, if successful, print a message and immediately exit. Useful for debugging installation
problems. Should not be set in preference files.
times When this flag is set to true, file modification times (but not directory modtimes) are
propagated.
uixxx This preference selects either the graphical or the textual user interface. Legal values are
graphic or text. Because this option is processed specially during Unison's start-up sequence,
it can only be used on the command line. In preference files it has no effect. If the Unison
executable was compiled with only a textual interface, this option has no effect. (The
pre-compiled binaries are all compiled with both interfaces available.)
unicodexxx
When set to true, this flag causes Unison to perform case insensitive file comparisons assuming
Unicode encoding. This is the default. When the flag is set to false, Latin 1 encoding is assumed
(this means that all bytes that are not letters in Latin 1 encoding will be compared
byte-for-byte, even if they may be valid characters in some other encoding). When Unison runs in
case sensitive mode, this flag only makes a difference if one host is running Mac OS X. Under Mac
OS X, it selects whether comparing the filenames up to decomposition, or byte-for-byte.
version
Print the current version number and exit. (This option only makes sense on the command line.)
watch Unison uses a file watcher process, when available, to detect filesystem changes; this is used to
speed up update detection. Setting this flag to false disables the use of this process.
xattrignorexxx
Preference -xattrignorenamespec causes Unison to ignore extended attributes with names that
match namespec. This can be used to exclude extended attributes that would fail synchronization
due to lack of permissions or technical differences at replicas. The syntax of namespec is the
same as used for path specification (described in Section “Path Specification” in the manual);
prefer the Path and Regex forms over the Name form. The pattern is applied to the name of
extended attribute, not to path. OnLinux, attributes in the security and trusted namespaces are
ignored by default (this is achieved by pattern Regex!(security|trusted)[.].*); also attributes
used to store POSIX ACL are ignored by default (this is achieved by pattern Path!system.posix_acl_*). To sync attributes in one or both of these namespaces, see the
xattrignorenot preference. Note that the namespace name must be prefixed with a "!" (applies on
Linux only). All names not prefixed with a "!" are taken as strictly belonging to the user
namespace and therefore the "!user." prefix is never used.
xattrignorenotxxx
This preference overrides the preference xattrignore. It gives a list of patterns (in the same
format as xattrignore) for extended attributes that should not be ignored, whether or not they
happen to match one of the xattrignore patterns. It is possible to synchronize only desired
attributes by ignoring all attributes (for example, by setting xattrignore to Path* and then
adding xattrignorenot for extended attributes that should be synchronized. OnLinux, attributes
in the security and trusted namespaces are ignored by default. To sync attributes in one or both
of these namespaces, you may add an xattrignorenot pattern like Path!security.* to sync all
attributes in the security namespace, or Path!security.selinux to sync a specific attribute in
an otherwise ignored namespace. A pattern like Path!system.posix_acl_* can be used to sync POSIX
ACLs on Linux. Note that the namespace name must be prefixed with a "!" (applies on Linux only).
All names not prefixed with a "!" are taken as strictly belonging to the user namespace and
therefore the "!user." prefix is never used.
xattrs When this flag is set to true, the extended attributes of files and directories are synchronized.
System extended attributes are not synchronized.
xferbycopying
When this preference is set, Unison will try to avoid transferring file contents across the
network by recognizing when a file with the required contents already exists in the target
replica. This usually allows file moves to be propagated very quickly. The default value is true.