public inbox for cygwin-announce@cygwin.com
 help / color / mirror / Atom feed
* unison 2.53.3-1
@ 2023-05-02 14:03 Andrew Schulman
  0 siblings, 0 replies; only message in thread
From: Andrew Schulman @ 2023-05-02 14:03 UTC (permalink / raw)
  To: cygwin-announce

[-- Attachment #1: Type: text/plain, Size: 4122 bytes --]

unison 2.53.3-1 is now available in Cygwin. This is a new upstream release,
with new features and bug fixes. See the upstream release log[1] for
details.

Unison is a file synchronizer for Unix and Windows. It allows two replicas
of a collection of files and directories to be stored on different hosts (or
different disks on the same host), modified separately, and then brought up
to date by propagating the changes in each replica to the other.

== Unison versions and packages

Unison versions 2.52 and later are provided in Cygwin by the unison package.
The executable is /usr/bin/unison-latest. All versions 2.52 and later are
compatible with each other, so they can sync with each other. They can also
sync with Unison versions 2.48-2.51, but apparently not with versions older
than that. Test reports are welcome on the Cygwin list, cygwin@cygwin.com.

Prior to version 2.52, Unison came in multiple complementary packages for
Cygwin:

                   Unison   OCaml
Package name       version  version  Unison executable
------------       -------  -------  -----------------
unison2.27         2.27.*   4.01.0   /usr/bin/unison-2.27
unison2.32         2.32.*   4.01.0   /usr/bin/unison-2.32
unison2.40         2.40.*   4.02.3   /usr/bin/unison-2.40
unison2.45         2.45.*   4.01.1   /usr/bin/unison-2.45
unison2.48+4.04.2  2.48.*   4.04.2   /usr/bin/unison-2.48+4.04.2
unison2.48+4.08.1  2.48.*   4.08.1   /usr/bin/unison-2.48+4.08.1
unison2.49         2.49.*   4.02.3   /usr/bin/unison-2.49
unison2.51+4.04.2  2.51.*   4.04.2   /usr/bin/unison-2.51+4.04.2
unison2.51+4.10.0  2.51.*   4.10.0   /usr/bin/unison-2.51+4.10.0

Different packages were needed because Unison executables were only
compatible if they had the same Unison version, and were compiled with
compatible versions of OCaml. (It was kind of a nightmare.) So you had to
have a version installed locally that matched the version you were
synchronizing with.

== Migrating to version 2.52 or later

To upgrade Unison on your local host to version 2.52 or later:

* If the remote host is also running Unison 2.52 or later, you're all set.

* If the remote host is running Unison 2.48-2.51, you can sync with it. If
  you've previously synchronized files with that host, try syncing with it
  again with your local version 2.52 or later. If the two Unisons were built
  with compatible versions of OCaml, then the newer Unison will upgrade the
  local Unison archive files to the newer format. After that you can sync
  using any later version of Unison, regardless of the OCaml version. But if
  Unison throws an error about bad archives or the like, then you'll have to
  either go back to using the previous Unison version, or (recommended)
  remove the previous archive files (~/.unison/ar* and ~/.unison/fp*), and
  start over with a fresh synchronization.

* If the remote host is running a version older than 2.48, you can't sync to
  it with version 2.52 or later. You'll have to keep using one of the older
  Unison packages listed above, that matches the Unison and OCaml versions
  of the remote host.

The Unison 2.52 Migration Guide[2] has more information.

== Setting a default version

The package postinstallation script uses alternatives(8) to install a
symlink
/usr/bin/unison that points to one of the above-named executables. By
default
this symlink will track the highest-numbered version of Unison that you
install on your system. You can change that using alternatives:

  alternatives --config unison

(recommended) or manually. See "man alternatives" for details.

If the server provides multiple versions of Unison, you can invoke Unison on
the client with for example '-servercmd /usr/bin/unison-2.51' to run the
version you want on the server, or put 'servercmd /usr/bin/unison-2.51' into
the client's preference file.

== User interface

All of the Unison packages for Cygwin use the text UI. There is also a GTK3
UI for Unison, but I haven't tried to build it for Cygwin yet.


Andrew E. Schulman

[1]https://github.com/bcpierce00/unison/releases
[2]https://github.com/bcpierce00/unison/wiki/2.52-Migration-Guide

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-05-02 14:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-02 14:03 unison 2.53.3-1 Andrew Schulman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).