New: unison2.51+4.04.2, unison2.51+4.10.0

Andrew Schulman andrex.e.schulman@gmail.com
Fri Feb 18 14:28:40 GMT 2022


*Two new Unison packages are now available in
Cygwin:unison2.51+4.04.2unison2.51+4.10.0Both of these are Unison 2.51.5,
but compiled with OCaml 4.04.2 and 4.10.0, respectively. For the reasons
explained below, we now need separate Unison packages for incompatible
versions of both Unison and OCaml.unison2.51+4.04.2 obsoletes the older
unison2.51 package, and is a newer Unison release (2.51.5 versus 2.51.2).
They're built with the same version of OCaml, so if you've been syncing
with unison2.51 before, you can use unison2.51+4.04.2 in place of it
now.Please test and report any problems here. If you need a different
combination of Unison and OCaml versions, please report that here and I'll
consider creating a new package for it.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 packagesUnison
comes in several complementary packages for Cygwin:
 Unison   OCamlPackage name       version  version  Unison
executable------------       -------  -------  -----------------unison2.27
        2.27.*   4.01.0   /usr/bin/unison-2.27unison2.32         2.32.*
4.01.0   /usr/bin/unison-2.32unison2.40         2.40.*   4.02.3
/usr/bin/unison-2.40unison2.45         2.45.*   4.01.1
/usr/bin/unison-2.45unison2.48+4.04.2  2.48.*   4.04.2
/usr/bin/unison-2.48+4.04.2unison2.48+4.08.1  2.48.*   4.08.1
/usr/bin/unison-2.48+4.08.1unison2.49         2.49.*   4.02.3
/usr/bin/unison-2.49unison2.51+4.04.2  2.51.*   4.04.2
/usr/bin/unison-2.51+4.04.2unison2.51+4.10.0  2.51.*   4.10.0
/usr/bin/unison-2.51+4.10.0You can install any number of these packages
side-by-side. Separate packages are needed because in order to synchronize
your files, you have to run compatible versions of Unison on the client and
server. Two Unison executables are compatible if and only if:(1) They have
the same first two numbers of the Unison version. For example, all Unison
versions 2.48.* are compatible with each other. But if you try to use
version 2.51.x to sync with a server running version 2.48.y, Unison will
issue an error message about incompatible versions and quit.AND(2) They
were built with compatible versions of the OCaml compiler. OCaml has
changed its format over time for "marshaling" or serializing data. If you
run Unison executables that were built with OCaml versions that use
different marshaling formats, even if the Unison versions are the same,
you'll get the dreaded error message  Fatal error: Fatal error during
unmarshaling (input_value: ill-formed  message), possibly because client
and server have been compiled with  different versions of the OCaml
compiler.Apparently OCaml introduced breaking changes to its marshaling
format in versions 4.08 and 4.11. So versions pre-4.08, 4.08 through 4.10,
or 4.11 and later should be mutually compatible. But this hasn't been
tested much. For discussion of OCaml version incompatibilities,
seehttps://lists.seas.upenn.edu/pipermail/unison-hackers/2020-August/001972.html
<https://lists.seas.upenn.edu/pipermail/unison-hackers/2020-August/001972.html>
.By installing one or more of the packages listed above, you can run
whichever version you need in order to synchronize with your server. If you
need a different combination of Unison and OCaml versions than is available
in the current packages, please send a report to cygwin@cygwin.com
<cygwin@cygwin.com>. It may be possible to create a new package for it.==
Setting a default versionThe package postinstallation scripts use
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, then you can invoke Unison on the client with
e.g. '-servercmd /usr/bin/unison-2.48' to run the version you want on the
server, or put 'servercmd /usr/bin/unison-2.48' into the client's
preference file.== User interfaceAll of the Unison packages for Cygwin use
the text UI. There is also a GTK2 UI for Unison, but I haven't been able to
get it working yet under Cygwin. At some 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 onthe
http://cygwin.com/ <http://cygwin.com/> web page.  This downloads setup.exe
to yoursystem.  Then, run setup and answer all of the questions.
  *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***If you want to unsubscribe from
the cygwin-announce mailing list, lookat the "List-Unsubscribe: " tag in
the email header of this message.Send email to the address specified
there.  It will be in the
format:cygwin-announce-unsubscribe-you=yourdomain.com_at_cygwin.com
<http://yourdomain.com_at_cygwin.com>If you need more information on
unsubscribing, start reading
here:http://cygwin.com/lists.html#subscribe-unsubscribe
<http://cygwin.com/lists.html#subscribe-unsubscribe>Please read *all* of
the information on unsubscribing that is availablestarting at this URL.*


More information about the Cygwin-announce mailing list