Up to [cvs.NetBSD.org] / pkgsrc / net / unison
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
unison: update to 2.53.7. Fix pkglint while here. Changes: Fix for parallel builds of the gui. (If 2.53.6 built for you, because you didn't build the GUI, you didn't use -j, or you got lucky, there is no need to update to 2.53.7.)
net/unison: Update to 2.53.6 ## Changes in 2.53.6 Released 2024-11-04 * Remove workaround for Windows DST: Time differences of one hour are no longer treated as not different. * Time remaining, when over 24h, shown as days and HMS instead of just HMS. * Stop using deprecated [GdkPixbuf.from_xpm_data] (avoids problems with some versions of gdkpixbuf). Attempt to avoid soundness issues with lablgtk while doing so. Deprecation warning: support for external rsync will be removed, likely in 2.54.0. DEPRECATION MAY HAPPEN WITH LESS THAN TYPICAL NOTICE: lablgtk is difficult to use safely, and future maintenance is unclear. Implementing the GUI without lablgtk requires more effort than seems likely to happen. Thus, it is possible that support for the unison GUI may end suddenly, on a particular platform, or on all platforms -- even in a micro release. See https://github.com/bcpierce00/unison/issues/1075
net/unison: Update to 2.53.5 packaging changes: align comments to wip ## Changes in 2.53.5 Released 2024-05-06 * Various minor bugfixes. * Recovery from errors during repeat mode (enabled in 2.53.1) is disabled for time being.
net/unison: Update to 2.53.4 packaging changes: use upstream's 'make install' bin/unison is always TUI bin/unison-gui is GUI, but installed only if built with lablgtk ## Changes in 2.53.4 Released 2024-02-17 * Improved and simplified makefiles. Please review your build scripts for changed build goals, input variables and build artifact names. See INSTALL.md for details. * opam build uses the makefile build system. * Various fixes in Windows and Cygwin builds. * Preferences "force", "prefer" and related "partial" preferences now work slightly differently with values "newer" and "older". Previously, if mtimes in both replicas were equal then always the second root propagated to the first root (possibly reverting user changes). It is now made explicit that "newer" and "older" only work when mtimes are different. * Cleanups in documentation. * Bugfixes, minor improvements, cleanups.
net/unison: Update to 2.53.3 ## Changes in 2.53.3 Released 2023-04-28 * On Linux, allow syncing the xattrs where POSIX draft ACLS are stored, which enables syncing the ACL info. (Note that this does not enable syncing ACLs with the `-acl` switch, and does not enable syncing ACLs between other systems and Linux. See the manual.) * Improved ETA calculation and sync speed display in text UI. * Fix CI Windows builds (again). * Drop unmaintained "make install" target. * Bugfixes, minor improvements, cleanups.
net/unison: Update to 2.53.2 Upstream changes are fixing the reported version number.
net/unison: Update to 2.53.1 ## Changes in 2.53.1 Released 2023-03-19 * Repeat mode is more fault tolerant, recovering after temporary errors. * Preferences "force", "prefer" and related no longer require specifying the full root. * Improve stopping of update propagation. * Enable VT input escape codes in Windows. * Respect user-provided CFLAGS, CPPFLAGS, LDFLAGS, LDLIBS. * Add build instructions in INSTALL.md (and drop from manual). * Add graceful stop in repeat mode - SIGUSR2. * Add watch+seconds to 'repeat' preference.
net/unison: Update to 2.53.0 Change to lablgkt3. Drop MAKE_JOBS_SAFE because the issue was fixed upstream. ## Changes in 2.53.0 Released 2022-11-07 * OCaml >= 4.08 is required to build unison. * unison can be built with (unreleased) OCaml 5. * Change GUI to use GTK3 (via lablgtk3) instead of GTK2 (via lablgtk2) * Add support for syncing extended attributes. * Add support for syncing ACLs. * On Windows, add the ability to build unison as a hybrid application (GUI application attached to a text console) by defining UI_WINOS=hybrid (see src/Makefile). Add this to CI. (Doing this for non-Windows is unnecessary as all applications, both GUI and non-GUI, are always executed with a connection to stdout/stderr. GUI-only applications (ie, no stdout/stderr) is a Windows-only concept.) * Notable bugfixes - Merge results are stored in archive more accurately. - Windows `\\?\` paths now work correctly (including `\\?\Volume{GUID}\` paths). * CI changes - The macOS binaries are properly signed. - Add workaround for bugs in the github CI Windows builds, one of which resulted in the 2.52.1 GUI version failing, in the Windows CI build artifacts. (This does not affect platforms other than Windows, and may not affect other Windows builds.) * Changes that should not affect behavior - Clean up a variety of unmaintained and unused bits, mainly build-related. - OCaml's Unix library is now extensively used also on Windows. This allowed removal of large amount of Windows-specific OCaml and mainly C code.
net/unison: Update to 2.52.1 2.52.1 is a maintenance release in the 2.52 series. All users are strongly encouraged to migrate all systems on which they use unison to 2.52.1. Fairly soon, only reports about 2.52.1 will be allowed in the issue tracker. 2.52.1 is expected to be the last release in the 2.52 series, absent prompt (7 days) discovery and reporting of a serious problem. After a 7-day hold, work towards 2.53 may be merged. In particular this will include changing the minimum ocaml version to 4.08. Once this happens, there will not be any more 2.52.x releases, as no one contributing to unison maintenance is interested in supporting old versions. Of course, the license gives anyone the ability to create or cherry-pick fixes and to use the fixed versions. Changes in 2.52.1 Released 2022-05-08 - Deprecate ocaml < 4.08: 2.53.0 will require 4.08 or higher - Add man page - Remove rsh:// URI scheme (ssh:// of course remains). - Significant bugfixes and minor improvements - Deprecate "backups" preference (see manual for alternatives) - Deprecate "stream" and "halfduplex" preferences
net/unison: Rewrite patch comment Probably the patch should just be deleted as we don't use the install method. Upstream already has a makefile cleanup issue: https://github.com/bcpierce00/unison/issues/651
net/unison*: Rename unison2.51 to unison During the 2.51 branch, upstream decided that unison will have backwards compatibility, so that there is no longer any reason to run old versions. With 2.52, not only can it interop with 2.51 (and 2.48!), but it does not need to have matching ocaml version when interoperating with other 2.52.x or newer. Thus, unison will now have a single version in pkgsrc, and this is expected to continue.
unison: remove, successor unison2.48
Updated net/unison2.48 to version 2.48.15v4. No large upstream changes, it seems, just a maintenance release to keep compatibility with newer OCaml versions.
unison: fix build with ocaml-4.06 Taken from upstream's v2.48.15v4 release
Updated net/unison to latest version, 2.48.15. I can't find a good changelog, but upstream changes seem to be fairly minor. A lot of local patches have been added to ensure compatibility with the latest version of OCaml and lablgtk, and I have cleaned up the package Makefile a little.
Updated unison to 2.48.4. Changes not found, but this release obsoletes the pkgsrc patches for ocaml-4.03 support.
Added two patches that solve a compilation problem with ocaml 4.03.0.
Add SHA512 digests for distfiles for net category Problems found with existing digests: Package haproxy distfile haproxy-1.5.14.tar.gz 159f5beb8fdc6b8059ae51b53dc935d91c0fb51f [recorded] da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated] Problems found locating distfiles: Package bsddip: missing distfile bsddip-1.02.tar.Z Package citrix_ica: missing distfile citrix_ica-10.6.115659/en.linuxx86.tar.gz Package djbdns: missing distfile djbdns-1.05-test25.diff.bz2 Package djbdns: missing distfile djbdns-cachestats.patch Package djbdns: missing distfile 0002-dnscache-cache-soa-records.patch Package gated: missing distfile gated-3-5-11.tar.gz Package owncloudclient: missing distfile owncloudclient-2.0.2.tar.xz Package poink: missing distfile poink-1.6.tar.gz Package ra-rtsp-proxy: missing distfile rtspd-src-1.0.0.0.tar.gz Package ucspi-ssl: missing distfile ucspi-ssl-0.70-ucspitls-0.1.patch Package waste: missing distfile waste-source.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
The distfile of the actual release is different from the version that was imported 5 weeks before the actual release. Use DIST_SUBDIR to make this release fetchable. PKGREVISION++.
Update to 2.48.3: 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
Fix unison with ocaml-4.02.x. Based on http://caml.inria.fr/mantis/view.php?id=6621 Bump PKGREVISION.
Update to 2.40.102. Includes ocaml-4 compat patches (which were already 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).
Fix unison syncing between copies built with ocaml3 and ocaml4. 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.
Corrected build to work with x11/lablgtk. Corrected build that compiled parts the package during the install phase. Added comments to patches.
Compile to native code also for arm. Require ocaml>=3.12.0nb2 for this, as the earlier compilers create code that only runs on CPUs with the Thumb extension.
Update to 2.40.63; changes undocumented, but a bugfix for the Makefile was integrated.
Update to 2.40.61. Ok tonio@. Set LICENSE. Changes in Version 2.40.61 Changes since 2.40.1: * 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). Changes since 2.32: * Major enhancement: Unicode support. + Unison should now handle unicode filenames correctly on all platforms. + This functionality is controlled by a new preference unicode. + 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. * 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. 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. * Improvement to the code for resuming directory transfers: + 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 + 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) * 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: + 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.) + the transfer of large files uses the full available bandwidth and is not slowed done due to the connection latency anymore + 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) * Changes to the internal implementation of the rsync algorithm: + use longer blocks for large files (the size of a block is the square root of the size of the file for large files); + 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) + avoid transfer overhead (which was 4 bytes per block) 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). * 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. + 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. * 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' * Limit the number of simultaneous external copy program ("copymax" preference) * 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. * 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"). * Renamed preference "pretendwin" to "ignoreinodenumbers" (an alias is kept for backwards compatibility). * 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.) * Do not keep many files simultaneously opened anymore when the rsync algorithm is in use. * 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). * Mac OS + fixed rsync bug which could result in an "index out of bounds" error when transferring resource forks. + Fixed bug which made Unison ignore finder information and resource fork when compiled to 64bit on Mac OSX. + should now be 64 bit clean (the Growl framework is not up to date, though) + 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) + use darker grey arrows (patch contributed by Eric Y. Kow) * GTK user interface + assistant for creating profiles + profile editor + pop up a summary window when the replicas are not fully synchronized after transport + display estimated remaining time and transfer rate on the progress bar + allow simultaneous selection of several items + Do not reload the preference file before a new update detection if it is unchanged + 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. + take into account the "height" preference again + the internal list of selected reconciler item was not always in sync with what was displayed (GTK bug?); workaround implemented + Do not display "Looking for change" messages during propagation (when checking the targe is unchanged) but only during update detection + Apply patch to fix some crashes in the OSX GUI, thanks to Onne Gorter. * Text UI + 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. * Windows + 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. + Only use long UNC path for accessing replicas (as '..' is not handled with this format of paths, but can be useful) + 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. + 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). * Miscellaneous fixes and improvements + Made a server waiting on a socket more resilient to unexpected lost connections from the client. + Small patch to property setting code suggested by Ulrich Gernkow. + 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) + 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. + Experimental update detection optimization: do not read the contents of unchanged directories + When a file transfer fails, turn off fastcheck for this file on the next sync. + Fixed bug with case insensitive mode on a case sensitive filesystem: o 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); o if file "a" appears on one replica and file "A" appears on the other with different contents, Unison was unable to synchronize them. + Improved error reporting when the destination is updated during synchronization: Unison now tells which file has been updated, and how. + Limit the length of temporary file names + Case sensitivity information put in the archive (in a backward compatible way) and checked when the archive is loaded + Got rid of the 16mb marshalling limit by marshalling to a bigarray. + Resume copy of partially transferred files.
Apply r456 from svn repository to update.mli: * Small patch from Stephane Glondu to make Unison compile with Ocaml 3.12. PKGREVISION++
Update to 2.32.52, ok tonio. Set license. Changes since 2.32.44: * 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) * Got rid of the 16MiB marshalling limit by marshalling to a bigarray * 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. * Improved Unison icon under Windows * Case sensitivity information put in the archive (in a backward compatible way) and checked when the archive is loaded * Uses improved emulation of "select" call provided by Ocaml 3.11 under Windows (the GUI does not freeze as much during synchronization) * Upgraded to GPL version 3 and added copyright notice to documentation files. * 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. * Text UI o 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. o 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. * Bugfixes o Fixed quotation of paths and names when writing to a preference file o Fixed bug resulting in slow performances when transferring a file using our rsync implementation from a 64-bit architecture to a 32-bit architecture. o Fixed bug in Lwt_unix.run which could make it fail with a Not_found exception (see [Not_found raised in tryCopyMovedFile] errors) o Properly deals with non-conformant AppleDouble files produced by Mac OS X. o Fixed bug that results in Unison missing ressource fork changes o Applied a patch from Karl M to make the GTK2 version build with OCaml 3.11 on Windows. o 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. o Applied patch from Antoine Reilles for NetBSD compilation o Resizing the update window vertically no longer moves the status label. Fix contributed by Pedro Melo. Changes since 2.31: * Minor fixes and improvements: o Ignore one hour differences when deciding whether a file may have been updated. This avoids slow update detection after daylight saving time changes under Windows. This makes Unison slightly more likely to miss an update, but it should be safe enough. o Fix a small bug that was affecting mainly windows users. We need to commit the archives at the end of the sync even if there are no updates to propagate because some files (in fact, if we've just switched to DST on windows, a LOT of files) might have new modtimes in the archive. (Changed the text UI only. It's less clear where to change the GUI.) o Don't delete the temp file when a transfer fails due to a fingerprint mismatch (so that we can have a look and see why!) We've also added more debugging code togive more informative error messages when we encounter the dreaded and longstanding "assert failed during file transfer" bug Changes since 2.27: * If Unison is interrupted during a directory transfer, it will now leave the partially transferred directory intact in a temporary location. (This maintains the invariant that new files/directories are transferred either completely or not at all.) The next time Unison is run, it will continue filling in this temporary directory, skipping transferring files that it finds are already there. * We've added experimental support for invoking an external file transfer tool for whole-file copies instead of Unison's built-in transfer protocol. Three new preferences have been added: o copyprog is a string giving the name (and command-line switches, if needed) of an external program that can be used to copy large files efficiently. By default, rsync is invoked, but other tools such as scp can be used instead by changing the value of this preference. (Although this is not its primary purpose, rsync is actually a pretty fast way of copying files that don't already exist on the receiving host.) For files that do already exist on (but that have been changed in one replica), Unison will always use its built-in implementation of the rsync algorithm. o Added a "copyprogrest" preference, so that we can give different command lines for invoking the external copy utility depending on whether a partially transferred file already exists or not. (Rsync doesn't seem to care about this, but other utilities may.) o copythreshold is an integer (-1 by default), indicating above what filesize (in megabytse the external copying utility specified by copyprog. Specifying 0 will cause ALL copies to use the external program; a negative number will prevent any files from using it. (Default is -1.) Thanks to Alan Schmitt for a huge amount of hacking and o an anonymous sponsor for suggesting and underwriting this extension. * Small improvements: o Added a new preference, dontchmod. By default, Unison uses the chmod system call to set the permission bits of files after it has copied them. Butin some circumstances (and under some operating systems), the chmod call always fails. Setting this preference completely prevents Unison from ever calling chmod. o Don't ignore files that look like backup files if the backuplocation preference set to central o Shortened the names of several preferences. The old names are also still supported, for backwards compatibility, but they do not appear in the documentation. o Lots of little documentation tidying. (In particular, preferences are separated into Basic and Advanced! This should hopefully make Unison a little more approachable for new users. o Unison can sometimes fail to transfer a file, giving the unhelpful message "Destination updated during synchronization" # * Further improvements to the OS X GUI (thanks to Alan Schmitt and Craig Federighi). # Very preliminary support for triggering Unison from an external filesystem-watching utility. The current implementation is very simple, not efficient, and almost completely untested—not ready for real users. But if someone wants to help improve it (e.g., by writing a filesystem watcher for your favorite OS), please make yourself known! On the Unison side, the new behavior is very simple: * use the text UI * start Unison with the command-line flag "-repeat FOO", where FOO is name of a file where Unison should look for notifications of changes * when it starts up, Unison will read the whole contents of this file (on both hosts), which should be a newline-separated list of paths (relative to the root of the synchronization) and synchronize just these paths, as if it had been started with the "-path=xxx" option for each one of them * when it finishes, it will sleep for a few seconds and then examine the watchfile again; if anything has been added, it will read the new paths, synchronize them, and go back to sleep * that's it! To use this to drive Unison "incrementally," just start it in this mode and start up a tool (on each host) to watch for new changes to the filesystem and append the appropriate paths to the watchfile. Hopefully such tools should not be too hard to write. # Bug fixes: * Fixed a bug that was causing new files to be created with permissions 0x600 instead of using a reasonable default (like 0x644), if the 'perms' flag was set to 0. (Bug reported by Ben Crowell.) * Follow maxthreads preference when transferring directories.
Update net/unison to 2.27.53 Enable full destdir support. Changes since 2.17: * Several small fixes to the GTK2 UI to make it work better under Windows * The backup functionality has been completely rewritten. The external interface has not changed, but numerous bugs, irregular behaviors, and cross-platform inconsistencies have been corrected. * Some important safety improvements: o Added a new mountpoint preference, which can be used to specify a path that must exist in both replicas at the end of update detection o The confirmation of “big deletes” is now controlled by a boolean preference confirmbigdeletes. Default is true, which gives the same behavior as previously. (This functionality is at least partly superceded by the mountpoint preference, but it has been left in place in case it is useful to some people.) o If Unison is asked to “follow” a symbolic link but there is nothing at the other end of the link, it will now flag this path as an error, rather than treating the symlink itself as missing or deleted. This avoids a potentially dangerous situation where a followed symlink points to an external filesystem that might be offline when Unison is run (whereupon Unison would cheerfully delete the corresponding files in the other replica!). * Smaller changes: o Added forcepartial and preferpartial preferences, which behave like force and prefer but can be specified on a per-path basis. [Thanks to Alan Schmitt for this.] o A bare-bones self test feature was added, which runs unison through some of its paces and checks that the results are as expected. The coverage of the tests is still very limited, but the facility has already been very useful in debugging the new backup functionality (especially in exposing some subtle cross-platform issues). o Refined debugging code so that the verbosity of individual modules can be controlled separately. Instead of just putting '-debug verbose' on the command line, you can put '-debug update+', which causes all the extra messages in the Update module, but not other modules, to be printed. Putting '-debug verbose' causes all modules to print with maximum verbosity. o Removed mergebatch preference. (It never seemed very useful, and its semantics were confusing.) o Rewrote some of the merging functionality, for better cooperation with external Harmony instances. o Changed the temp file prefix from .# to .unison. o Compressed the output from the text user interface (particularly when run with the -terse flag) to make it easier to interpret the results when Unison is run several times in succession from a script. o Changed the order of arguments to the default diff command (so that the + and - annotations in diff's output are reversed). o Small fix to ctime (non-)handling in update detection under windows with fastcheck.
Update net/unison to 2.13.16 (Fix PR 31345) Update maintainer, i'm taking this one
update unison to the latest recommended stable version: 2.12.0 Main changelog entries: - Incompatible change: Archive format has changed. - Substantial reworking of the internal logic of the text UI - Finder flags now synchronized (for mac osx users) - Workaround for transferring large files using rsync. Approved by cube@
Make pty.c always include <errno.h> in addition to <sys/errno.h>. Otherwise errno may be undefined.
- Update unison to 2.10.2 - Lots of changes, in summary: - out of the box OS X and OpenBSD support - limit the number of simultaneous file transfers - support for ocaml >3.07 - Files larger than 2Gb are now supported - Major tidying and enhancement of 'merge' functionality
Add RMD160 digests.
- Patch unison so it now works with ocaml 3.08.2 - Bump to nb4 - Thanks to Antoine Reilles for supplying the patch
Remove build time dependency on bash. Build with posix threads if supported ocaml.
Merge from pkgsrc-current to buildlink2 branch.
update to unison 2.9.1
make DIST_SUBDIR include the package version since the source tarball has no version number. Will hopefully avoid at least some checksum complaints.
Update to unison-2.7.7. Changes: * Many changes to the internal data structures (not backward compatible!) * Centralized backups * Lots of bug fixes * Many other feature enhancements Requested by Ben Wong <benjamin.wong@cc.gatech.edu>. While there, fix the dependency on ocaml, and install some docs. PACKAGE DEVELOPERS: please don't just include binaries into pkgs!
Move to sha1 checksum, and/or add distfile sizes.
+ move the distfile digest/checksum value from files/md5 to distinfo + move the patch digest/checksum values from files/patch-sum to distinfo