Hello community, here is the log from the commit of package unison for openSUSE:Factory checked in at 2015-02-23 13:19:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/unison (Old) and /work/SRC/openSUSE:Factory/.unison.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "unison" Changes: -------- --- /work/SRC/openSUSE:Factory/unison/unison.changes 2013-03-08 09:55:10.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.unison.new/unison.changes 2015-02-23 13:19:28.000000000 +0100 @@ -1,0 +2,13 @@ +Sat Feb 21 22:04:36 CET 2015 - oliver@getspam.de + +- Update to 2.48.3: + * Uprintf module replaced with functionality from the standard + library (doesn't work with ocaml4.02, caused crash) + * many file system monitoring improvements + * some minor changes (maxsizethreshold option and a + copyonconflict preference added) + +- removed build-fix-EG11.1.patch: was only applied for os 11.1 + which is not supported anymore + +------------------------------------------------------------------- Old: ---- build-fix-EG11.1.patch unison-2.40.102-manual.html unison-2.40.102.tar.gz New: ---- unison-2.48.3-manual.html unison-2.48.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ unison.spec ++++++ --- /var/tmp/diff_new_pack.t2BGHb/_old 2015-02-23 13:19:29.000000000 +0100 +++ /var/tmp/diff_new_pack.t2BGHb/_new 2015-02-23 13:19:29.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package unison # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 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 @@ -25,7 +25,7 @@ %endif Name: unison -Version: 2.40.102 +Version: 2.48.3 Release: 0 Summary: File synchronization tool License: GPL-3.0+ @@ -35,7 +35,6 @@ Source1: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}-manual.html Source2: %{name}.desktop Source3: %{name}.png -Patch0: build-fix-EG11.1.patch BuildRequires: gtk2-devel BuildRequires: lablgtk2-devel BuildRequires: ncurses-devel @@ -51,9 +50,6 @@ %prep %setup -q -%if 0%{?suse_version} == 01110 -%patch -p1 -%endif %build # This package failed when testing with -Wl,-as-needed being default. ++++++ unison-2.40.102-manual.html -> unison-2.48.3-manual.html ++++++ --- /work/SRC/openSUSE:Factory/unison/unison-2.40.102-manual.html 2013-01-14 12:04:04.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.unison.new/unison-2.48.3-manual.html 2015-02-23 13:19:28.000000000 +0100 @@ -36,8 +36,8 @@ <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.40.65<BR> -<FONT SIZE=4>Copyright 1998-2009, Benjamin C. Pierce +<FONT SIZE=5>Version 2.48.3<BR> +<FONT SIZE=4>Copyright 1998-2015, Benjamin C. Pierce </FONT></FONT></FONT></FONT></DIV></div><BR> <BR> <!--TOC section Contents--> @@ -105,7 +105,7 @@ <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.40.65</B></FONT></A><BR> +<A HREF="#news"><FONT SIZE=4><B>Changes in Version 2.48.3</B></FONT></A><BR> </BLOCKQUOTE> @@ -387,8 +387,15 @@ <H4 CLASS="subsubsection"><A NAME="build-unix"></A>Unix</H4><!--SEC END --> -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 +Unison can be built with or without a graphical user interface (GUI). The +build system will decide automatically depending on the libraries installed +on your system, but you can also type <TT>make UISTYLE=text</TT> to build +Unison without GUI.<BR> +<BR> +You'll need the Objective Caml compiler, +available from <A HREF="http://caml.inria.fr"><TT>http://caml.inria.fr</TT></A>. OCaml is available from most +package managers +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 addition to the bytecode compiler, as Unison runs much faster when compiled @@ -403,39 +410,30 @@ not parallelizable, so don't use make flags which cause it to start processes in parallel, e.g. -j for GNU make.<BR> <BR> -Once you've got OCaml installed, grab a copy of the Unison sources, -unzip and untar them, change to the new <FONT SIZE=4><TT>unison</TT></FONT> directory, and -type “<TT>make UISTYLE=text</TT>.” -The result should be an executable file called <FONT SIZE=4><TT>unison</TT></FONT>. -Type <FONT SIZE=4><TT>./unison</TT></FONT> to make sure the program is executable. You -should get back a usage message.<BR> +Once you've got OCaml installed, grab a copy of the Unison sources, unzip +and untar them, change to the new <FONT SIZE=4><TT>unison</TT></FONT> directory, and type “<TT>make UISTYLE=text</TT>”. The result should be an executable file called +<FONT SIZE=4><TT>unison</TT></FONT>. Type <FONT SIZE=4><TT>./unison</TT></FONT> to make sure the program is +executable. You should get back a usage message.<BR> <BR> If you want to build the graphical user interface, you will need to install -two additional things: +some additional things: <UL CLASS="itemize"><LI CLASS="li-itemize"> -The Gtk2 libraries. These areavailable from - <A HREF="http://www.gtk.org"><TT>http://www.gtk.org</TT></A> and are standard on many Unix installations. <BR> -<BR> -<LI CLASS="li-itemize">The <TT>lablgtk2</TT> OCaml library. Grab the - developers' tarball from - <BLOCKQUOTE CLASS="quote"> - <A HREF="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html"><TT>http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html</TT></A>, - </BLOCKQUOTE> - untar it, and follow the instructions to build and install it.<BR> -<BR> -(Quick start: <TT>make configure</TT>, then <TT>make</TT>, then <TT>make - opt</TT>, then <TT>su</TT> and <TT>make install</TT>.) -</UL> -Now build unison. If your search paths are set up correctly, simply typing -<TT>make</TT> -again should build a <CODE>unison</CODE> executable with a Gtk2 graphical -interface. (In previous releases of Unison, it was necessary to add <TT>UISTYLE=gtk2</TT> to the 'make' command above. This requirement has been -removed: the makefile should detect automatically when lablgtk2 is -present and set this flag automatically.) <BR> -<BR> -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> +The Gtk2 development libraries (package <TT>libgtk2.0-dev</TT> on debian +based systems). +<LI CLASS="li-itemize">OCaml bindings for Gtk2. Install them from your software repositories +(package <TT>liblablgtk2-ocaml</TT> on debian based systems). Also available +from <A HREF="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html"><TT>http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html</TT></A>. +<LI CLASS="li-itemize">Pango, a text rendering library and a part of Gtk2. On some systems +(e.g. Ubuntu) the bindings between Pango and OCaml need to be installed +explicitly (package <TT>liblablgtk-extras-ocaml-dev</TT> on Ubuntu). +</UL> +Type <TT>make</TT> to build Unison. If Gtk2 is available on the system, Unison +with a GUI will be built automatically. <BR> +<BR> +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. Or just +type <TT>make install</TT> to install Unison to <TT>$HOME/bin/unison</TT>.<BR> <BR> <!--TOC subsubsection Mac OS X--> @@ -1412,10 +1410,12 @@ -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 + -clientHostName xxx set host name of client -confirmbigdel ask about whole-replica (or path) deletes (default true) - -confirmmerge ask for confirmation before commiting results of a merge + -confirmmerge ask for confirmation before committing results of a merge -contactquietly suppress the 'contacting server' message during startup -copymax n maximum number of simultaneous copyprog transfers + -copyonconflict keep copies of conflicting files -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) @@ -1425,6 +1425,7 @@ -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) + -fastercheckUNSAFE skip computing fingerprints for new files (experts only!) -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 @@ -1445,6 +1446,7 @@ -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 + -maxsizethreshold n prevent transfer of files bigger than this (if >=0, in Kb) -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 @@ -1472,6 +1474,7 @@ -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 + -watch when set, use a file watcher process to detect changes (default true) -xferbycopying optimize transfers using local copies (default true) </PRE> @@ -1524,11 +1527,14 @@ <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>clientHostName <TT>xxx</TT></B><DD CLASS="dd-description"> +When specified, the host name of the client will not be guessedand the provided host name will be used to find the archive.<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> <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> +Setting this preference causes both the text and graphical interfaces to ask the user if the results of a merge command may be committed to the replica or not. Since the merge command works on temporary files, the user can then cancel all the effects of applying the merge if it turns out that the result is not satisfactory. In batch-mode, this preference has no effect. Default is false.<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> @@ -1536,6 +1542,9 @@ <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>copyonconflict </B><DD CLASS="dd-description"> +When this flag is set, Unison will make a copy of files that would otherwise be overwritten or deleted in case of conflicting changes, and more generally whenever the default behavior is overriden. This makes it possible to automatically resolve conflicts in a fairly safe way when synchronizing continuously, in combination with the <CODE>-repeat watch</CODE> and <CODE>-prefer newer</CODE> preferences.<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> @@ -1572,10 +1581,19 @@ <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. 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. (This does not apply to the very first run, when Unison will always scan all files regarless of this switch). Under Windows, this may cause Unison to miss propagating an update if the modification time and length of the file are both unchanged by the update. However, Unison will never <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>fastercheckUNSAFE </B><DD CLASS="dd-description"> +THIS FEATURE IS STILL EXPERIMENTAL AND SHOULD BE USED WITH EXTREME CAUTION. <BR> +<BR> +When this flag is set to <TT>true</TT>, Unison will compute a 'pseudo-fingerprint' the first time it sees a file (either because the file is new or because Unison is running for the first time). This enormously speeds update detection, but it must be used with care, as it can cause Unison to miss conflicts: If a given path in the filesystem contains files on <EM>both</EM> sides that Unison has not yet seen, and if those files have the same length but different contents, then Unison will not notice the presence of a conflict. If, later, one of the files is changed, the changed file will be propagated, overwriting the other. <BR> +<BR> +Moreover, even when the files are initially identical, setting this flag can lead to potentially confusing behavior: if a newly created file is later touched without being modified, Unison will treat this conservatively as a potential change (since it has no record of the earlier contents) and show it as needing to be propagated to the other replica. <BR> +<BR> +Most users should leave this flag off – the small time savings of not fingerprinting new files is not worth the cost in terms of safety. However, it can be very useful for power users with huge replicas that are known to be already synchronized (e.g., because one replica is a newly created duplicate of the other, or because they have previously been synchronized with Unison but Unison's archives need to be rebuilt). In such situations, it is recommended that this flag be set only for the initial run of Unison, so that new archives can be created quickly, and then turned off for normal use.<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> +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 explicitly 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> @@ -1674,6 +1692,9 @@ <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>maxsizethreshold <TT>n</TT></B><DD CLASS="dd-description"> +A number indicating above what filesize (in kilobytes) Unison should flag a conflict instead of transferring the file. This conflict remains even in the presence of force or prefer options. A negative number will allow every transfer independently of the size. The default is -1. <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 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> @@ -1694,7 +1715,7 @@ <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> +This preference can be included twice, once for each root, if you want to prevent any deletion.<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> @@ -1734,7 +1755,7 @@ 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>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> +Setting this preference causes the text-mode interface to synchronize repeatedly, rather than doing it just once and stopping. If the argument is a number, Unison will pause for that many seconds before beginning again. When the argument is <CODE>watch</CODE>, Unison relies on an external file monitoring process to synchronize whenever a change happens.<BR> <BR> <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> @@ -1820,6 +1841,9 @@ <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> +<DT CLASS="dt-description"><B>watch </B><DD CLASS="dd-description"> +Unison uses a file watcher process, when available, to detect filesystem changes; this is used to speed up update detection, and for continuous synchronization (<CODE>-repeat watch</CODE> preference. Setting this flag to false disable the use of this process.<BR> +<BR> <DT CLASS="dt-description"><B>xferbycopying </B><DD CLASS="dd-description"> When this preference is set, Unison will try to avoid transferring file contents across the network by recognizing when a file with the required contents already exists in the target replica. This usually allows file moves to be propagated very quickly. The default value is<TT>true</TT>. </DL> @@ -2223,6 +2247,10 @@ </PRE>(still all on one line in the preference file!) will test whether an archive file exists and use the appropriate variant of the arguments to <TT>opendiff</TT>. <BR> <BR> +Linux users may enjoy this variant: +<PRE CLASS="verbatim"> + merge = Name * -> kdiff3 -o NEW CURRENTARCHOPT CURRENT1 CURRENT2 +</PRE> Ordinarily, external merge programs are only invoked when Unison is <EM>not</EM> running in batch mode. To specify an external merge program that should be used no matter the setting of the <TT>batch</TT> flag, use the <TT>mergebatch</TT> preference instead of <TT>merge</TT>. <BLOCKQUOTE CLASS="quote"> @@ -2318,7 +2346,8 @@ <LI CLASS="li-itemize"><CODE>[xyz]</CODE> matches any character from the set {<TT><I>x</I></TT>, <TT><I>y</I></TT>, <TT><I>z</I></TT> } <LI CLASS="li-itemize"><CODE>{a,bb,ccc}</CODE> matches any one of <CODE>a</CODE>, <CODE>bb</CODE>, or - <CODE>ccc</CODE>. + <CODE>ccc</CODE>. (Be careful not to put extra spaces after the commas: + these will be interpreted literally as part of the strings to be matched!) </UL> <LI CLASS="li-itemize">The path separator in path patterns is always the forward-slash character “/” — even when the client or server is @@ -2753,9 +2782,131 @@ 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.40.65--> +<hr><!--TOC section Changes in Version 2.48.3--> -<H2 CLASS="section"><A NAME="news"></A>Changes in Version 2.40.65</H2><!--SEC END --> +<H2 CLASS="section"><A NAME="news"></A>Changes in Version 2.48.3</H2><!--SEC END --> + +Changes since 2.45: + <UL CLASS="itemize"><LI CLASS="li-itemize"> + +Incorporated a patch from Christopher Zimmermann to replace the + Uprintf module (which doesn't work with OCaml 4.02, causing Unison to crash) with equivalent + functionality from the standard library. +<LI CLASS="li-itemize">Incorporated a refresh of the OSX GUI, contributed by Alan Shutko. +<LI CLASS="li-itemize">Added a <TT>maxsizethreshold</TT> option, which prevents the transfer of + files larger than the size specified (in Kb). +<LI CLASS="li-itemize">Added a "copyonconflict" preference, to make a copy of files that would + otherwise be overwritten or deleted in case of conflicting changes. + (This makes it possible to automatically resolve conflicts in a + fairly safe way when synchronizing continuously, in combination + with the "<TT>repeat = watch</TT>" and "<TT>prefer = newer</TT>" preferences. +<LI CLASS="li-itemize">File system monitoring: +<UL CLASS="itemize"><LI CLASS="li-itemize"> +The file watcher now fails when unable to + watch a directory, rather than silently ignoring the issue. +<LI CLASS="li-itemize">File system monitoring: more robust communication with the helper program + (in socket mode, the unison server will still work properly despite + unexpected unison client disconnections). +<LI CLASS="li-itemize">A bytecode version of unison-fsmonitor is now produced by "make NATIVE=false" +<LI CLASS="li-itemize">Improved search for unison-fsmonitor +<LI CLASS="li-itemize">Detect when the helper process exits. +<LI CLASS="li-itemize">More robust file watching helper programs for Windows and Linux. + They communicate with Unison through pipes (Unison redirects stdin + and stdout), using a race-free protocol. +<LI CLASS="li-itemize">Retries paths with failures using an exponential backoff algorithm. +<LI CLASS="li-itemize">The information returned by the file watchers are used + independently for each replica; thus, when only one replica has + changes, Unison will only rescan this replica. +<LI CLASS="li-itemize">When available, used by the graphical UIs to speed up rescanning + (can be disabled by setting the new <TT>watch</TT> preference to +<LI CLASS="li-itemize">Small fix to the way fsmonitor.py gets invoked when using the file + watching functionality, suggested by Josh Berdine. Unison will now + look for <TT>fsmonitor.py</TT> in the same directory where the Unison + executable itself lives. +</UL> +<LI CLASS="li-itemize">Minor: +<UL CLASS="itemize"><LI CLASS="li-itemize"> +Fixed a bug in export procedure that was messing up documentation +strings. +<LI CLASS="li-itemize">Incorporated a patch from Ir�nyossy Knoblauch Art�r to make temp file + names fit within 143 characters (to make eCryptFS happy). +<LI CLASS="li-itemize">Added a string to the Conflict direction to document the reason of + the conflict. +<LI CLASS="li-itemize">Log conflicts and problems in the text UI even if nothing is propagated. +<LI CLASS="li-itemize">Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x. +<LI CLASS="li-itemize">Do not restart Unison in case of uncaught exception when the repeat + preference is set. This seems safer. And it does not work, for + instance, in case of lost connection. +<LI CLASS="li-itemize">Fix Unix.readlink invalid argument error under Windows +<LI CLASS="li-itemize">Fix a crash when the output of the <TT>diff</TT> program is too large. +<LI CLASS="li-itemize">Fixed Makefile for cross-compiling towards Windows (updated to MinGW-w64) +</UL> + + </UL> + +Changes since 2.40.63: + <UL CLASS="itemize"><LI CLASS="li-itemize"> + +New preference <TT>fastercheckUNSAFE</TT>, which can be used (with care!) +to achieve <EM>much</EM> faster update detection when all the common files in +the two replicas are known to be identical. See the manual for more +information.<BR> +<BR> +This feature should still be considered experimental, but it's ready for +other people to try out. +<LI CLASS="li-itemize">Added option <TT>clientHostName</TT>. If specified, it will be used to as +the client host name, overriding <TT>UNISONLOCALHOSTNAME</TT> and the actual +host name. +<LI CLASS="li-itemize">OS X GUI: +<UL CLASS="itemize"><LI CLASS="li-itemize"> +fix crash under Lion, because of problems with the toolbar, using the +fix suggested in <TT>http://blitzbasic.com/Community/posts.php?topic=95778</TT>.<BR> +<BR> +<LI CLASS="li-itemize">uimacnew09 is now the standard graphical interface on OSX +<LI CLASS="li-itemize">A small improvement to the uimacnew09 interface from Alan Schmitt + and Steve Kalkwarf: when Unison is run with the -batch flag, the + interface will now automatically propagate changes and terminate, + without waiting for user interaction. +<LI CLASS="li-itemize">Show a modal warning window if there is no archive for the hosts. The +user can then choose to exit or proceed (proceed is the default). The window +is not shown if the <TT>batch</TT> preference is true. +<LI CLASS="li-itemize">file details panel selectable +</UL> +<LI CLASS="li-itemize">GTK GUI: +<UL CLASS="itemize"><LI CLASS="li-itemize"> +New version of uigtk2.ml from Matt Zagrabelny that reorganizes the +icons in a slightly more intuitive way. +</UL> +<LI CLASS="li-itemize">Minor fixes: +<UL CLASS="itemize"><LI CLASS="li-itemize"> +Setting the <TT>prefer</TT> preference to <TT>older</TT> or <TT>newer</TT> now +propagates deletions when there is no conflict. +<LI CLASS="li-itemize">Correctly quote the path when running merge commands. +<LI CLASS="li-itemize">Add quotes to paths when calling external file watcher utility. +<LI CLASS="li-itemize">Incorporate a patch to fsmonitor.py (the external filewatcher + utility) from Tomasz Zernicki to make it work better under Windows. +<LI CLASS="li-itemize">Incorporated new version of fsmonitor.py from Christophe Gohle +<LI CLASS="li-itemize">Fixed incompatibility with OpenSSH 5.6. +<LI CLASS="li-itemize">Fixed fingerprint cache: do not cache file properties +<LI CLASS="li-itemize">Some spelling corrections in documentation and comments from Stephane +Glondu +<LI CLASS="li-itemize">Fixed <TT>O_APPEND</TT> mode for open under Windows +<LI CLASS="li-itemize">Fixed String.sub invalid argument error when an AppleDouble file does + not contain a finder information field +<LI CLASS="li-itemize">Trim duplicate paths when using "-repeat watch" +<LI CLASS="li-itemize">Unison now passes path arguments and –follow directives to + fsmonitor.py. This seems to work except for one small issue with + how fsmonitor.py treats <TT>-follow</TT> directives for directories that + don't exist (or maybe this is an issue with how it treats any kind + of monitoring when the thing being monitored doesn't exist?). If we + create a symlink to a nonexistant directory, give Unison (hence + fsmonitor.py) a 'follow' directive for the symlink, start unison, and + <EM>then</EM> create the directory, fsmonitor.py misses the change. +<LI CLASS="li-itemize">Lines added in profile files by unison always start at a new line +</UL> + + </UL> Changes since 2.40.1: <UL CLASS="itemize"><LI CLASS="li-itemize"> @@ -4497,7 +4648,7 @@ (We used to change the link itself, which doesn't fit our assertion that 'follow' means the link is completely invisible) <LI CLASS="li-itemize">When one root did not exist, propagating the other root on top of it - used to fail, because unison could not calculate the working directory + used to fail, becuase unison could not calculate the working directory into which to write changes. This should be fixed. </UL> </UL><BR> ++++++ unison-2.40.102.tar.gz -> unison-2.48.3.tar.gz ++++++ ++++ 55695 lines of diff (skipped) -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de