Changes in Version 2.48.3
Changes since 2.45:
* 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.
* Incorporated a refresh of the OSX GUI, contributed by Alan Shutko.
* Added a maxsizethreshold option, which prevents the transfer of
files larger than the size specified (in Kb).
* 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 "repeat = watch" and "prefer = newer"
preferences.
* File system monitoring:
+ The file watcher now fails when unable to watch a directory,
rather than silently ignoring the issue.
+ 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).
+ A bytecode version of unison-fsmonitor is now produced by
"make NATIVE=false"
+ Improved search for unison-fsmonitor
+ Detect when the helper process exits.
+ 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.
+ Retries paths with failures using an exponential backoff
algorithm.
+ 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.
+ When available, used by the graphical UIs to speed up
rescanning (can be disabled by setting the new watch
preference to
+ Small fix to the way fsmonitor.py gets invoked when using the
file watching functionality, suggested by Josh Berdine. Unison
will now look for fsmonitor.py in the same directory where the
Unison executable itself lives.
* Minor:
+ Fixed a bug in export procedure that was messing up
documentation strings.
+ Incorporated a patch from Irányossy Knoblauch Artúr to make
temp file names fit within 143 characters (to make eCryptFS
happy).
+ Added a string to the Conflict direction to document the
reason of the conflict.
+ Log conflicts and problems in the text UI even if nothing is
propagated.
+ Use hash function from OCaml 3.x for comparing archives, even
when compiled with OCaml 4.x.
+ 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.
+ Fix Unix.readlink invalid argument error under Windows
+ Fix a crash when the output of the diff program is too large.
+ Fixed Makefile for cross-compiling towards Windows (updated to
MinGW-w64)
Changes since 2.40.63:
* New preference fastercheckUNSAFE, which can be used (with care!) to
achieve much faster update detection when all the common files in
the two replicas are known to be identical. See the manual for more
information.
This feature should still be considered experimental, but it's
ready for other people to try out.
* Added option clientHostName. If specified, it will be used to as
the client host name, overriding UNISONLOCALHOSTNAME and the actual
host name.
* OS X GUI:
+ fix crash under Lion, because of problems with the toolbar,
using the fix suggested in
http://blitzbasic.com/Community/posts.php?topic=95778.
+ uimacnew09 is now the standard graphical interface on OSX
+ 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.
+ 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 batch preference
is true.
+ file details panel selectable
* GTK GUI:
+ New version of uigtk2.ml from Matt Zagrabelny that reorganizes
the icons in a slightly more intuitive way.
* Minor fixes:
+ Setting the prefer preference to older or newer now propagates
deletions when there is no conflict.
+ Correctly quote the path when running merge commands.
+ Add quotes to paths when calling external file watcher
utility.
+ Incorporate a patch to fsmonitor.py (the external filewatcher
utility) from Tomasz Zernicki to make it work better under
Windows.
+ Incorporated new version of fsmonitor.py from Christophe Gohle
+ Fixed incompatibility with OpenSSH 5.6.
+ Fixed fingerprint cache: do not cache file properties
+ Some spelling corrections in documentation and comments from
Stephane Glondu
+ Fixed O_APPEND mode for open under Windows
+ Fixed String.sub invalid argument error when an AppleDouble
file does not contain a finder information field
+ Trim duplicate paths when using "-repeat watch"
+ 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 -follow 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 then
create the directory, fsmonitor.py misses the change.
+ Lines added in profile files by unison always start at a new
line
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
in pkgsrc).
Added BelowPath patterns, that match a path as well as all paths
below (convenient to use with nodeletion,update,creationpartial
preferences)
Added a fat preference that makes Unison use the right options
when one of the replica is on a FAT filesystem.
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.)
Minor fixes and improvements:
Compare filenames up to decomposition in case sensitive mode when
one host is running MacOSX and the unicode preference is set to
true.
Rsync: somewhat faster compressor
Make Unicode the default on all architectures (it was only the
default when a Mac OS X or Windows machine was involved).
From upstream SVN (to be released as 2.40.69 some day).
r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines
* Use hash function from OCaml 3.x for comparing archives, even when
compiled with OCaml 4.x
Bump PKGREVISION.