Live data from Hacker News

Unison File Synchronizer

cis.upenn.edu

21–30 of 102 posts

Re: Unison File Synchronizer

#21
post #10

Earlier quoted context omitted.

I'm a maintainer of the Unison package in Fedora and I'd love to know which version(s) of Unison you use day to day. In Fedora (and I think this applies in Debian too) we have to maintain 3 versions because Unison isn't interoperable across minor releases. For this reason we package 2.13, 2.27 and 2.40, and I think there is discussion about packaging the latest release too. Keeping these ancient (esp 2.13) versions g…

This incompatibility is one of the reasons why I reduced my dependency on it, though I still use it for minor things. The last straw came when it turns out that unison was incompatible with the same version, if that version had been built on a different system. I can't remember the details but there was some library version difference that results in a unison that has the same version number but wouldn't talk to one…

That can happen because unison uses OCaml's built in serialization, which isn't guaranteed to be stable across OCaml versions. It doesn't often change, but the representation of arrays was changed in OCaml 4.02, which meant unison compiled with 4.01 couldn't sync with unison compiled with 4.02. Debian bug discussing the issue: https://bugs.debian.org/802919

Re: Unison File Synchronizer

#22

How difficult would it be to build a Dropbox clone on top of this?

Pretty hard. Unison is nice, but... - Unison is written in OCaml, which is (probably) a perfectly fine language but not commonly used - Unison synchronizes files to files, but for a Dropbox-like system you really want deduplication for space savings (i.e. server-side storage is a bunch of pointers to content-addressed blocks.) - in general, it's not clear to me that the client is really the hard part of Dropbox. Note…

> - Unison synchronizes files to files, but for a Dropbox-like system you really want deduplication for space savings (i.e. server-side storage is a bunch of pointers to content-addressed blocks.) > - in general, it's not clear to me that the client is really the hard part of Dropbox. Note e.g. the part where Dropbox now runs its own data centers for cost reasons.

The whole point of Unison is that you do not need a server. And certainly not a server run by a for-profit corporation in the United States of Surveillance.

Re: Unison File Synchronizer

#23
post #10

Earlier quoted context omitted.

I'm a maintainer of the Unison package in Fedora and I'd love to know which version(s) of Unison you use day to day. In Fedora (and I think this applies in Debian too) we have to maintain 3 versions because Unison isn't interoperable across minor releases. For this reason we package 2.13, 2.27 and 2.40, and I think there is discussion about packaging the latest release too. Keeping these ancient (esp 2.13) versions g…

This incompatibility is one of the reasons why I reduced my dependency on it, though I still use it for minor things. The last straw came when it turns out that unison was incompatible with the same version, if that version had been built on a different system. I can't remember the details but there was some library version difference that results in a unison that has the same version number but wouldn't talk to one…

This was very upsetting when it happened. The same version of unison was incompatible with itself if they had been built with different but consecutively released versions of the ocaml compiler. I feel like using compiler versions like 4.01 and 4.02 is irresponsible when it's documented that they produce binary incompatible products, but that is how it was. https://marc.info/?l=unison-users&m=142286809310149

Re: Unison File Synchronizer

#24
post #10

I can't praise Unison enough. I've been using it every day for over 10 years and is easily one of the most useful pieces of software I've ever come across. I've donated multiple times over the years.

I'm a maintainer of the Unison package in Fedora and I'd love to know which version(s) of Unison you use day to day. In Fedora (and I think this applies in Debian too) we have to maintain 3 versions because Unison isn't interoperable across minor releases. For this reason we package 2.13, 2.27 and 2.40, and I think there is discussion about packaging the latest release too. Keeping these ancient (esp 2.13) versions g…

that was one of my biggest problems ~8 years ago. keeping the macports and the debian versions in sync was too tiresom, someday i just switched to rsync which worked well enough for my usecase.

Re: Unison File Synchronizer

#25
post #14

Not to be confused with Panic's Usenet/NNTP client: * https://en.wikipedia.org/wiki/Unison_(Usenet_client)

Nor with the Coda replicating filesystem, which is not to be confused with Panic’s code editor of the same name.

Nor with a certain super cool language of the future https://github.com/unisonweb/unison

Re: Unison File Synchronizer

#26
post #10

I can't praise Unison enough. I've been using it every day for over 10 years and is easily one of the most useful pieces of software I've ever come across. I've donated multiple times over the years.

I'm a maintainer of the Unison package in Fedora and I'd love to know which version(s) of Unison you use day to day. In Fedora (and I think this applies in Debian too) we have to maintain 3 versions because Unison isn't interoperable across minor releases. For this reason we package 2.13, 2.27 and 2.40, and I think there is discussion about packaging the latest release too. Keeping these ancient (esp 2.13) versions g…

Yep, this is PITA as a user as well. 2.48.4 on Ubuntu 18.04 but finding about the same working version for Mac required additional hunting. But nevertheless Unison is awesome. Been using for the last 15 years or so <3

Re: Unison File Synchronizer

#27
I use Unison every day to synchronize my work computer and my home computer, using an USB thumb drive as the intermediary. The thing I like the most about this arrangement is that I don't need a direct SSH between home and work, that there is no cloud service involved, and that the GUI lets me double check what files are going to be written to/from the usb drive before it synchronizes.

There is one issue that I have run into though. If I format the USB as fat32 it can't properly store permissions. And if I format it as ext4 then I need to make sure that my numeric user ID is exactly the same in both my home and work computers (otherwise the permissions get messed up).

Is there a way to make my arrangement more robust so that I can sync files through and USB drive, without needing to use the same numeric user id in all my computers?

Re: Unison File Synchronizer

#29

Earlier quoted context omitted.

Do you mean rclone or a whole service like Dropbox? (Rclone is pretty amazing, btw) https://rclone.org/

Automated filesync cross-platform. Not git-style manual push pull. More of leave and forget and only intervene when there's a file conflict.

Unison has support for that on some platforms. On Linux, the option "-repeat watch" uses inotify to watch for changes and rerun unison each time there's a change. You can combine that with -auto and some of the options specifying policies for resolving conflicts (e.g. -prefer newer) to get a setup that works without user interaction.

Re: Unison File Synchronizer

#30
post #27

I use Unison every day to synchronize my work computer and my home computer, using an USB thumb drive as the intermediary. The thing I like the most about this arrangement is that I don't need a direct SSH between home and work, that there is no cloud service involved, and that the GUI lets me double check what files are going to be written to/from the usb drive before it synchronizes. There is one issue that I have…

> Is there a way to make my arrangement more robust so that I can sync files through and USB drive, without needing to use the same numeric user id in all my computers?

$ chown -Rf ufo.users /media/usbdrive && unison

Post reply on HN