[Unison-hackers] Inquiry: Specifying Alternate Server Command

David Filip dfilip at colornet.com
Mon Aug 24 07:55:44 EDT 2020


Dear Unison Hackers,

I have a question about whether or not it is possible to specify an alternate command on the server to start Unison, as specified in the profile (.prf) fie?  There are so many things that can be overridden, I thought that this might be possible. but I can't find it in the user manual.

Specifically, I have the following use case: I have a server that I am using for storage across multiple systems, and I am upgrading from Unison 2.40 to Unison 2.51 on some of those systems.

As we all know, Unison requires that the version matches between the client and server.  However, it is going to take some time to get all of the systems upgraded to 2.51.

I fully realize that the 'ar' and 'fp' files cannot be shared across versions.  However, those are system (client) specific, and most of what I am sync'ing would not overlap between versions.

The challenge is that I am not sure if it is possible to start a different command -- other than '/usr/local/bin/unison' -- from different clients, e.g., '/usr/local/bin/unison-2.40' from a 2.40 Unison client, vs. '/usr/local/bin/unison-2.51' from a 2.51 Unison client.

If anyone is aware of if that is possible, and how to do it (e.g., something in the .prf file), please advise.

If this is an obvious question that is already covered in the Unison documentation, I apologize, please publicly flog me, and then point me to the appropriate configuration parameter, as for some reason I missed it.

If it is not possible, then I offer it as a suggestion for a future release.

Thanks in advance for any feedback on this.

Regards,

Dave Filip

p.s.

If you are wondering why needing to support two versions of Unison on a common server is necessary, without boring you with all the details, it is because I have a single (NAS) server that I share across multiple operating systems, and now that I am building Unison from source, it will take some time to get everything totally in-sync.  Previously I just relied on pre-built binaries of a particular Unison version and matching repository (yum, apt-get, etc.) versions, but using that approach I have been stuck on 2.40 -- which appears to be the most ubiquitous version -- for a very long time.

p.p.s.

I realize that one approach to this might be creating a separate login for each version of Unison on the server and then adjusting the path to point to different Unison executables, but that creates additional complexity that I was hoping to avoid (my current configuration does not make that easy given different file permissions across different accounts, and I am loathe to set up different accounts with the same uid/gid but different names just for Unison, because that usually runs into trouble later on).



More information about the Unison-hackers mailing list