unison formal review

Richard W.M. Jones rjones at redhat.com
Wed Sep 28 21:00:40 UTC 2011

On Wed, Sep 28, 2011 at 12:10:32PM -0400, Tom Callaway wrote:
> Hash: SHA1
> On 09/28/2011 10:20 AM, Kevin Fenzi wrote:
> > The problem here is that upstream has no desire to keep a common 
> > protocol, so you need the exact version on both ends. (If I recall 
> > correctly). So, if you have say a debian box with version foo, you
> > need version foo on the fedora machine to talk to it. In the past
> > this has been done with multiple packages where 'yum install
> > unison' gets you the latest, and if you need an older version you
> > can manually pick and install that one.
> > 
> > So, not sure how better to solve this problem than with
> > compatibility packages.
> Is it not at all possible to determine the protocol version of the
> other end? It seems like this is a solvable problem.

I checked the source code, and unison sends a header which contains
the current major version number of the software (where "major
version" is a string, currently "2.40").  If the major versions of
each end don't exactly match, unison aborts.  It would be possible,
albeit complicated, to combine all versions of unison together somehow
and switch on the major version.

I was thinking of something slightly simpler: a single 'unison'
package that contained several binaries, like /usr/bin/unison227,
/usr/bin/unison (symlink to latest).


Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

More information about the devel mailing list