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

Andrew Schulman schulman.andrew@epa.gov
Wed Dec 22 17:30:57 GMT 2021


> On 22.12.2021 17:21, Andrew Schulman via Cygwin-apps wrote:
> > Please add me as maintainer of two new unison packages:
> > 
> > unison2.51+4.04.2
> > unison2.51+4.10.0
> > 
> > These will obsolete the current unison2.51 package.
> > 
> > Thanks, Andrew
> > 
> 
> added.

Thanks.

> Question: why Unison need all these versions ?
> 
> $ grep "unison" cygwin-pkg-maint
> unison2.27                                   Andrew Schulman
> unison2.32                                   Andrew Schulman
> unison2.40                                   Andrew Schulman
> unison2.45                                   Andrew Schulman
> unison2.48                                   Andrew Schulman
> unison2.48+4.04.2                            Andrew Schulman
> unison2.48+4.08.1                            Andrew Schulman
> unison2.49                                   Andrew Schulman
> unison2.51                                   Andrew Schulman
> unison2.51+4.04.2                            Andrew Schulman
> unison2.51+4.10.0                            Andrew Schulman

Yeah. It's too complicated. The problem is that different versions of
unison are only compatible with each other if the first two numbers of the
Unison version are the same, AND they were compiled with compatible
versions of OCaml. 

The underlying problem is that both Unison and OCaml have changed their
"marshaling" or data serialization format over time. If the marshaling
formats are different, data could be corrupted. To prevent that, Unison
will quit if it connects to an incompatible version on the other end.

So this is a headache for packagers. We don't know what version might be
running on the other end, so we have to provide a bunch of different
versions, so users are likely to have one that works for them. The Unison
README.Cygwin file has more information.

This problem has been discussed a lot recently on the Unison lists. The
Unison devs are aware of it and are working towards a future release that
will start to preserve backwards compatibility if the marshaling format
changes again in the future.

Andrew



More information about the Cygwin-apps mailing list