SHA256
1
0
forked from pool/unison

Accepting request 26745 from network

Copy from network/unison based on submit request 26745 from user mhopf

OBS-URL: https://build.opensuse.org/request/show/26745
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/unison?expand=0&rev=15
This commit is contained in:
OBS User autobuild 2009-12-16 16:27:39 +00:00 committed by Git OBS Bridge
parent 08feff5cb5
commit 24d1c20b62
5 changed files with 407 additions and 208 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec04069e95249a5b4e212ab48ec03820b1e1f707fb4c607e7f98851e98735adc
size 674332

View File

@ -36,8 +36,8 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
<BR>
<div id="manualheader"><DIV CLASS="center"><FONT SIZE=7><FONT COLOR=black>Unison File Synchronizer</FONT><BR>
<FONT SIZE=6><FONT COLOR=black>User Manual and Reference Guide</FONT><BR>
<FONT SIZE=5>Version 2.27.157<BR>
<FONT SIZE=4>Copyright 1998-2008, Benjamin C. Pierce
<FONT SIZE=5>Version 2.32.52<BR>
<FONT SIZE=4>Copyright 1998-2009, Benjamin C. Pierce
</FONT></FONT></FONT></FONT></DIV></div><BR>
<BR>
<!--TOC section Contents-->
@ -97,13 +97,14 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#perms">Permissions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#crossplatform">Cross-Platform Synchronization</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#speed">Slow Links</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#speeding">Making Unison Faster on Large Files</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#fastcheck">Fast Update Detection</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#mountpoints">Mount Points and Removable Media</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#click">Click-starting Unison</A><BR>
<A HREF="#ssh"><FONT SIZE=4><B>Installing Ssh</B></FONT></A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#ssh-unix">Unix</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8226;<A HREF="#ssh-win">Windows</A><BR>
<A HREF="#news"><FONT SIZE=4><B>Changes in Version 2.27.157</B></FONT></A><BR>
<A HREF="#news"><FONT SIZE=4><B>Changes in Version 2.32.52</B></FONT></A><BR>
</BLOCKQUOTE>
@ -218,7 +219,10 @@ contributed to an even earlier prototype.<BR>
Moderated mailing lists are available for bug reporting, announcements
of new versions, discussions among users, and discussions among
developers. See
<A HREF="http://www.cis.upenn.edu/~bcpierce/unison/lists.html"><TT>http://www.cis.upenn.edu/~bcpierce/unison/lists.html</TT></A> for more
<BLOCKQUOTE CLASS="quote">
<A HREF="http://www.cis.upenn.edu/~bcpierce/unison/lists.html"><TT>http://www.cis.upenn.edu/~bcpierce/unison/lists.html</TT></A>
</BLOCKQUOTE>
for more
information.<BR>
<BR>
<!--TOC subsection Development Status-->
@ -574,7 +578,7 @@ direction that the change needs to be propagated. For example,
&lt;--- new file c [f]
</PRE>indicates that the file <TT>c</TT> has been modified only in the second
replica, and that the default action is therefore to propagate the new
version to the first replica. To <B>f</B>ollow Unison's recommendation,
version to the first replica. To <B>f</B>ollw Unison's recommendation,
press the &#8220;f&#8221; at the prompt.<BR>
<BR>
If both replicas are modified and their contents are different, then
@ -592,7 +596,7 @@ nothing is shown. Unison simply notes that the file is up to date.<BR>
<BR>
These display conventions are used by both versions of the user
interface. The only difference lies in the way in which Unison's
default actions are either accepted or overridden by the user.<BR>
default actions are either accepted or overriden by the user.<BR>
<BR>
<BR>
<EM>Textual Interface:</EM><UL CLASS="itemize"><LI CLASS="li-itemize">
@ -1291,7 +1295,7 @@ A more powerful way of changing archive names is provided by the
<CODE>rootalias</CODE> preference. The preference file may contain any number of
lines of the form:
<PRE>
rootalias = //<I>hostnameA</I>//<I>path-to-replicaA</I> -&gt; //<I>hostnameB</I>//<I>path-to-replicaB</I>
rootalias = //<I>hostnameA</I>//<I>path-to-replicaA</I> -&gt; //<I>hostnameB</I>/<I>path-to-replicaB</I>
</PRE>
When calculating the name of the archive files for a given pair of roots,
Unison replaces any root that matches the left-hand side of any rootalias
@ -1300,8 +1304,11 @@ rule by the corresponding right-hand side.<BR>
So, if you need to relocate a root on one of the hosts, you can add a
rule of the form:
<PRE>
rootalias = //<I>new-hostname</I>//<I>new-path</I> -&gt; //<I>old-hostname</I>//<I>old-path</I>
rootalias = //<I>new-hostname</I>//<I>new-path</I> -&gt; //<I>old-hostname</I>/<I>old-path</I>
</PRE>
Note that root aliases are case-sensitive, even on case-insensitive file
systems.<BR>
<BR>
<EM>Warning</EM>: The <CODE>rootalias</CODE> option is dangerous and should only
be used if you are sure you know what you're doing. In particular, it
should only be used if you are positive that either (1) both the original
@ -1348,82 +1355,91 @@ Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
Options:
-addprefsto xxx file to add new prefs to
-addversionno add version number to name of unison executable on server
-auto automatically accept default actions
-backup xxx add a pattern to the backup list
-backupcurrent xxx add a pattern to the backupcurrent list
-backupcurrentnot xxx add a pattern to the backupcurrentnot list
-backupdir xxx Directory for storing centralized backups
-backuplocation xxx where backups are stored ('local' or 'central')
-backupnot xxx add a pattern to the backupnot list
-backupprefix xxx prefix for the names of backup files
-backups keep backup copies of all files (see also 'backup')
-backupsuffix xxx a suffix to be added to names of backup files
-batch batch mode: ask no questions at all
-confirmbigdeletes request confirmation for whole-replica deletes
-confirmmerge ask for confirmation before commiting results of a merge
-contactquietly Suppress the 'contacting server' message during startup
-debug xxx debug module xxx ('all' -&gt; everything, 'verbose' -&gt; more)
-doc xxx show documentation ('-doc topics' lists topics)
-dumbtty do not try to change terminal settings in text UI
-fastcheck xxx do fast update detection (`true', `false', or `default')
-follow xxx add a pattern to the follow list
-force xxx force changes from this replica to the other
-forcepartial xxx add a pattern to the forcepartial list
-group synchronize group
-height n height (in lines) of main window in graphical interface
-host xxx bind the socket to this host name in server socket mode
-ignore xxx add a pattern to the ignore list
-ignorecase xxx ignore upper/lowercase in filenames (`true', `false', or `default')
-ignorelocks ignore locks left over from previous run (dangerous!)
-ignorenot xxx add a pattern to the ignorenot list
-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 file specified by logfile preference
-logfile xxx Log file 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
-owner synchronize owner
-path xxx path to synchronize
-perms n part of the permissions which is synchronized
-prefer xxx choose this replica's version for conflicting changes
-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 interface only)
-root xxx root of a replica
-rootalias xxx Register alias for canonical root names
-rsrc xxx synchronize resource forks and HFS meta-data (`true', `false', or `default')
-rsync activate the rsync transfer mode
-selftest run internal tests and exit
-servercmd xxx name of unison executable on remote server
-showarchive show name of archive and 'true names' (for rootalias) of roots
-silent print nothing (except error messages)
-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
-terse suppress status messages
-testserver exit immediately after the connection to the server
-times synchronize modification times
-ui xxx select user interface ('text' or 'graphic'); command-line only
-version print version and exit
-xferbycopying optimize transfers using local copies, if possible
Basic options:
-auto automatically accept default (nonconflicting) actions
-batch batch mode: ask no questions at all
-doc xxx show documentation ('-doc topics' lists topics)
-follow xxx add a pattern to the follow list
-force xxx force changes from this replica to the other
-group synchronize group attributes
-ignore xxx add a pattern to the ignore list
-ignorenot xxx add a pattern to the ignorenot list
-owner synchronize owner
-path xxx path to synchronize
-perms n part of the permissions which is synchronized
-prefer xxx choose this replica's version for conflicting changes
-root xxx root of a replica (should be used exactly twice)
-silent print nothing except error messages
-terse suppress status messages
-testserver exit immediately after the connection to the server
-times synchronize modification times
-version print version and exit
Advanced options:
-addprefsto xxx file to add new prefs to
-addversionno add version number to name of unison on server
-backup xxx add a pattern to the backup list
-backupcurr xxx add a pattern to the backupcurr list
-backupcurrnot xxx add a pattern to the backupcurrnot list
-backupdir xxx directory for storing centralized backups
-backuploc xxx where backups are stored ('local' or 'central')
-backupnot xxx add a pattern to the backupnot list
-backupprefix xxx prefix for the names of backup files
-backups keep backup copies of all files (see also 'backup')
-backupsuffix xxx a suffix to be added to names of backup files
-confirmbigdel ask about whole-replica (or path) deletes (default true)
-confirmmerge ask for confirmation before commiting results of a merge
-contactquietly suppress the 'contacting server' message during startup
-copyprog xxx external program for copying large files
-copyprogrest xxx variant of copyprog for resuming partial transfers
-copyquoterem xxx add quotes to remote file name for copyprog (true/false/default)
-copythreshold n use copyprog on files bigger than this (if &gt;=0, in Kb)
-debug xxx debug module xxx ('all' -&gt; everything, 'verbose' -&gt; more)
-diff xxx command for showing differences between files
-dontchmod When set, never use the chmod system call
-dumbtty do not change terminal settings in text UI (default true)
-fastcheck xxx do fast update detection (true/false/default)
-forcepartial xxx add a pattern to the forcepartial list
-height n height (in lines) of main window in graphical interface
-host xxx bind the socket to this host name in server socket mode
-ignorecase xxx identify upper/lowercase filenames (true/false/default)
-ignorelocks 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)
</PRE>
</BLOCKQUOTE>
Here, in more detail, are what they do. Many are discussed in even greater
detail in other sections of the manual.
Here, in more detail, is what they do. Many are discussed in greater detail
in other sections of the manual.
<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description">
<B>addprefsto <TT>xxx</TT></B><DD CLASS="dd-description">
By default, new preferences added by Unison (e.g., new <CODE>ignore</CODE> clauses) will be appended to whatever preference file Unison was told to load at the beginning of the run. Setting the preference <TT>addprefsto <I>filename</I></TT> makes Unison add new preferences to the file named <TT><I>filename</I></TT> instead.<BR>
@ -1439,25 +1455,27 @@ Including the preference <TT>-backup <I>pathspec</I></TT> causes Unison to keep
<BR>
The syntax of <TT><I>pathspec</I></TT> is described in the <A HREF="#pathspec">Path Specification</A> section.<BR>
<BR>
<DT CLASS="dt-description"><B>backupcurrent <TT>xxx</TT></B><DD CLASS="dd-description">
Including the preference <TT>-backupcurrent <I>pathspec</I></TT> causes Unison to keep a backup of the <EM>current</EM> version of every file matching <TT><I>pathspec</I></TT>. 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 documentatation for the <CODE>merge</CODE> preference. For more details, see the <A HREF="#merge">Merging Conflicting Versions</A> section.<BR>
<DT CLASS="dt-description"><B>backupcurr <TT>xxx</TT></B><DD CLASS="dd-description">
Including the preference <TT>-backupcurr <I>pathspec</I></TT> causes Unison to keep a backup of the <EM>current</EM> version of every file matching <TT><I>pathspec</I></TT>. 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 documentatation for the <CODE>merge</CODE> preference. For more details, see the <A HREF="#merge">Merging Conflicting Versions</A> section.<BR>
<BR>
The syntax of <TT><I>pathspec</I></TT> is described in the <A HREF="#pathspec">Path Specification</A> section.<BR>
<BR>
<DT CLASS="dt-description"><B>backupcurrentnot <TT>xxx</TT></B><DD CLASS="dd-description">
Exceptions to <CODE>backupcurrent</CODE>, like the <CODE>ignorenot</CODE> preference.<BR>
<DT CLASS="dt-description"><B>backupcurrnot <TT>xxx</TT></B><DD CLASS="dd-description">
Exceptions to <CODE>backupcurr</CODE>, like the <CODE>ignorenot</CODE> preference.<BR>
<BR>
<DT CLASS="dt-description"><B>backupdir <TT>xxx</TT></B><DD CLASS="dd-description">
If this preference is set, Unison will use it as the name of the directory used to store backup files specified by the <TT>backup</TT> preference, when <TT>backuplocation</TT> is set to <CODE>central</CODE>. It is checked <EM>after</EM> the <TT>UNISONBACKUPDIR</TT> environment variable.<BR>
<BR>
<DT CLASS="dt-description"><B>backuplocation <TT>xxx</TT></B><DD CLASS="dd-description">
<DT CLASS="dt-description"><B>backuploc <TT>xxx</TT></B><DD CLASS="dd-description">
This preference determines whether backups should be kept locally, near the original files, or in a central directory specified by the <TT>backupdir</TT> preference. If set to <CODE>local</CODE>, backups will be kept in the same directory as the original files, and if set to <CODE>central</CODE>, <TT>backupdir</TT> will be used instead.<BR>
<BR>
<DT CLASS="dt-description"><B>backupnot <TT>xxx</TT></B><DD CLASS="dd-description">
The values of this preference specify paths or individual files or regular expressions that should <EM>not</EM> be backed up, even if the <TT>backup</TT> preference selects them&mdash;i.e., it selectively overrides <TT>backup</TT>. The same caveats apply here as with <TT>ignore</TT> and t ignorenot.<BR>
<BR>
<DT CLASS="dt-description"><B>backupprefix <TT>xxx</TT></B><DD CLASS="dd-description">
When a backup for a file <CODE>NAME</CODE> is created, it is stored in a directory specified by <TT>backuplocation</TT>, in a file called <TT>backupprefix</TT><CODE>NAME</CODE><TT>backupsuffix</TT>. <TT>backupprefix</TT> can include a directory name (causing Unison to keep all backup files for a given directory in a subdirectory with this name), and both <TT>backupprefix</TT> and <TT>backupsuffix</TT> can contain the string<TT><I>$VERSION</I></TT>, which will be replaced by the <EM>age</EM> 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.<BR>
When a backup for a file <CODE>NAME</CODE> is created, it is stored in a directory specified by <TT>backuplocation</TT>, in a file called <TT>backupprefix</TT><CODE>NAME</CODE><TT>backupsuffix</TT>. <TT>backupprefix</TT> can include a directory name (causing Unison to keep all backup files for a given directory in a subdirectory with this name), and both <TT>backupprefix</TT> and <TT>backupsuffix</TT> can contain the string<TT><I>$VERSION</I></TT>, which will be replaced by the <EM>age</EM> 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. <BR>
<BR>
One thing to be careful of: If the <TT>backuploc</TT> preference is set to <TT>local</TT>, Unison will automatically ignore <EM>all</EM> files whose prefix and suffix match <TT>backupprefix</TT> and <TT>backupsuffix</TT>. So be careful to choose values for these preferences that are sufficiently different from the names of your real files.<BR>
<BR>
<DT CLASS="dt-description"><B>backups </B><DD CLASS="dd-description">
Setting this flag to true is equivalent to setting <TT>backuplocation</TT> to <TT>local</TT> and <TT>backup</TT> to <CODE>Name *</CODE>.<BR>
@ -1468,15 +1486,27 @@ See <TT>backupprefix</TT> for full documentation.<BR>
<DT CLASS="dt-description"><B>batch </B><DD CLASS="dd-description">
When this is set to <TT>true</TT>, the user interface will ask no questions at all. Non-conflicting changes will be propagated; conflicts will be skipped.<BR>
<BR>
<DT CLASS="dt-description"><B>confirmbigdeletes </B><DD CLASS="dd-description">
When this is set to <TT>true</TT>, Unison will request an extra confirmation if it appears that the entire replica has been deleted, before propagating the change. If the <TT>batch</TT> flag is also set, synchronization will be aborted. When the <TT>path</TT> 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 <TT>mountpoint</TT> preference.<BR>
<DT CLASS="dt-description"><B>confirmbigdel </B><DD CLASS="dd-description">
!When this is set to <TT>true</TT>, Unison will request an extra confirmation if it appears that the entire replica has been deleted, before propagating the change. If the <TT>batch</TT> flag is also set, synchronization will be aborted. When the <TT>path</TT> 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 <TT>mountpoint</TT> preference.<BR>
<BR>
<DT CLASS="dt-description"><B>confirmmerge </B><DD CLASS="dd-description">
Setting this preference causes both the text and graphical interfaces to ask the user if the results of a merge command may be commited 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.<BR>
Setting this preference causes both the text and graphical interfaces to ask the user if the results of a merge command may be commited 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.<BR>
<BR>
<DT CLASS="dt-description"><B>contactquietly </B><DD CLASS="dd-description">
If this flag is set, Unison will skip displaying the `Contacting server' message (which some users find annoying) during startup.<BR>
<BR>
<DT CLASS="dt-description"><B>copyprog <TT>xxx</TT></B><DD CLASS="dd-description">
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 <TT>rsync</TT> with appropriate options&mdash;most users should not need to change it.<BR>
<BR>
<DT CLASS="dt-description"><B>copyprogrest <TT>xxx</TT></B><DD CLASS="dd-description">
A variant of <TT>copyprog</TT> that names an external program that should be used to continue the transfer of a large file that has already been partially transferred. Typically, <TT>copyprogrest</TT> will just be <TT>copyprog</TT> with one extra option (e.g., <TT>&ndash;partial</TT>, for rsync). The default setting invokes <TT>rsync</TT> with appropriate options&mdash;most users should not need to change it.<BR>
<BR>
<DT CLASS="dt-description"><B>copyquoterem <TT>xxx</TT></B><DD CLASS="dd-description">
When set to <TT>true</TT>, this flag causes Unison to add an extra layer of quotes to the remote path passed to the external copy program. This is needed by rsync, for example, which internally uses an ssh connection requiring an extra level of quoting for paths containing spaces. When this flag is set to <TT>default</TT>, extra quotes are added if the value of <TT>copyprog</TT> contains the string <TT>rsync</TT>.<BR>
<BR>
<DT CLASS="dt-description"><B>copythreshold <TT>n</TT></B><DD CLASS="dd-description">
A number indicating above what filesize (in kilobytes) Unison should use the external copying utility specified by <TT>copyprog</TT>. Specifying 0 will cause <EM>all</EM> copies to use the external program; a negative number will prevent any files from using it. The default is -1. See the <A HREF="#speeding">Making Unison Faster on Large Files</A> section for more information.<BR>
<BR>
<DT CLASS="dt-description"><B>debug <TT>xxx</TT></B><DD CLASS="dd-description">
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 <CODE>debug</CODE> can be found by looking for calls to <CODE>Util.debug</CODE> in the sources (using, e.g., <CODE>grep</CODE>). Setting <CODE>-debug all</CODE> causes information from <EM>all</EM> 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); <CODE>-debug verbose</CODE> turns on some additional debugging output from some modules (e.g., it will show exactly what bytes are being sent across the network).<BR>
<BR>
@ -1486,6 +1516,9 @@ This preference can be used to control the name and command-line arguments of th
<DT CLASS="dt-description"><B>doc <TT>xxx</TT></B><DD CLASS="dd-description">
The command-line argument <TT>-doc <I>secname</I></TT> causes unison to display section <TT><I>secname</I></TT> of the manual on the standard output and then exit. Use <CODE>-doc all</CODE> to display the whole manual, which includes exactly the same information as the printed and HTML manuals, modulo formatting. Use <CODE>-doc topics</CODE> to obtain a list of the names of the various sections that can be printed.<BR>
<BR>
<DT CLASS="dt-description"><B>dontchmod </B><DD CLASS="dd-description">
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.<BR>
<BR>
<DT CLASS="dt-description"><B>dumbtty </B><DD CLASS="dd-description">
When set to <CODE>true</CODE>, 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. <BR>
<BR>
@ -1522,7 +1555,7 @@ This preference should be used only if you are <EM>sure</EM> you know what you a
<DT CLASS="dt-description"><B>group </B><DD CLASS="dd-description">
When this flag is set to <CODE>true</CODE>, the group attributes of the files are synchronized. Whether the group names or the group identifiers are synchronizeddepends on the preference <TT>numerids</TT>.<BR>
<BR>
<DT CLASS="dt-description"><B>height <TT>n </TT></B><DD CLASS="dd-description">
<DT CLASS="dt-description"><B>height <TT>n</TT></B><DD CLASS="dd-description">
Used to set the height (in lines) of the main window in the graphical user interface.<BR>
<BR>
<DT CLASS="dt-description"><B>ignore <TT>xxx</TT></B><DD CLASS="dd-description">
@ -1532,7 +1565,7 @@ Including the preference <TT>-ignore <I>pathspec</I></TT> causes Unison to compl
When set to <TT>true</TT>, this flag causes Unison to treat filenames as case insensitive&mdash;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 <TT>false</TT>, Unison will treat all filenames as case sensitive. Ordinarily, when the flag is set to <TT>default</TT>, filenames are automatically taken to be case-insensitive if either host is running Windows or OSX. In rare circumstances it is useful to set the flag manually (e.g. when running Unison on a Unix system with a FAT [Windows] volume mounted).<BR>
<BR>
<DT CLASS="dt-description"><B>ignorelocks </B><DD CLASS="dd-description">
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 manualintervention. This option should be set only if you are <EM>positive</EM> 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.<BR>
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 <EM>positive</EM> 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.<BR>
<BR>
<DT CLASS="dt-description"><B>ignorenot <TT>xxx</TT></B><DD CLASS="dd-description">
This preference overrides the preference <TT>ignore</TT>.
@ -1579,10 +1612,10 @@ By default, logging messages will be appended to the file
<CODE>unison.log</CODE> in your HOME directory. Set this preference if
you prefer another file.<BR>
<BR>
<DT CLASS="dt-description"><B>maxbackups <TT>n </TT></B><DD CLASS="dd-description">
<DT CLASS="dt-description"><B>maxbackups <TT>n</TT></B><DD CLASS="dd-description">
This preference specifies the number of backup versions that will be kept by unison, for each path that matches the predicate <CODE>backup</CODE>. The default is 2.<BR>
<BR>
<DT CLASS="dt-description"><B>maxthreads <TT>n </TT></B><DD CLASS="dd-description">
<DT CLASS="dt-description"><B>maxthreads <TT>n</TT></B><DD CLASS="dd-description">
This preference controls how much concurrency is allowed during the transport phase. Normally, it should be set reasonably high (default is 20) 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.<BR>
<BR>
<DT CLASS="dt-description"><B>merge <TT>xxx</TT></B><DD CLASS="dd-description">
@ -1602,7 +1635,7 @@ When this flag is set to <CODE>true</CODE>, the owner attributes of the files ar
<DT CLASS="dt-description"><B>path <TT>xxx</TT></B><DD CLASS="dd-description">
When no <CODE>path</CODE> preference is given, Unison will simply synchronize the two entire replicas, beginning from the given pair of roots. If one or more <CODE>path</CODE> 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 <TT>path</TT> preferences are intepreted literally&mdash;they are not regular expressions.<BR>
<BR>
<DT CLASS="dt-description"><B>perms <TT>n </TT></B><DD CLASS="dd-description">
<DT CLASS="dt-description"><B>perms <TT>n</TT></B><DD CLASS="dd-description">
The integer value of this preference is a mask indicating which permission bits should be synchronized. It is set by default to 0<I>o</I>1777: all bits but the set-uid and set-gid bits are synchronised (synchronizing theses latter bits can be a security hazard). If you want to synchronize all bits, you can set the value of this preference to &minus;1.<BR>
<BR>
<DT CLASS="dt-description"><B>prefer <TT>xxx</TT></B><DD CLASS="dd-description">
@ -1623,7 +1656,7 @@ When set to true, this preference makes Unison use Windows-style fast update det
<DT CLASS="dt-description"><B>repeat <TT>xxx</TT></B><DD CLASS="dd-description">
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.<BR>
<BR>
<DT CLASS="dt-description"><B>retry <TT>n </TT></B><DD CLASS="dd-description">
<DT CLASS="dt-description"><B>retry <TT>n</TT></B><DD CLASS="dd-description">
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.<BR>
<BR>
<DT CLASS="dt-description"><B>root <TT>xxx</TT></B><DD CLASS="dd-description">
@ -2382,6 +2415,59 @@ If you are using Unison with <TT>ssh</TT>, you may get some speed
improvement by enabling <TT>ssh</TT>'s compression feature. Do this by
adding the option &#8220;<TT>-rshargs -C</TT>&#8221; to the command line or &#8220;<TT>rshargs = -C</TT>&#8221; to your profile. <BR>
<BR>
<!--TOC subsection Making Unison Faster on Large Files-->
<H3 CLASS="subsection"><A NAME="speeding"></A>Making Unison Faster on Large Files</H3><!--SEC END -->
Unison's built-in implementation of the rsync algorithm makes transferring
updates to existing files pretty fast. However, for whole-file copies of
newly created files, the built-in transfer method is not highly optimized.
Also, if Unison is interrupted in the middle of transferring a large file,
it will attempt to retransfer the whole thing on the next run.<BR>
<BR>
These shortcomings can be addressed with a little extra work by telling
Unison to use an external file copying utility for whole-file transfers.
The recommended one is the standalone <TT>rsync</TT> tool, which is available
by default on most Unix systems and can easily be installed on Windows
systems using Cygwin.<BR>
<BR>
If you have <TT>rsync</TT> installed on both hosts, you can make Unison use it
simply by setting the <TT>copythreshold</TT> flag to something non-negative.
If you set it to 0, Unison will use the external copy utility for <EM>all</EM>
whole-file transfers. (This is probably slower than letting Unison copy
small files by itself, but can be useful for testing.) If you set it to a
larger value, Unison will use the external utility for all files larger than
this size (which is given in kilobytes, so setting it to 1000 will cause the
external tool to be used for all transfers larger than a megabyte).<BR>
<BR>
If you want to use a different external copy utility, set both the <TT>copyprog</TT> and <TT>copyprogpartial</TT> preferences&mdash;the former is used for
the first transfer of a file, while the latter is used when Unison sees a
partially transferred temp file on the receiving host. Be careful here:
Your external tool needs to be instructed to copy files in place (otherwise
if the transfer is interrupted Unison will not notice that some of the data
has already been transferred, the next time it tries). The default values
are:
<PRE CLASS="verbatim">
copyprog = rsync --inplace --compress
copyprogrest = rsync --partial --inplace --compress
</PRE>You may also need to set the <TT>copyquoterem</TT> preference. When it is set
to <TT>true</TT>, this causes Unison to add an extra layer of quotes to
the remote path passed to the external copy program. This is is needed by
rsync, for example, which internally uses an ssh connection, requiring an
extra level of quoting for paths containing spaces. When this flag is set to
<TT>default</TT>, extra quotes are added if the value of <TT>copyprog</TT>
contains the string <TT>rsync</TT>. The default value is <TT>default</TT>,
naturally.<BR>
<BR>
If a <EM>directory</EM> transfer is interrupted, the next run of Unison will
automatically skip any files that were completely transferred before the
interruption. (This behavior is always on: it does not depend on the
setting of the <TT>copythreshold</TT> preference.) Note, though, that the new
directory will not appear in the destination filesystem until everything has
been transferred&mdash;partially transferred directories are kept in a temporary
location (with names like <TT>.unison.DIRNAME....</TT>) until the transfer is
complete.<BR>
<BR>
<!--TOC subsection Fast Update Detection-->
<H3 CLASS="subsection"><A NAME="fastcheck"></A>Fast Update Detection</H3><!--SEC END -->
@ -2577,14 +2663,21 @@ you have trouble, you might try this one instead:
hosts, provide your remote user name when providing the remote root
(i.e., <CODE>//username@host/path...</CODE>).
</OL>
<hr><!--TOC section Changes in Version 2.27.157-->
<hr><!--TOC section Changes in Version 2.32.52-->
<H2 CLASS="section"><A NAME="news"></A>Changes in Version 2.27.157</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="news"></A>Changes in Version 2.32.52</H2><!--SEC END -->
Changes since 2.27.57:
Changes since 2.32.44:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Ignore one hour differences for deciding whether a file may have
Improvement to the code for resuming directory transfers:
(1) make sure file information (permissions, ...) has been properly set
when using a previously transferred temp file
(2) make sure previously transferred directories are writable
(other changes made in the developer version of Unison require a
protocol change)
<LI CLASS="li-itemize">Got rid of the 16MiB marshalling limit by marshalling to a bigarray
<LI CLASS="li-itemize">Ignore one hour differences for deciding whether a file may have
been updated. This avoids slow update detection after daylight
saving time changes under Windows. This makes it slightly more
likely to miss an update, but that should be safe enough.
@ -2605,6 +2698,15 @@ Ignore one hour differences for deciding whether a file may have
helpful about suggesting a workaround (running once with 'fastcheck'
set to false). The failure message has been changed to give this
advice.
<LI CLASS="li-itemize">Text UI
<UL CLASS="itemize"><LI CLASS="li-itemize">
During update detection, display status by updating a
single line rather than generating a new line of output every so
often. That should be less confusing.
<LI CLASS="li-itemize">In repeat mode, don't save the archives when there is no
update. Indeed, in this mode, we should minimize the amount of work
performed and it is unlikely that the archives have changed much.
</UL>
<LI CLASS="li-itemize">Bugfixes
<UL CLASS="itemize"><LI CLASS="li-itemize">
Fixed quotation of paths and names when writing to a preference file
@ -2629,39 +2731,159 @@ label. Fix contributed by Pedro Melo.
</UL>
Changes since 2.31:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Minor fixes and improvements:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Ignore one hour differences when deciding whether a file may have
been updated. This avoids slow update detection after daylight
saving time changes under Windows. This makes Unison slightly more
likely to miss an update, but it should be safe enough.
<LI CLASS="li-itemize">Fix a small bug that was affecting mainly windows users. We need to
commit the archives at the end of the sync even if there are no
updates to propagate because some files (in fact, if we've just
switched to DST on windows, a LOT of files) might have new modtimes
in the archive. (Changed the text UI only. It's less clear where
to change the GUI.)
<LI CLASS="li-itemize">Don't delete the temp file when a transfer fails due to a
fingerprint mismatch (so that we can have a look and see why!) We've also
added more debugging code togive more informative error messages when we
encounter the dreaded and longstanding "assert failed during file
transfer" bug
</UL>
</UL>
Changes since 2.27:
<UL CLASS="itemize"><LI CLASS="li-itemize">
If Unison is interrupted during a directory transfer, it will now
leave the partially transferred directory intact in a temporary
location. (This maintains the invariant that new files/directories are
transferred either completely or not at all.) The next time Unison is run,
it will continue filling in this temporary directory, skipping transferring
files that it finds are already there.
<LI CLASS="li-itemize">We've added experimental support for invoking an external file
transfer tool for whole-file copies instead of Unison's built-in transfer
protocol. Three new preferences have been added:
<UL CLASS="itemize"><LI CLASS="li-itemize">
<TT>copyprog</TT> is a string giving the name (and command-line
switches, if needed) of an external program that can be used to copy large
files efficiently. By default, rsync is invoked, but other tools such as
scp can be used instead by changing the value of this preference. (Although
this is not its primary purpose, rsync is actually a pretty fast way of
copying files that don't already exist on the receiving host.) For files
that do already exist on (but that have been changed in one replica), Unison
will always use its built-in implementation of the rsync algorithm.
<LI CLASS="li-itemize">Added a "copyprogrest" preference, so that we can give different
command lines for invoking the external copy utility depending on whether a
partially transferred file already exists or not. (Rsync doesn't seem to
care about this, but other utilities may.)
<LI CLASS="li-itemize"><TT>copythreshold</TT> is an integer (-1 by default), indicating above what
filesize (in megabytes) 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.
(Default is -1.)
</UL>
Thanks to Alan Schmitt for a huge amount of hacking and to an anonymous
sponsor for suggesting and underwriting this extension.
<LI CLASS="li-itemize">Small improvements:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Added a new preference, <TT>dontchmod</TT>. By default, Unison uses the
<TT>chmod</TT> 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 <TT>chmod</TT>.
<LI CLASS="li-itemize">Don't ignore files that look like backup files if the <TT>backuplocation</TT> preference is set to <TT>central</TT>
<LI CLASS="li-itemize">Shortened the names of several preferences. The old names are also
still supported, for backwards compatibility, but they do not appear in the
documentation.
<LI CLASS="li-itemize">Lots of little documentation tidying. (In particular, preferences are
separated into Basic and Advanced! This should hopefully make Unison a
little more approachable for new users.
<LI CLASS="li-itemize">Unison can sometimes fail to transfer a file, giving the unhelpful
message "Destination updated during synchronization" even though the file
has not been changed. This can be caused by programs that change either the
file's contents <EM>or</EM> the file's extended attributes without changing
its modification time. It's not clear what is the best fix for this &ndash; it
is not Unison's fault, but it makes Unison's behavior puzzling &ndash; but at
least Unison can be more helpful about suggesting a workaround (running once
with <TT>fastcheck</TT> set to false). The failure message has been changed to
give this advice.
<LI CLASS="li-itemize">Further improvements to the OS X GUI (thanks to Alan Schmitt and Craig
Federighi).
</UL>
<LI CLASS="li-itemize">Very preliminary support for triggering Unison from an external
filesystem-watching utility. The current implementation is very
simple, not efficient, and almost completely untested&mdash;not ready
for real users. But if someone wants to help improve it (e.g.,
by writing a filesystem watcher for your favorite OS), please make
yourself known!<BR>
<BR>
On the Unison side, the new behavior is very simple:
<UL CLASS="itemize"><LI CLASS="li-itemize">
use the text UI
<LI CLASS="li-itemize">start Unison with the command-line flag "-repeat FOO",
where FOO is name of a file where Unison should look
for notifications of changes
<LI CLASS="li-itemize">when it starts up, Unison will read the whole contents
of this file (on both hosts), which should be a
newline-separated list of paths (relative to the root
of the synchronization) and synchronize just these paths,
as if it had been started with the "-path=xxx" option for
each one of them
<LI CLASS="li-itemize">when it finishes, it will sleep for a few seconds and then
examine the watchfile again; if anything has been added, it
will read the new paths, synchronize them, and go back to
sleep
<LI CLASS="li-itemize">that's it!
</UL>
To use this to drive Unison "incrementally," just start it in
this mode and start up a tool (on each host) to watch for
new changes to the filesystem and append the appropriate paths
to the watchfile. Hopefully such tools should not be too hard
to write.
<LI CLASS="li-itemize">Bug fixes:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Fixed a bug that was causing new files to be created with
permissions 0x600 instead of using a reasonable default (like
0x644), if the 'perms' flag was set to 0. (Bug reported by Ben
Crowell.)
<LI CLASS="li-itemize">Follow maxthreads preference when transferring directories.
</UL>
</UL>
Changes since 2.17:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Major rewrite and cleanup of the whole Mac OS X graphical user
interface by Craig Federighi. Thanks, Craig!!!<BR>
<BR>
interface by Craig Federighi. Thanks, Craig!!!
<LI CLASS="li-itemize">Small fix to ctime (non-)handling in update detection under windows
with fastcheck.
<LI CLASS="li-itemize">Several small fixes to the GTK2 UI to make it work better under
Windows [thanks to Karl M for these].<BR>
<BR>
Windows [thanks to Karl M for these].
<LI CLASS="li-itemize">The backup functionality has been completely rewritten. The external
interface has not changed, but numerous bugs, irregular behaviors, and
cross-platform inconsistencies have been corrected.<BR>
<BR>
<LI CLASS="li-itemize">The Unison project now accepts donations via PayPal. You can find a
link to the donation page on the
cross-platform inconsistencies have been corrected.
<LI CLASS="li-itemize">The Unison project now accepts donations via PayPal. If you'd like to
donate, you can find a link to the donation page on the
<A HREF="http://www.cis.upenn.edu/ bcpierce/unison/lists.html">Unison home
page</A>.<BR>
<BR>
page</A>.
<LI CLASS="li-itemize">Some important safety improvements:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Added a new <CODE>mountpoint</CODE> preference, which can be used to specify
a path that must exist in both replicas at the end of update detection
(otherwise Unison aborts). This can be used to avoid potentially dangerous
situations when Unison is used with removable media such as external hard
drives and compact flash cards. <BR>
<BR>
drives and compact flash cards.
<LI CLASS="li-itemize">The confirmation of &#8220;big deletes&#8221; is now controlled by a boolean preference
<CODE>confirmbigdeletes</CODE>. Default is true, which gives the same behavior as
previously. (This functionality is at least partly superceded by the
<CODE>mountpoint</CODE> preference, but it has been left in place in case it is
useful to some people.)<BR>
<BR>
<LI CLASS="li-itemize">If Unison is asked to &#8220;follow&#8221; a symbolic link but there is
useful to some people.)
<LI CLASS="li-itemize">If Unison is asked to &#8220;follow&#8221; a symbolic link but there is
nothing at the other end of the link, it will now flag this path as an
error, rather than treating the symlink itself as missing or deleted.
This avoids a potentially dangerous situation where a followed symlink
@ -2674,45 +2896,31 @@ drives and compact flash cards. <BR>
<UL CLASS="itemize"><LI CLASS="li-itemize">
Added <CODE>forcepartial</CODE> and <CODE>preferpartial</CODE> preferences, which
behave like <CODE>force</CODE> and <CODE>prefer</CODE> but can be specified on a
per-path basis. [Thanks to Alan Schmitt for this.]<BR>
<BR>
per-path basis. [Thanks to Alan Schmitt for this.]
<LI CLASS="li-itemize">A bare-bones self test feature was added, which runs unison through
some of its paces and checks that the results are as expected. The
coverage of the tests is still very limited, but the facility has already
been very useful in debugging the new backup functionality (especially in
exposing some subtle cross-platform issues).<BR>
<BR>
exposing some subtle cross-platform issues).
<LI CLASS="li-itemize">Refined debugging code so that the verbosity of individual modules
can be controlled separately. Instead of just putting '-debug
verbose' on the command line, you can put '-debug update+', which
causes all the extra messages in the Update module, but not other
modules, to be printed. Putting '-debug verbose' causes all modules
to print with maximum verbosity.<BR>
<BR>
to print with maximum verbosity.
<LI CLASS="li-itemize">Removed <CODE>mergebatch</CODE> preference. (It never seemed very useful, and
its semantics were confusing.)<BR>
<BR>
its semantics were confusing.)
<LI CLASS="li-itemize">Rewrote some of the merging functionality, for better cooperation
with external Harmony instances.<BR>
<BR>
<LI CLASS="li-itemize">Changed the temp file prefix from <CODE>.#</CODE> to <CODE>.unison</CODE>.<BR>
<BR>
with external Harmony instances.
<LI CLASS="li-itemize">Changed the temp file prefix from <CODE>.#</CODE> to <CODE>.unison</CODE>.
<LI CLASS="li-itemize">Compressed the output from the text user interface (particularly
when run with the <CODE>-terse</CODE> flag) to make it easier to interpret the
results when Unison is run several times in succession from a script.<BR>
<BR>
<LI CLASS="li-itemize">Diff and merge functions now work under Windows.<BR>
<BR>
results when Unison is run several times in succession from a script.
<LI CLASS="li-itemize">Diff and merge functions now work under Windows.
<LI CLASS="li-itemize">Changed the order of arguments to the default diff command (so that
the + and - annotations in diff's output are reversed).<BR>
<BR>
the + and - annotations in diff's output are reversed).
<LI CLASS="li-itemize">Added <CODE>.mpp</CODE> files to the &#8220;never fastcheck&#8221; list (like
<CODE>.xls</CODE> files). <BR>
<BR>
<LI CLASS="li-itemize">Ignore all-whitespace lines in preference files<BR>
<BR>
<LI CLASS="li-itemize">Small fix to ctime (non-)handling in update detection under windows
with fastcheck.
<CODE>.xls</CODE> files).
</UL><BR>
<BR>
<LI CLASS="li-itemize">Many small bugfixes, including:
@ -2769,24 +2977,21 @@ programs have been completely rewritten by Stephane Lescuyer (thanks,
Stephane!). The user-visible functionality should not change, but the
internals have been rationalized and there are a number of new features.
See the manual (in particular, the description of the <CODE>backupXXX</CODE>
preferences) for details.<BR>
<BR>
preferences) for details.
<LI CLASS="li-itemize">Incorporated patches for ipv6 support, contributed by Samuel Thibault.
(Note that, due to a bug in the released OCaml 3.08.3 compiler, this code
will not actually work with ipv6 unless compiled with the CVS version of the
OCaml compiler, where the bug has been fixed; however, ipv4 should continue
to work normally.)<BR>
<BR>
to work normally.)
<LI CLASS="li-itemize">OSX interface:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Incorporated Ben Willmore's cool new icon for the Mac UI.
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Small fixes:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Fixed off by one error in month numbers (in printed dates) reported
by Bob Burger
</UL><BR>
</UL>
</UL>
@ -2806,15 +3011,12 @@ status when they are announced for public consumption. Any bugs that are
discovered will be fixed in a separate branch of the source repository
(without changing the major version number) and new tarballs re-released as
needed. When this process converges, the patched beta version will be
dubbed stable.<BR>
<BR>
dubbed stable.
<LI CLASS="li-itemize">Warning (failure in batch mode) when one path is completely emptied.
This prevents Unison from deleting everything on one replica when
the other disappear.<BR>
<BR>
the other disappear.
<LI CLASS="li-itemize">Fix diff bug (where no difference is shown the first time the diff
command is given).<BR>
<BR>
command is given).
<LI CLASS="li-itemize">User interface changes:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Improved workaround for button focus problem (GTK2 UI)
@ -2834,8 +3036,7 @@ to <CODE>modified on yyyy-mm-dd hh:mm:ss</CODE>
the GTK2 UI under Linux. (Hopefully the Mac OS X one is not broken!)
<LI CLASS="li-itemize">Include profile name in the GTK2 window name
<LI CLASS="li-itemize">Added bindings ',' (same as '&lt;') and '.' (same as '&gt;') in the GTK2 UI
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Mac GUI:
<UL CLASS="itemize"><LI CLASS="li-itemize">
actions like &lt; and &gt; scroll to the next item as necessary.
@ -2850,8 +3051,7 @@ actions like &lt; and &gt; scroll to the next item as necessary.
gives better feedback.
<LI CLASS="li-itemize">Size of left and right columns is now large enough so that
"PropsChanged" is not cut off.
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Minor changes:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Disable multi-threading when both roots are local
@ -2876,7 +3076,7 @@ Disable multi-threading when both roots are local
<LI CLASS="li-itemize">The strings CURRENT1 and CURRENT2 are now correctly substitued when
they occur in the diff preference
<LI CLASS="li-itemize">Improvements to syncing resource forks between Macs via a non-Mac system.
</UL><BR>
</UL>
</UL>
@ -2884,8 +3084,7 @@ Changes since 2.10.2:
<UL CLASS="itemize"><LI CLASS="li-itemize">
<B>Incompatible change:</B>
Archive format has changed. <BR>
<BR>
Archive format has changed.
<LI CLASS="li-itemize">Source code availability: The Unison sources are now managed using
Subversion. One nice side-effect is that anonymous checkout is now
possible, like this:
@ -2894,8 +3093,7 @@ Changes since 2.10.2:
</PRE>We will also continue to export a &#8220;developer tarball&#8221; of the current
(modulo one day) sources in the web export directory. To receive commit logs
for changes to the sources, subscribe to the <CODE>unison-hackers</CODE> list
(<A HREF="http://www.cis.upenn.edu/ bcpierce/unison/lists.html"><TT>http://www.cis.upenn.edu/&nbsp;bcpierce/unison/lists.html</TT></A>). <BR>
<BR>
(<A HREF="http://www.cis.upenn.edu/ bcpierce/unison/lists.html"><TT>http://www.cis.upenn.edu/&nbsp;bcpierce/unison/lists.html</TT></A>).
<LI CLASS="li-itemize">Text user interface:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Substantial reworking of the internal logic of the text UI to make it
@ -2903,16 +3101,14 @@ a bit easier to modify.
<LI CLASS="li-itemize">The <TT>dumbtty</TT> flag in the text UI is automatically set to true if
the client is running on a Unix system and the <TT>EMACS</TT> environment
variable is set to anything other than the empty string.
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Native OS X gui:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Added a synchronize menu item with keyboard shortcut
<LI CLASS="li-itemize">Added a merge menu item, still needs to be debugged
<LI CLASS="li-itemize">Fixes to compile for Panther
<LI CLASS="li-itemize">Miscellaneous improvements and bugfixes
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Small changes:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Changed the filename checking code to apply to Windows only, instead
@ -2957,10 +3153,8 @@ Major tidying and enhancement of 'merge' functionality. The main
improvements.<BR>
<BR>
Warning: the new merging functionality is not completely compatible with
old versions! Check the manual for details.<BR>
<BR>
<LI CLASS="li-itemize">Files larger than 2Gb are now supported.<BR>
<BR>
old versions! Check the manual for details.
<LI CLASS="li-itemize">Files larger than 2Gb are now supported.
<LI CLASS="li-itemize">Added preliminary (and still somewhat experimental) support for the
Apple OS X operating system.
<UL CLASS="itemize"><LI CLASS="li-itemize">
@ -2982,7 +3176,8 @@ this interface.
</UL><BR>
<BR>
<LI CLASS="li-itemize">Minor functionality changes:
<UL CLASS="itemize"><LI CLASS="li-itemize">Added an <TT>ignorelocks</TT> preference, which forces Unison to override left-over
<UL CLASS="itemize"><LI CLASS="li-itemize">
Added an <TT>ignorelocks</TT> preference, which forces Unison to override left-over
archive locks. (Setting this preference is dangerous! Use it only if you
are positive you know what you are doing.)
<LI CLASS="li-itemize">Added a new preference <TT>assumeContentsAreImmutable</TT>. If a directory
@ -2992,49 +3187,41 @@ this interface.
contain lots and lots of immutable files.) Also a preference
<TT>assumeContentsAreImmutableNot</TT>, which overrides the first, similarly
to <TT>ignorenot</TT>. (Later amendment: these preferences are now called
<TT>immutable</TT> and <TT>immutablenot</TT>.)<BR>
<BR>
<TT>immutable</TT> and <TT>immutablenot</TT>.)
<LI CLASS="li-itemize">The <TT>ignorecase</TT> flag has been changed from a boolean to a three-valued
preference. The default setting, called <TT>default</TT>, checks the operating systems
running on the client and server and ignores filename case if either of them is
OSX or Windows. Setting ignorecase to <TT>true</TT> or <TT>false</TT> overrides
this behavior. If you have been setting <TT>ignorecase</TT> on the command
line using <TT>-ignorecase=true</TT> or <TT>-ignorecase=false</TT>, you will
need to change to <TT>-ignorecase true</TT> or <TT>-ignorecase false</TT>.<BR>
<BR>
need to change to <TT>-ignorecase true</TT> or <TT>-ignorecase false</TT>.
<LI CLASS="li-itemize">a new preference, 'repeat', for the text user interface (only). If 'repeat' is set to
a number, then, after it finishes synchronizing, Unison will wait for that many seconds and
then start over, continuing this way until it is killed from outside. Setting repeat to true
will automatically set the batch preference to true. <BR>
<BR>
will automatically set the batch preference to true.
<LI CLASS="li-itemize">Excel files are now handled specially, so that the <TT>fastcheck</TT>
optimization is skipped even if the <TT>fastcheck</TT> flag is set. (Excel
does some naughty things with modtimes, making this optimization
unreliable and leading to failures during change propagation.)<BR>
<BR>
unreliable and leading to failures during change propagation.)
<LI CLASS="li-itemize">The ignorecase flag has been changed from a boolean to a three-valued
preference. The default setting, called 'default', checks the operating systems
running on the client and server and ignores filename case if either of them is
OSX or Windows. Setting ignorecase to 'true' or 'false' overrides this behavior.<BR>
<BR>
OSX or Windows. Setting ignorecase to 'true' or 'false' overrides this behavior.
<LI CLASS="li-itemize">Added a new preference, 'repeat', for the text user interface (only,
at the moment). If 'repeat' is set to a number, then, after it finishes
synchronizing, Unison will wait for that many seconds and then start over,
continuing this way until it is killed from outside. Setting repeat to
true will automatically set the batch preference to true.<BR>
<BR>
true will automatically set the batch preference to true.
<LI CLASS="li-itemize">The 'rshargs' preference has been split into 'rshargs' and 'sshargs'
(mainly to make the documentation clearer). In fact, 'rshargs' is no longer
mentioned in the documentation at all, since pretty much everybody uses
ssh now anyway.
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Documentation
<UL CLASS="itemize"><LI CLASS="li-itemize">
The web pages have been completely redesigned and reorganized.
(Thanks to Alan Schmitt for help with this.)
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">User interface improvements
<UL CLASS="itemize"><LI CLASS="li-itemize">
Added a GTK2 user interface, capable (among other things) of displaying filenames
@ -3047,8 +3234,7 @@ Added a GTK2 user interface, capable (among other things) of displaying filename
command).
<LI CLASS="li-itemize">Several small improvements to the text user interface, including a
progress display.
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Bug fixes (too numerous to count, actually, but here are some):
<UL CLASS="itemize"><LI CLASS="li-itemize">
The <TT>maxthreads</TT> preference works now.
@ -3067,8 +3253,7 @@ The <TT>maxthreads</TT> preference works now.
sorted, so it wouldn't work properly in all cases.
<LI CLASS="li-itemize">Incorporated a fix by Dmitry Bely for setting utimes of read-only files
on Win32 systems.
</UL><BR>
<BR>
</UL>
<LI CLASS="li-itemize">Installation / portability:
<UL CLASS="itemize"><LI CLASS="li-itemize">
Unison now compiles with OCaml version 3.07 and later out of the box.
@ -3133,16 +3318,11 @@ Changing profile works again under Windows
Unix
<LI CLASS="li-itemize">Small improvements:
<UL CLASS="itemize"><LI CLASS="li-itemize">
If neither the <BR>
tt USERPROFILE nor the <BR>
tt HOME environment
If neither the <TT>USERPROFILE</TT> nor the <TT>HOME</TT> environment
variables are set, then Unison will put its temporary commit log
(called <BR>
tt DANGER.README) into the directory named by the
<BR>
tt UNISON environment variable, if any; otherwise it will use
<BR>
tt C:.
(called <TT>DANGER.README</TT>) into the directory named by the
<TT>UNISON</TT> environment variable, if any; otherwise it will use
<TT>C:</TT>.
<LI CLASS="li-itemize">alternative set of values for fastcheck: yes = true; no = false;
default = auto.
<LI CLASS="li-itemize">-silent implies -contactquietly
@ -3202,8 +3382,7 @@ Renamed `Proceed' to `Go' in the graphical UI.
update detection are now noted in the log file.
<LI CLASS="li-itemize"><CODE>[END]</CODE> messages in log now use a briefer format
<LI CLASS="li-itemize">Changed the text UI startup sequence so that
<BR>
tt ./unison -ui text will use the default profile instead of failing.
<TT>./unison -ui text</TT> will use the default profile instead of failing.
<LI CLASS="li-itemize">Made some improvements to the error messages.
<LI CLASS="li-itemize">Added some debugging messages to remote.ml.
</UL>

3
unison-2.32.52.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1542e5d4ad03e928260e061a8ff9d5e0bca3282481ed8bec5552de17a0270485
size 697866

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
Wed Dec 16 10:51:19 UTC 2009 - mhopf@novell.com
- Update to latest stable version 2.32.52
* If Unison is interrupted during a directory transfer, it will now leave
the partially transferred directory intact in a temporary location
* Added experimental support for invoking an external file transfer tool for
whole-file copies
* Very preliminary support for triggering Unison from an external
filesystem-watching utility.
* Ignore one hour differences when deciding whether a file may have been
updated (ignore daylight saving time changes under Windows)
* Fixed slow performances when transferring a file using our rsync
implementation from a 64-bit architecture to a 32-bit architecture
* Case sensitivity information put in the archive (in a backward compatible
way) and checked when the archive is loaded
* Upgraded to GPL version 3
* In repeat mode, don't save the archives when there is no update
* Tons of bug fixes + small additions
-------------------------------------------------------------------
Fri Sep 4 16:50:56 CEST 2009 - mhopf@novell.com

View File

@ -1,5 +1,5 @@
#
# spec file for package unison (Version 2.27.157)
# spec file for package unison (Version 2.32.52)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -25,10 +25,10 @@ BuildRequires: lablgtk2-devel
%else
BuildRequires: lablgtk2
%endif
License: GPL v3 or later
License: GPLv3+
Group: Productivity/Networking/Other
AutoReqProv: on
Version: 2.27.157
Version: 2.32.52
Release: 1
Source0: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}.tar.gz
Source1: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}-manual.html