Accepting request 65670 from network
Accepted submit request 65670 from user coolo OBS-URL: https://build.opensuse.org/request/show/65670 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/unison?expand=0&rev=21
This commit is contained in:
parent
5e567d3adc
commit
8945da3695
12
fix_makefile.patch
Normal file
12
fix_makefile.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -Naur a/Makefile b/Makefile
|
||||
--- a/Makefile 2010-10-08 17:44:59.000000000 +0200
|
||||
+++ b/Makefile 2011-01-29 18:57:31.334257694 +0100
|
||||
@@ -60,7 +60,7 @@
|
||||
# NAME, VERSION, and MAJORVERSION, automatically generated
|
||||
-include Makefile.ProjectInfo
|
||||
|
||||
-Makefile.ProjectInfo: mkProjectInfo.ml $(wildcard ../.bzr/branch/last-revision)
|
||||
+Makefile.ProjectInfo: mkProjectInfo $(wildcard ../.bzr/branch/last-revision)
|
||||
./mkProjectInfo > $@
|
||||
|
||||
mkProjectInfo: mkProjectInfo.ml
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1542e5d4ad03e928260e061a8ff9d5e0bca3282481ed8bec5552de17a0270485
|
||||
size 697866
|
@ -36,7 +36,7 @@ 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.32.52<BR>
|
||||
<FONT SIZE=5>Version 2.40.61<BR>
|
||||
<FONT SIZE=4>Copyright 1998-2009, Benjamin C. Pierce
|
||||
</FONT></FONT></FONT></FONT></DIV></div><BR>
|
||||
<BR>
|
||||
@ -58,6 +58,7 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
|
||||
•<A HREF="#upgrading">Upgrading</A><BR>
|
||||
•<A HREF="#building">Building Unison from Scratch</A><BR>
|
||||
<A HREF="#build-unix">Unix</A><BR>
|
||||
<A HREF="#build-osx">Mac OS X</A><BR>
|
||||
<A HREF="#build-win">Windows</A><BR>
|
||||
<A HREF="#build-opts">Installation Options</A><BR>
|
||||
<A HREF="#tutorial"><FONT SIZE=4><B>Tutorial</B></FONT></A><BR>
|
||||
@ -104,7 +105,7 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
|
||||
<A HREF="#ssh"><FONT SIZE=4><B>Installing Ssh</B></FONT></A><BR>
|
||||
•<A HREF="#ssh-unix">Unix</A><BR>
|
||||
•<A HREF="#ssh-win">Windows</A><BR>
|
||||
<A HREF="#news"><FONT SIZE=4><B>Changes in Version 2.32.52</B></FONT></A><BR>
|
||||
<A HREF="#news"><FONT SIZE=4><B>Changes in Version 2.40.61</B></FONT></A><BR>
|
||||
|
||||
</BLOCKQUOTE>
|
||||
|
||||
@ -187,7 +188,7 @@ Our implementation of the
|
||||
<A HREF="http://samba.org/rsync/">rsync</A>
|
||||
protocol was built by
|
||||
<A HREF="http://www.eecs.harvard.edu/~nr/">Norman Ramsey</A>
|
||||
and Sylvain Gommier. It is is based on
|
||||
and Sylvain Gommier. It is based on
|
||||
<A HREF="http://samba.anu.edu.au/~tridge/">Andrew Tridgell</A>'s
|
||||
<A HREF="http://samba.anu.edu.au/~tridge/phd_thesis.pdf">thesis work</A>
|
||||
and inspired by his
|
||||
@ -301,7 +302,8 @@ Unison can be used with either of two user interfaces:
|
||||
<OL CLASS="enumerate" type=1><LI CLASS="li-enumerate">
|
||||
a simple textual interface, suitable for dumb terminals (and
|
||||
running from scripts), and
|
||||
<LI CLASS="li-enumerate">a more sophisticated grapical interface, based on Gtk2.
|
||||
<LI CLASS="li-enumerate">a more sophisticated grapical interface, based on Gtk2 (on
|
||||
Linux/Windows) or the native UI framework (on OSX).
|
||||
</OL>
|
||||
You will need to install a copy of Unison on every machine that you
|
||||
want to synchronize. However, you only need the version with a
|
||||
@ -385,7 +387,7 @@ Solaris, Linux, FreeBSD), and on both 32- and 64-bit architectures.<BR>
|
||||
|
||||
<H4 CLASS="subsubsection"><A NAME="build-unix"></A>Unix</H4><!--SEC END -->
|
||||
|
||||
You'll need the Objective Caml compiler (version 3.07 or later), which is
|
||||
You'll need the Objective Caml compiler (version 3.11.2 or later), which is
|
||||
available from <A HREF="http://caml.inria.fr"><TT>http://caml.inria.fr</TT></A>. Building and installing OCaml
|
||||
on Unix systems is very straightforward; just follow the instructions in the
|
||||
distribution. You'll probably want to build the native-code compiler in
|
||||
@ -433,6 +435,27 @@ Put the <CODE>unison</CODE> executable somewhere in your search path, either
|
||||
by adding the Unison directory to your PATH variable or by copying the
|
||||
executable to some standard directory where executables are stored.<BR>
|
||||
<BR>
|
||||
<!--TOC subsubsection Mac OS X-->
|
||||
|
||||
<H4 CLASS="subsubsection"><A NAME="build-osx"></A>Mac OS X</H4><!--SEC END -->
|
||||
|
||||
To build the text-only user interface, follow the instructions above for
|
||||
building on Unix systems. You should do this first, even if you are also
|
||||
planning on building the GUI, just to make sure it works.<BR>
|
||||
<BR>
|
||||
To build the basic GUI version, you'll first need to download and install
|
||||
the XCode developer tools from Apple. Once this is done, just type <TT>make UISTYLE=macnew</TT> in the <TT>src</TT> directory, and if things go well you
|
||||
should get an application that you can move from <TT>uimacnew/build/Default/Unison.app</TT> to wherever you want it.<BR>
|
||||
<BR>
|
||||
There is also an experimental GUI with a somewhat smoother look and feel.
|
||||
To compile this one (once you've got the basic one working), proceed as
|
||||
follows:
|
||||
<OL CLASS="enumerate" type=1><LI CLASS="li-enumerate">
|
||||
Go to the <TT>uimacnew09</TT> directory and double-click the file <TT>BWToolkit.ibplugin</TT>.
|
||||
<LI CLASS="li-enumerate">Go back up to the <TT>src</TT> directory and type <TT>make
|
||||
UISTYLE=macnew09</TT>.
|
||||
<LI CLASS="li-enumerate">You should get an application built for you at <TT>uimacnew09/build/Default/Unison.app</TT>.
|
||||
</OL>
|
||||
<!--TOC subsubsection Windows-->
|
||||
|
||||
<H4 CLASS="subsubsection"><A NAME="build-win"></A>Windows</H4><!--SEC END -->
|
||||
@ -544,7 +567,8 @@ will remember the current state of both directories so that it will be
|
||||
able to tell next time what has changed.) Type:
|
||||
<PRE CLASS="verbatim">
|
||||
unison a.tmp b.tmp
|
||||
</PRE>
|
||||
</PRE>(You may need to add <CODE>-ui text</CODE>, depending how your unison binary was built.)<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
<EM>Textual Interface:</EM><UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
|
||||
@ -578,7 +602,7 @@ direction that the change needs to be propagated. For example,
|
||||
<--- 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>ollw Unison's recommendation,
|
||||
version to the first replica. To <B>f</B>ollow Unison's recommendation,
|
||||
press the “f” at the prompt.<BR>
|
||||
<BR>
|
||||
If both replicas are modified and their contents are different, then
|
||||
@ -596,7 +620,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 overriden by the user.<BR>
|
||||
default actions are either accepted or overridden by the user.<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
<EM>Textual Interface:</EM><UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
@ -687,7 +711,7 @@ for installation instructions for the Windows version.<BR>
|
||||
Running
|
||||
<CODE>ssh</CODE> requires some coordination between the client and server
|
||||
machines to establish that the client is allowed to invoke commands on
|
||||
the server; please refer to the or <CODE>ssh</CODE> documentation
|
||||
the server; please refer to the <CODE>ssh</CODE> documentation
|
||||
for information on how to set this up. The examples in this section
|
||||
use <CODE>ssh</CODE>, but you can substitute <CODE>rsh</CODE> for <CODE>ssh</CODE> if
|
||||
you wish.<BR>
|
||||
@ -1166,7 +1190,7 @@ In particular, the Unix
|
||||
file has not been changed.<BR>
|
||||
<BR>
|
||||
Under normal circumstances, this approximation is safe, in the sense
|
||||
that it may sometimes detect “false updates” will never miss a real
|
||||
that it may sometimes detect “false updates” but will never miss a real
|
||||
one. However, it is possible to fool it, for example by using
|
||||
<CODE>retouch</CODE> to change a file's modtime back to a time in the past.
|
||||
<BR>
|
||||
@ -1193,7 +1217,7 @@ middle of detecting changes or propagating files.<BR>
|
||||
<LI CLASS="li-itemize">Unison does not understand hard links.<BR>
|
||||
<BR>
|
||||
<LI CLASS="li-itemize">It is important to be a little careful when renaming directories
|
||||
containing “ignore”d files. <BR>
|
||||
containing <TT>ignore</TT>d files. <BR>
|
||||
<BR>
|
||||
For example, suppose Unison is synchronizing directory A between the two
|
||||
machines called the “local” and the “remote” machine; suppose directory
|
||||
@ -1359,15 +1383,16 @@ 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
|
||||
-fat use appropriate options for FAT filesystems
|
||||
-group synchronize group attributes
|
||||
-ignore xxx add a pattern to the ignore list
|
||||
-ignorenot xxx add a pattern to the ignorenot list
|
||||
-nocreation xxx prevent file creations on one replica
|
||||
-nodeletion xxx prevent file deletions on one replica
|
||||
-noupdate xxx prevent file updates and deletions on one replica
|
||||
-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
|
||||
@ -1390,34 +1415,45 @@ Advanced options:
|
||||
-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
|
||||
-copymax n maximum number of simultaneous copyprog transfers
|
||||
-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 >=0, in Kb)
|
||||
-debug xxx debug module xxx ('all' -> everything, 'verbose' -> more)
|
||||
-diff xxx command for showing differences between files
|
||||
-dontchmod When set, never use the chmod system call
|
||||
-diff xxx set 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)
|
||||
-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
|
||||
-halfduplex force half-duplex communication with the server
|
||||
-height n height (in lines) of main window in graphical interface
|
||||
-host xxx bind the socket to this host name in server socket mode
|
||||
-ignorearchives ignore existing archive files
|
||||
-ignorecase xxx identify upper/lowercase filenames (true/false/default)
|
||||
-ignoreinodenumbers ignore inode number changes when detecting updates
|
||||
-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
|
||||
-links xxx allow the synchronization of symbolic links (true/false/default)
|
||||
-log record actions in logfile (default true)
|
||||
-logfile xxx logfile name
|
||||
-maxbackups n number of backed up versions of a file
|
||||
-maxerrors n maximum number of errors before a directory transfer is aborted
|
||||
-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
|
||||
-nocreationpartial xxx add a pattern to the nocreationpartial list
|
||||
-nodeletionpartial xxx add a pattern to the nodeletionpartial list
|
||||
-noupdatepartial xxx add a pattern to the noupdatepartial list
|
||||
-numericids don't map uid/gid values by user/group names
|
||||
-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 ui only)
|
||||
-rootalias xxx register alias for canonical root names
|
||||
@ -1433,7 +1469,9 @@ Advanced options:
|
||||
-sortnewfirst list new before changed files
|
||||
-sshargs xxx other arguments (if any) for remote shell command
|
||||
-sshcmd xxx path to the ssh executable
|
||||
-stream use a streaming protocol for transferring file contents (default true)
|
||||
-ui xxx select UI ('text' or 'graphic'); command-line only
|
||||
-unicode xxx assume Unicode encoding in case insensitive mode
|
||||
-xferbycopying optimize transfers using local copies (default true)
|
||||
|
||||
</PRE>
|
||||
@ -1470,7 +1508,7 @@ If this preference is set, Unison will use it as the name of the directory used
|
||||
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—i.e., it selectively overrides <TT>backup</TT>. The same caveats apply here as with <TT>ignore</TT> and t ignorenot.<BR>
|
||||
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—i.e., it selectively overrides <TT>backup</TT>. The same caveats apply here as with <TT>ignore</TT> and <TT>ignorenot</TT>.<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>
|
||||
@ -1487,7 +1525,7 @@ See <TT>backupprefix</TT> for full documentation.<BR>
|
||||
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>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>
|
||||
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. Default is false.<BR>
|
||||
@ -1495,6 +1533,9 @@ Setting this preference causes both the text and graphical interfaces to ask the
|
||||
<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>copymax <TT>n</TT></B><DD CLASS="dd-description">
|
||||
A number indicating how many instances of the external copying utility Unison is allowed to run simultaneously (default to 1).<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—most users should not need to change it.<BR>
|
||||
<BR>
|
||||
@ -1531,10 +1572,13 @@ When this preference is set, Unison will create a file unison.dump on each host,
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>fastcheck <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
When this preference is set to <CODE>true</CODE>, 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. 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 <EM>overwrite</EM> 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 <TT>fastcheck</TT> set to <CODE>false</CODE>, if you are worried that Unison may have overlooked an update. The default value of the preference is <CODE>auto</CODE>, which causes Unison to use fast checking on Unix replicas (where it is safe) and slow checking on Windows replicas. For backward compatibility, <CODE>yes</CODE>, <CODE>no</CODE>, and <CODE>default</CODE> can be used in place of <CODE>true</CODE>, <CODE>false</CODE>, and <CODE>auto</CODE>. See the <A HREF="#fastcheck">Fast Checking</A> section for more information.<BR>
|
||||
`pseudo inode number' when scanning replicas for updates, instead of reading the full contents of every file. 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 <EM>overwrite</EM> 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 <TT>fastcheck</TT> set to <CODE>false</CODE>, if you are worried that Unison may have overlooked an update. For backward compatibility, <CODE>yes</CODE>, <CODE>no</CODE>, and <CODE>default</CODE> can be used in place of <CODE>true</CODE>, <CODE>false</CODE>, and <CODE>auto</CODE>. See the <A HREF="#fastcheck">Fast Checking</A> section for more information.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>fat </B><DD CLASS="dd-description">
|
||||
When this is set to <TT>true</TT>, 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 (<TT>perms = 0</TT>); never use chmod ( t dontchmod = true); treat filenames as case insensitive (<TT>ignorecase = true</TT>); do not attempt to synchronize symbolic links (<TT>links = false</TT>); ignore inode number changes when detecting updates (<TT>ignoreinodenumbers = true</TT>). Any of these change can be overridden by explicitely setting the corresponding preference in the profile.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>follow <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-follow <I>pathspec</I></TT> causes Unison to treat symbolic links matching <TT><I>pathspec</I></TT> as `invisible' and behave as if the object pointed to by the link had appeared literally at this position in the replica. See the <A HREF="#symlinks">Symbolic Links</A> section for more details. The syntax of <TT><I>pathspec></I></TT> is described in the <A HREF="#pathspec">Path Specification</A> section.<BR>
|
||||
Including the preference <TT>-follow <I>pathspec</I></TT> causes Unison to treat symbolic links matching <TT><I>pathspec</I></TT> as `invisible' and behave as if the object pointed to by the link had appeared literally at this position in the replica. See the <A HREF="#symlinks">Symbolic Links</A> section for more details. 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>force <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-force <I>root</I></TT> causes Unison to resolve all differences (even non-conflicting changes) in favor of <TT><I>root</I></TT>. This effectively changes Unison from a synchronizer into a mirroring utility. <BR>
|
||||
@ -1546,14 +1590,17 @@ This preference is overridden by the <CODE>forcepartial</CODE> preference.<BR>
|
||||
This preference should be used only if you are <EM>sure</EM> you know what you are doing!<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>forcepartial <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>forcepartial <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> causes Unison to resolve all differences (even non-conflicting changes) in favor of <TT><I>root</I></TT> for the files in <TT><I>PATHSPEC</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). This effectively changes Unison from a synchronizer into a mirroring utility. <BR>
|
||||
Including the preference <TT>forcepartial = <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> causes Unison to resolve all differences (even non-conflicting changes) in favor of <TT><I>root</I></TT> for the files in <TT><I>PATHSPEC</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). This effectively changes Unison from a synchronizer into a mirroring utility. <BR>
|
||||
<BR>
|
||||
You can also specify <CODE>forcepartial PATHSPEC -> newer</CODE> (or <CODE>forcepartial PATHSPEC older</CODE>) to force Unison to choose the file with the later (earlier) modtime. In this case, the <CODE>-times</CODE> preference must also be enabled.<BR>
|
||||
<BR>
|
||||
This preference should be used only if you are <EM>sure</EM> you know what you are doing!<BR>
|
||||
<BR>
|
||||
<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>
|
||||
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 synchronized depends on the preference <TT>numerids</TT>.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>halfduplex </B><DD CLASS="dd-description">
|
||||
When this flag is set to <TT>true</TT>, 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. The communication is always half-duplex when synchronizing with a Windows machine due to a limitation of Unison current implementation that could result in a deadlock.<BR>
|
||||
<BR>
|
||||
<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>
|
||||
@ -1561,8 +1608,14 @@ Used to set the height (in lines) of the main window in the graphical user inter
|
||||
<DT CLASS="dt-description"><B>ignore <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-ignore <I>pathspec</I></TT> causes Unison to completely ignore paths that match <TT><I>pathspec</I></TT> (as well as their children). This is useful for avoiding synchronizing temporary files, object files, etc. The syntax of <TT><I>pathspec</I></TT> is described in the <A HREF="#pathspec">Path Specification</A> section, and further details on ignoring paths is found in the <A HREF="#ignore">Ignoring Paths</A> section.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>ignorearchives </B><DD CLASS="dd-description">
|
||||
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.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>ignorecase <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
When set to <TT>true</TT>, 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 <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>
|
||||
When set to <TT>true</TT>, 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 <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 may be useful to set the flag manually.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>ignoreinodenumbers </B><DD CLASS="dd-description">
|
||||
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.<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 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>
|
||||
@ -1584,7 +1637,7 @@ Note that the semantics of <TT>ignore</TT> and <TT>ignorenot</TT> is a
|
||||
if some parent of a given path matches an <TT>ignore</TT> pattern, then
|
||||
it will be skipped even if the path itself matches an <TT>ignorenot</TT>
|
||||
pattern. In particular, putting <TT>ignore = Path *</TT> in your profile
|
||||
and then using t ignorenot to select particular paths to be
|
||||
and then using <TT>ignorenot</TT> to select particular paths to be
|
||||
synchronized will not work. Instead, you should use the <TT>path</TT>
|
||||
preference to choose particular paths to synchronize.<BR>
|
||||
<BR>
|
||||
@ -1603,6 +1656,9 @@ When set to <CODE>true</CODE>, this flag causes Unison to kill the remote server
|
||||
<DT CLASS="dt-description"><B>label <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
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.)<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>links <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
When set to <TT>true</TT>, this flag causes Unison to synchronize symbolic links. When the flag is set to <TT>false</TT>, symbolic links will result in an error during update detection. Ordinarily, when the flag is set to <TT>default</TT>, symbolic links are synchronized except when one of the hosts is running Windows. In rare circumstances it may be useful to set the flag manually.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>log </B><DD CLASS="dd-description">
|
||||
When this flag is set, Unison will log all changes to the filesystems
|
||||
on a file.<BR>
|
||||
@ -1615,8 +1671,11 @@ By default, logging messages will be appended to the file
|
||||
<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>maxerrors <TT>n</TT></B><DD CLASS="dd-description">
|
||||
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).<BR>
|
||||
<BR>
|
||||
<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>
|
||||
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 desactivated and 1000 threads when it is activated.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>merge <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
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 the both replicas. Setting the <TT>merge</TT> preference for a path will also cause this path to be backed up, just like t backup. The syntax of <TT><I>pathspec>cmd</I></TT> is described in the <A HREF="#pathspec">Path Specification</A> section, and further details on Merging functions are present in the <A HREF="#merge">Merging files</A> section.<BR>
|
||||
@ -1624,19 +1683,43 @@ This preference can be used to run a merge program which will create a new versi
|
||||
<DT CLASS="dt-description"><B>mountpoint <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-mountpoint PATH</TT> causes Unison to double-check, at the end of update detection, that <TT>PATH</TT> 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 the <A HREF="#mountpoints">Mount Points</A> section.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>nocreation <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-nocreation <I>root</I></TT> prevents Unison from performing any file creation on root <TT><I>root</I></TT>.<BR>
|
||||
<BR>
|
||||
This preference can be included twice, once for each root, if you want to prevent any creation.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>nocreationpartial <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>nocreationpartial = <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> prevents Unison from performing any file creation in <TT><I>PATHSPEC</I></TT> on root <TT><I>root</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). It is recommended to use <TT>BelowPath</TT> patterns when selecting a directory and all its contents.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>nodeletion <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-nodeletion <I>root</I></TT> prevents Unison from performing any file deletion on root <TT><I>root</I></TT>.<BR>
|
||||
<BR>
|
||||
This preference can be included twice, once for each root, if you want to prevent any creation.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>nodeletionpartial <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>nodeletionpartial = <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> prevents Unison from performing any file deletion in <TT><I>PATHSPEC</I></TT> on root <TT><I>root</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). It is recommended to use <TT>BelowPath</TT> patterns when selecting a directory and all its contents.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>noupdate <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-noupdate <I>root</I></TT> prevents Unison from performing any file update or deletion on root <TT><I>root</I></TT>.<BR>
|
||||
<BR>
|
||||
This preference can be included twice, once for each root, if you want to prevent any update.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>noupdatepartial <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>noupdatepartial = <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> prevents Unison from performing any file update or deletion in <TT><I>PATHSPEC</I></TT> on root <TT><I>root</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). It is recommended to use <TT>BelowPath</TT> patterns when selecting a directory and all its contents.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>numericids </B><DD CLASS="dd-description">
|
||||
When this flag is set to <CODE>true</CODE>, groups and users are synchronized numerically, rather than by name. <BR>
|
||||
<BR>
|
||||
The special uid 0 and the special group 0 are never mapped via user/group names even if this preference is not set.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>owner </B><DD CLASS="dd-description">
|
||||
When this flag is set to <CODE>true</CODE>, the owner attributes of the files are synchronized. Whether the owner names or the owner identifiers are synchronizeddepends on the preference extttnumerids.<BR>
|
||||
When this flag is set to <CODE>true</CODE>, the owner attributes of the files are synchronized. Whether the owner names or the owner identifiers are synchronizeddepends on the preference <TT>numerids</TT>.<BR>
|
||||
<BR>
|
||||
<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—they are not regular expressions.<BR>
|
||||
<BR>
|
||||
<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 −1.<BR>
|
||||
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 −1. If one of the replica is on a FAT [Windows] filesystem, you should consider using the t 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 t dontchmod to t true.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>prefer <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>-prefer <I>root</I></TT> causes Unison always to resolve conflicts in favor of <TT><I>root</I></TT>, rather than asking for guidance from the user. (The syntax of <TT><I>root</I></TT> is the same as for the <CODE>root</CODE> preference, plus the special values <CODE>newer</CODE> and <CODE>older</CODE>.) <BR>
|
||||
@ -1646,13 +1729,10 @@ This preference is overridden by the <CODE>preferpartial</CODE> preference.<BR>
|
||||
This preference should be used only if you are <EM>sure</EM> you know what you are doing!<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>preferpartial <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
Including the preference <TT>preferpartial <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> causes Unison always to resolve conflicts in favor of <TT><I>root</I></TT>, rather than asking for guidance from the user, for the files in <TT><I>PATHSPEC</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). (The syntax of <TT><I>root</I></TT> is the same as for the <CODE>root</CODE> preference, plus the special values <CODE>newer</CODE> and <CODE>older</CODE>.) <BR>
|
||||
Including the preference <TT>preferpartial = <I>PATHSPEC</I></TT><TT> -> <I>root</I></TT> causes Unison always to resolve conflicts in favor of <TT><I>root</I></TT>, rather than asking for guidance from the user, for the files in <TT><I>PATHSPEC</I></TT> (see the <A HREF="#pathspec">Path Specification</A> section for more information). (The syntax of <TT><I>root</I></TT> is the same as for the <CODE>root</CODE> preference, plus the special values <CODE>newer</CODE> and <CODE>older</CODE>.) <BR>
|
||||
<BR>
|
||||
This preference should be used only if you are <EM>sure</EM> you know what you are doing!<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>pretendwin </B><DD CLASS="dd-description">
|
||||
When set to true, this preference makes Unison use Windows-style fast update detection (using file creation times as “pseudo-inode-numbers”), even when running on a Unix system. This switch should be used with care, as it is less safe than the standard update detection method, but it can be useful for synchronizing VFAT filesystems (which do not support inode numbers) mounted on Unix systems. The <TT>fastcheck</TT> option should also be set to true.<BR>
|
||||
<BR>
|
||||
<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>
|
||||
@ -1715,6 +1795,9 @@ This preference can be used to explicitly set the name of the ssh executable (e.
|
||||
<DT CLASS="dt-description"><B>sshversion <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
This preference can be used to control which version of ssh should be used to connect to the server. Legal values are 1 and 2, which will cause unison to try to use <CODE>ssh1</CODE> or<CODE>ssh2</CODE> instead of just <CODE>ssh</CODE> to invoke ssh. The default value is empty, which will make unison use whatever version of ssh is installed as the default `ssh' command.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>stream </B><DD CLASS="dd-description">
|
||||
When this preference is set, Unison will use an experimental streaming protocol for transferring file contents more efficiently. The default value is <TT>true</TT>.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>terse </B><DD CLASS="dd-description">
|
||||
When this preference is set to <TT>true</TT>, the user interface will not print status messages.<BR>
|
||||
<BR>
|
||||
@ -1731,6 +1814,9 @@ Because this option is processed specially during Unison's start-up sequence, it
|
||||
<BR>
|
||||
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.)<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>unicode <TT>xxx</TT></B><DD CLASS="dd-description">
|
||||
When set to <TT>true</TT>, this flag causes Unison to perform case insensitive file comparisons assuming Unicode encoding. This is the default. When the flag is set to <TT>false</TT>, a Latin 1 encoding is assumed. When Unison runs in case sensitive mode, this flag only makes a difference if one host is running Windows or Mac OS X. Under Windows, the flag selects between using the Unicode or 8bit Windows API for accessing the filesystem. Under Mac OS X, it selects whether comparing the filenames up to decomposition, or byte-for-byte.<BR>
|
||||
<BR>
|
||||
<DT CLASS="dt-description"><B>version </B><DD CLASS="dd-description">
|
||||
Print the current version number and exit. (This option only makes sense on the command line.)<BR>
|
||||
<BR>
|
||||
@ -2206,15 +2292,19 @@ full Posix regexps are not currently supported).
|
||||
<PRE>
|
||||
Regex <TT><I>regexp</I></TT>
|
||||
</PRE>
|
||||
For convenience, two other styles of pattern are also recognized:
|
||||
For convenience, three other styles of pattern are also recognized:
|
||||
<PRE>
|
||||
Name <TT><I>name</I></TT>
|
||||
</PRE>
|
||||
matches any path in which the last component matches <TT><I>name</I></TT>, while
|
||||
matches any path in which the last component matches <TT><I>name</I></TT>,
|
||||
<PRE>
|
||||
Path <TT><I>path</I></TT>
|
||||
</PRE>
|
||||
matches exactly the path <TT><I>path</I></TT>.
|
||||
matches exactly the path <TT><I>path</I></TT>, and
|
||||
<PRE>
|
||||
BelowPath <TT><I>path</I></TT>
|
||||
</PRE>
|
||||
matches the path <TT><I>path</I></TT> and any path below.
|
||||
The <TT><I>name</I></TT> and <TT><I>path</I></TT> arguments of the latter forms of
|
||||
patterns are <EM>not</EM> regular expressions. Instead,
|
||||
standard “globbing” conventions can be used in <TT><I>name</I></TT> and
|
||||
@ -2413,7 +2503,7 @@ can be found at the rsync web site (<A HREF="http://samba.anu.edu.au/rsync/"><TT
|
||||
<BR>
|
||||
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 “<TT>-rshargs -C</TT>” to the command line or “<TT>rshargs = -C</TT>” to your profile. <BR>
|
||||
adding the option “<TT>-sshargs -C</TT>” to the command line or “<TT>sshargs = -C</TT>” to your profile. <BR>
|
||||
<BR>
|
||||
<!--TOC subsection Making Unison Faster on Large Files-->
|
||||
|
||||
@ -2663,70 +2753,230 @@ 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.32.52-->
|
||||
<hr><!--TOC section Changes in Version 2.40.61-->
|
||||
|
||||
<H2 CLASS="section"><A NAME="news"></A>Changes in Version 2.32.52</H2><!--SEC END -->
|
||||
<H2 CLASS="section"><A NAME="news"></A>Changes in Version 2.40.61</H2><!--SEC END -->
|
||||
|
||||
Changes since 2.32.44:
|
||||
Changes since 2.40.1:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
|
||||
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.
|
||||
<LI CLASS="li-itemize">Improved Unison icon under Windows
|
||||
<LI CLASS="li-itemize">Case sensitivity information put in the archive (in a backward
|
||||
compatible way) and checked when the archive is loaded
|
||||
<LI CLASS="li-itemize">Uses improved emulation of "select" call provided by Ocaml 3.11
|
||||
under Windows (the GUI does not freeze as much during synchronization)
|
||||
<LI CLASS="li-itemize">Upgraded to GPL version 3 and added copyright notice to
|
||||
documentation files.
|
||||
<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 *or* the file's extended
|
||||
attributes without changing its modification time. I'm not sure
|
||||
what is the best fix for this – it is not Unison's fault, but it
|
||||
makes Unison's behavior puzzling – but at least Unison can be more
|
||||
helpful about suggesting a workaround (running once with 'fastcheck'
|
||||
set to false). The failure message has been changed to give this
|
||||
advice.
|
||||
Added "BelowPath" patterns, that match a path as well as all paths below
|
||||
(convenient to use with nodeletion,update,creationpartial preferences)
|
||||
<LI CLASS="li-itemize">Added a "fat" preference that makes Unison use the right options
|
||||
when one of the replica is on a FAT filesystem.
|
||||
<LI CLASS="li-itemize">Allow "prefer/force=newer" even when not synchronizing modification
|
||||
times. (The reconciler will not be aware of the modification time
|
||||
of unchanged files, so the synchronization choices of Unison can be
|
||||
different from when "times=true", but the behavior remains sane:
|
||||
changed files with the most recent modification time will be
|
||||
propagated.)
|
||||
<LI CLASS="li-itemize">Minor fixes and improvements:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
Compare filenames up to decomposition in case sensitive mode when
|
||||
one host is running MacOSX and the unicode preference is set to
|
||||
true.
|
||||
<LI CLASS="li-itemize">Rsync: somewhat faster compressor
|
||||
<LI CLASS="li-itemize">Make Unicode the default on all architectures (it was only the
|
||||
default when a Mac OS X or Windows machine was involved).
|
||||
</UL>
|
||||
|
||||
</UL>
|
||||
|
||||
Changes since 2.32:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
|
||||
Major enhancement: Unicode support.
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
Unison should now handle unicode filenames correctly on all platforms.
|
||||
<LI CLASS="li-itemize">This functionality is controlled by a new preference <TT>unicode</TT>.
|
||||
<LI CLASS="li-itemize">Unicode mode is now the default when one of the hosts is under
|
||||
Windows or MacOS. This may make upgrades a bit more painful (the
|
||||
archives cannot be reused), but this is a much saner default.
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">Partial transfer of directories. If an error occurs while
|
||||
transferring a directory, the part transferred so far is copied into
|
||||
place (and the archives are updated accordingly).
|
||||
The "maxerrors" preference controls how many transfer error Unison
|
||||
will accept before stopping the transfer of a directory (by default,
|
||||
only one). This makes it possible to transfer most of a directory
|
||||
even if there are some errors. Currently, only the first error is
|
||||
reported by the GUIs.<BR>
|
||||
<BR>
|
||||
Also, allow partial transfer of a directory when there was an error deep
|
||||
inside this directory during update detection. At the moment, this
|
||||
is only activated with the text and GTK UIs, which have been
|
||||
modified so that they show that the transfer is going to be partial
|
||||
and so that they can display all errors.
|
||||
<LI CLASS="li-itemize">Improvement to the code for resuming directory transfers:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
if a file was not correctly transferred (or the source has been
|
||||
modified since, with unchanged size), Unison performs a new
|
||||
transfer rather than failing
|
||||
<LI CLASS="li-itemize">spurious files are deleted (this can happen if a file is deleted
|
||||
on the source replica before resuming the transfer; not deleting
|
||||
the file would result in it reappearing on the target replica)
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">Experimental streaming protocol for transferring file contents (can
|
||||
be disabled by setting the directive "stream" to false): file
|
||||
contents is transfered asynchronously (without waiting for a response
|
||||
from the destination after each chunk sent) rather than using the
|
||||
synchronous RPC mechanism. As a consequence:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
Unison now transfers the contents of a single file at a time
|
||||
(Unison used to transfer several contents simultaneously in order
|
||||
to hide the connection latency.)
|
||||
<LI CLASS="li-itemize">the transfer of large files uses the full available bandwidth
|
||||
and is not slowed done due to the connection latency anymore
|
||||
<LI CLASS="li-itemize">we get performance improvement for small files as well by
|
||||
scheduling many files simultaneously (as scheduling a file for
|
||||
transfer consume little ressource: it does not mean allocating a
|
||||
large buffer anymore)
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">Changes to the internal implementation of the rsync algorithm:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
use longer blocks for large files (the size of a block is the
|
||||
square root of the size of the file for large files);
|
||||
<LI CLASS="li-itemize">transmit less checksum information per block (we still have less
|
||||
than one chance in a hundred million of transferring a file
|
||||
incorrectly, and Unison will catch any transfer error when
|
||||
fingerprinting the whole file)
|
||||
<LI CLASS="li-itemize">avoid transfer overhead (which was 4 bytes per block)
|
||||
</UL>
|
||||
For a 1G file, the first optimization saves a factor 50 on the
|
||||
amount of data transferred from the target to the source (blocks
|
||||
are 32768 bytes rather than just 700 bytes). The two other
|
||||
optimizations save another factor of 2 (from 24 bytes per block
|
||||
down to 10).
|
||||
<LI CLASS="li-itemize">Implemented an on-disk file fingerprint cache to speed-up update
|
||||
detection after a crash: this way, Unison does not have do recompute
|
||||
all the file fingerprints from scratch.
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
When Unison detects that the archive case-sensitivity mode
|
||||
does not match the current settings, it populates the fingerprint
|
||||
cache using the archive contents. This way, changing the
|
||||
case-sensitivity mode should be reasonably fast.
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">New preferences "noupdate=root", "nodeletion=root", "nocreation=root"
|
||||
that prevent Unison from performing files updates, deletions or
|
||||
creations on the given root. Also 'partial' versions of 'noupdate',
|
||||
'nodeletion' and 'nocreation'
|
||||
<LI CLASS="li-itemize">Limit the number of simultaneous external copy program
|
||||
("copymax" preference)
|
||||
<LI CLASS="li-itemize">New "links" preference. When set to false, Unison will report an
|
||||
error on symlinks during update detection. (This is the default
|
||||
when one host is running Windows but not Cygwin.) This is better
|
||||
than failing during propagation.
|
||||
<LI CLASS="li-itemize">Added a preference "halfduplex" to force half-duplex communication
|
||||
with the server. This may be useful on unreliable links (as a more
|
||||
efficient alternative to "maxthreads = 1").
|
||||
<LI CLASS="li-itemize">Renamed preference "pretendwin" to "ignoreinodenumbers" (an alias is
|
||||
kept for backwards compatibility).
|
||||
<LI CLASS="li-itemize">Ignore one-second differences when synchronizing modification time.
|
||||
(Technically, this is an incompatible archive format change, but it
|
||||
is backward compatible. To trigger a problem, a user would have to
|
||||
synchronize modification times on a filesystem with a two-second
|
||||
granularity and then downgrade to a previous version of Unison,
|
||||
which does not work well in such a case. Thus, it does not
|
||||
seem worthwhile to increment the archive format number, which would
|
||||
impact all users.)
|
||||
<LI CLASS="li-itemize">Do not keep many files simultaneously opened anymore when the rsync
|
||||
algorithm is in use.
|
||||
<LI CLASS="li-itemize">Add “ignorearchives” preference to ignore existing archives (to
|
||||
avoid forcing users to delete them manually, in situations where one
|
||||
archive has gotten deleted or corrupted).
|
||||
<LI CLASS="li-itemize">Mac OS
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
fixed rsync bug which could result in an "index out of bounds"
|
||||
error when transferring resource forks.
|
||||
<LI CLASS="li-itemize">Fixed bug which made Unison ignore finder information and resource
|
||||
fork when compiled to 64bit on Mac OSX.
|
||||
<LI CLASS="li-itemize">should now be 64 bit clean (the Growl framework is not up to date,
|
||||
though)
|
||||
<LI CLASS="li-itemize">Made the bridge between Objective C and Ocaml code GC friendly
|
||||
(it was allocating ML values and putting them in an array which
|
||||
was not registered with the GC)
|
||||
<LI CLASS="li-itemize">use darker grey arrows (patch contributed by Eric Y. Kow)
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">GTK user interface
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
assistant for creating profiles
|
||||
<LI CLASS="li-itemize">profile editor
|
||||
<LI CLASS="li-itemize">pop up a summary window when the replicas are not fully
|
||||
synchronized after transport
|
||||
<LI CLASS="li-itemize">display estimated remaining time and transfer rate on the
|
||||
progress bar
|
||||
<LI CLASS="li-itemize">allow simultaneous selection of several items
|
||||
<LI CLASS="li-itemize">Do not reload the preference file before a new update
|
||||
detection if it is unchanged
|
||||
<LI CLASS="li-itemize">disabled scrolling to the first unfinished item during transport.
|
||||
It goes way too fast when lot of small files are synchronized, and it
|
||||
makes it impossible to browse the file list during transport.
|
||||
<LI CLASS="li-itemize">take into account the "height" preference again
|
||||
<LI CLASS="li-itemize">the internal list of selected reconciler item was not always in
|
||||
sync with what was displayed (GTK bug?); workaround implemented
|
||||
<LI CLASS="li-itemize">Do not display "Looking for change" messages during propagation
|
||||
(when checking the targe is unchanged) but only during update detection
|
||||
<LI CLASS="li-itemize">Apply patch to fix some crashes in the OSX GUI, thanks to Onne Gorter.
|
||||
</UL>
|
||||
<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.
|
||||
During update detection, display status by updating a single line
|
||||
rather than generating a new line of output every so often. Should be less
|
||||
confusing.
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">Bugfixes
|
||||
<LI CLASS="li-itemize">Windows
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
Fixed quotation of paths and names when writing to a preference file
|
||||
<LI CLASS="li-itemize">Fixed bug resulting in slow performances when transferring a file
|
||||
using our rsync implementation from a 64-bit architecture to a
|
||||
32-bit architecture.
|
||||
<LI CLASS="li-itemize">Fixed bug in <CODE>Lwt_unix.run</CODE> which could make it fail with a
|
||||
<CODE>Not_found</CODE> exception (see [<CODE>Not_found</CODE> raised in
|
||||
tryCopyMovedFile] errors)
|
||||
<LI CLASS="li-itemize">Properly deals with non-conformant AppleDouble files produced
|
||||
by Mac OS X.
|
||||
<LI CLASS="li-itemize">Fixed bug that results in Unison missing ressource fork changes
|
||||
<LI CLASS="li-itemize">Applied a patch from Karl M to make the GTK2 version build with
|
||||
OCaml 3.11 on Windows.
|
||||
<LI CLASS="li-itemize">Added some extra debugging code to remote.ml to give more
|
||||
informative error messages when people encounter the longstanding
|
||||
"assert failed during file transfer" bug.
|
||||
<LI CLASS="li-itemize">Applied patch from Antoine Reilles for NetBSD compilation
|
||||
<LI CLASS="li-itemize">Resizing the update window vertically no longer moves the status
|
||||
label. Fix contributed by Pedro Melo.
|
||||
Fastcheck is now the default under Windows. People mostly use NTFS
|
||||
nowadays and the Unicode API provides an equivalent to inode numbers
|
||||
for this filesystem.
|
||||
<LI CLASS="li-itemize">Only use long UNC path for accessing replicas (as '..' is
|
||||
not handled with this format of paths, but can be useful)
|
||||
<LI CLASS="li-itemize">Windows text UI: now put the console into UTF-8 output mode. This
|
||||
is the right thing to do when in Unicode mode, and is no worse than
|
||||
what we had previously otherwise (the console use some esoteric
|
||||
encoding by default). This only works when using a Unicode font
|
||||
instead of the default raster font.
|
||||
<LI CLASS="li-itemize">Don't get the home directory from environment variable HOME under
|
||||
Windows (except for Cygwin binaries): we don't want the behavior of
|
||||
Unison to depends on whether it is run from a Cygwin shell (where
|
||||
HOME is set) or in any other way (where HOME is usually not set).
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">Miscellaneous fixes and improvements
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
Made a server waiting on a socket more resilient to unexpected
|
||||
lost connections from the client.
|
||||
<LI CLASS="li-itemize">Small patch to property setting code suggested by Ulrich Gernkow.
|
||||
<LI CLASS="li-itemize">Several fixes to the change transfer functions (both the internal ones
|
||||
and external transfers using rsync). In particular, limit the number of
|
||||
simultaneous transfer using an rsync
|
||||
(as the rsync algorithm can use a large amount of memory when
|
||||
processing huge files)
|
||||
<LI CLASS="li-itemize">Keep track of which file contents are being transferred, and delay
|
||||
the transfer of a file when another file with the same contents is
|
||||
currently being transferred. This way, the second transfer can be
|
||||
skipped and replaced by a local copy.
|
||||
<LI CLASS="li-itemize">Experimental update detection optimization:
|
||||
do not read the contents of unchanged directories
|
||||
<LI CLASS="li-itemize">When a file transfer fails, turn off fastcheck for this file on the
|
||||
next sync.
|
||||
<LI CLASS="li-itemize">Fixed bug with case insensitive mode on a case sensitive filesystem:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
if file "a/a" is created on one replica and directory "A" is
|
||||
created on the other, the file failed to be synchronized the first
|
||||
time Unison is run afterwards, as Unison uses the wrong path "a/a"
|
||||
(if Unison is run again, the directories are in the archive, so
|
||||
the right path is used);
|
||||
<LI CLASS="li-itemize">if file "a" appears on one replica and file "A" appears on the
|
||||
other with different contents, Unison was unable to synchronize
|
||||
them.
|
||||
</UL>
|
||||
<LI CLASS="li-itemize">Improved error reporting when the destination is updated during
|
||||
synchronization: Unison now tells which file has been updated, and how.
|
||||
<LI CLASS="li-itemize">Limit the length of temporary file names
|
||||
<LI CLASS="li-itemize">Case sensitivity information put in the archive (in a backward
|
||||
compatible way) and checked when the archive is loaded
|
||||
<LI CLASS="li-itemize">Got rid of the 16mb marshalling limit by marshalling to a bigarray.
|
||||
<LI CLASS="li-itemize">Resume copy of partially transferred files.
|
||||
</UL>
|
||||
|
||||
</UL>
|
||||
@ -2734,7 +2984,13 @@ label. Fix contributed by Pedro Melo.
|
||||
Changes since 2.31:
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
|
||||
Minor fixes and improvements:
|
||||
Small user interface changes
|
||||
<UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
Small change to text UI "scanning..." messages, to print just
|
||||
directories (hopefully making it clearer that individual files are
|
||||
not necessarily being fingerprinted).
|
||||
</UL>
|
||||
<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
|
||||
@ -2751,6 +3007,11 @@ Ignore one hour differences when deciding whether a file may have
|
||||
added more debugging code togive more informative error messages when we
|
||||
encounter the dreaded and longstanding "assert failed during file
|
||||
transfer" bug
|
||||
<LI CLASS="li-itemize">Incorrect paths ("path" directive) now result in an error update
|
||||
item rather than a fatal error.
|
||||
<LI CLASS="li-itemize">Create parent directories (with correct permissions) during
|
||||
transport for paths which point to non-existent locations in the
|
||||
destination replica.
|
||||
</UL>
|
||||
|
||||
</UL>
|
3
unison-2.40.61.tar.gz
Normal file
3
unison-2.40.61.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e6114bf6a99d8bbe151250b7e28a74aa546d213f4f7f7914ca086a48b375277b
|
||||
size 2702722
|
@ -1,13 +0,0 @@
|
||||
Index: unison-2.32.52/update.mli
|
||||
===================================================================
|
||||
--- unison-2.32.52.orig/update.mli
|
||||
+++ unison-2.32.52/update.mli
|
||||
@@ -1,7 +1,7 @@
|
||||
(* Unison file synchronizer: src/update.mli *)
|
||||
(* Copyright 1999-2009, Benjamin C. Pierce (see COPYING for details) *)
|
||||
|
||||
-module NameMap : Map.S with type key = Name.t
|
||||
+module NameMap : MyMap.S with type key = Name.t
|
||||
|
||||
type archive =
|
||||
ArchiveDir of Props.t * archive NameMap.t
|
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 31 13:16:51 UTC 2011 - saschpe@suse.de
|
||||
|
||||
- Spec file cleanup
|
||||
* Removed authors from description
|
||||
* Removed ctags dependency
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 29 18:25:43 UTC 2011 - poletti.marco@gmail.com
|
||||
|
||||
- Update to version 2.40.61:
|
||||
* Add "BelowPath" patterns
|
||||
* Other fixes and improvements
|
||||
- Update to version 2.40.1:
|
||||
* Unicode support
|
||||
* Partial transfer of directories
|
||||
* Experimental prococol for asyncronous file tranfers, hiding latency
|
||||
* Improve the performance of the rsync protocol
|
||||
* Many (!) other improvements and fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 7 07:58:40 UTC 2010 - aj@suse.de
|
||||
|
||||
|
55
unison.spec
55
unison.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package unison (Version 2.32.52)
|
||||
# spec file for package unison
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -15,29 +15,26 @@
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
# norootforbuild
|
||||
|
||||
|
||||
Name: unison
|
||||
Version: 2.40.61
|
||||
Release: 0
|
||||
Summary: A file synchronization tool
|
||||
Group: Productivity/Networking/Other
|
||||
License: GPLv3+
|
||||
Url: http://www.cis.upenn.edu/~bcpierce/unison
|
||||
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
|
||||
Source2: %{name}.desktop
|
||||
Source3: %{name}.png
|
||||
Patch0: fix_makefile.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: gtk2-devel ncurses-devel update-desktop-files
|
||||
%if 0%{?suse_version} > 1020
|
||||
BuildRequires: lablgtk2-devel
|
||||
%else
|
||||
BuildRequires: lablgtk2
|
||||
%endif
|
||||
License: GPLv3+
|
||||
Group: Productivity/Networking/Other
|
||||
AutoReqProv: on
|
||||
Version: 2.32.52
|
||||
Release: 6
|
||||
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
|
||||
Source2: %name.desktop
|
||||
Source3: %name.png
|
||||
Patch1: unison-ocaml.patch
|
||||
Url: http://www.cis.upenn.edu/~bcpierce/unison
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Summary: A file synchronization tool
|
||||
|
||||
%description
|
||||
Unison is a file synchronization tool for Unix and Windows. It allows
|
||||
@ -46,15 +43,9 @@ different hosts (or different disks on the same host), modified
|
||||
separately, then brought up to date by propagating the changes in each
|
||||
replica to the other.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Benjamin Pierce <bcpierce@cis.upenn.edu>
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch0 -p 1
|
||||
|
||||
%build
|
||||
# This package failed when testing with -Wl,-as-needed being default.
|
||||
@ -67,10 +58,10 @@ make UISTYLE=gtk2 NATIVE=true THREADS=true
|
||||
%endif
|
||||
|
||||
%install
|
||||
install -m 755 -d $RPM_BUILD_ROOT/%{_bindir}
|
||||
install -m 755 %name $RPM_BUILD_ROOT%{_bindir}
|
||||
install -m 755 -d $RPM_BUILD_ROOT/%{_prefix}/share/pixmaps
|
||||
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/%{_prefix}/share/pixmaps
|
||||
install -m 755 -d %{buildroot}/%{_bindir}
|
||||
install -m 755 %name %{buildroot}%{_bindir}
|
||||
install -m 755 -d %{buildroot}/%{_prefix}/share/pixmaps
|
||||
install -m 644 %{SOURCE3} %{buildroot}/%{_prefix}/share/pixmaps
|
||||
install -m 644 %{SOURCE1} unison-manual.html
|
||||
%suse_update_desktop_file -i %name Utility SyncUtility
|
||||
%ifarch s390 s390x
|
||||
@ -79,13 +70,13 @@ export NO_BRP_STRIP_DEBUG=true
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT;
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%defattr(-,root,root)
|
||||
%doc BUGS.txt CONTRIB COPYING NEWS README ROADMAP.txt TODO.txt unison-manual.html
|
||||
/usr/share/applications/*
|
||||
/usr/share/pixmaps/unison.png
|
||||
%{_datadir}/applications/*
|
||||
%{_datadir}/pixmaps/unison.png
|
||||
%{_bindir}/%{name}
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user