New: unison 2.52.0-2

Andrew Schulman
Tue Apr 19 17:15:28 GMT 2022

unison 2.52.0-2 is now available in Cygwin.

Unison is a file synchronizer for Unix and Windows. It allows two replicas
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
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
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 appreciated on the Cygwin list,

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

Package name       Unison version  OCaml 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
unison2.48+4.08.1  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
unison2.51+4.10.0  2.51.*          4.10.0

Different packages were needed because Unison executables were only
if they had the same Unison version, and were compiled with compatible
of OCaml. (It was kind of a nightmare.) So you had to have a version
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
  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
  later version of Unison, regardless of the OCaml version. But if Unison
  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

* 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
  packages listed above, that matches the Unison and OCaml versions of the
  remote host.

The Unison 2.52 Migration Guide[1] has more detailed information.

== Setting a default version

The package postinstallation scripts use alternatives(8) to install a
/usr/bin/unison that points to one of the above-named executables. By
this symlink will track the highest-numbered version of Unison that you
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, then you can invoke
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 GTK2
for Unison, but I haven't been able to get it working yet under Cygwin. At
time in the future I may make unison*+gtk2 packages available for Cygwin.

Andrew E. Schulman



To update your installation, click on the "Install Cygwin now" link on
the web page.  This downloads setup.exe to your
system.  Then, run setup and answer all of the questions.


If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there.  It will be in the format:

If you need more information on unsubscribing, start reading here:

Please read *all* of the information on unsubscribing that is available
starting at this URL.

More information about the Cygwin-announce mailing list