Live data from Hacker News

Unison File Synchronizer

cis.upenn.edu

31–40 of 102 posts

Re: Unison File Synchronizer

#31
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 has bit me a couple of times and is currently an issue between my Linux and Mac systems. Annoying but it works so well that I build it locally.

Re: Unison File Synchronizer

#32
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…

Thanks for your work! At the moment I'm running unison on Gentoo, Fedora and even FreeBSD hosts. There is even a ppc64le host running Fedora.

On Fedora I'm using unison251-text from the croadfeldt/Unison COPR. On Gentoo it's net-misc/unison-2.51.2, on FreeBSD it's unison-nox11-2.51.2 from pkg.

Re: Unison File Synchronizer

#33

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 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."

Unison was the first backup binary that we built into the rsync.net platform - breaking our original design goal of only offering client agnostic SSH and the tools that would run over that.

Shortly afterward we also added rdiff-backup. Both of these tools were quite popular and we saw a lot of interest back in 2005 - 2010 but we see very little use or interest in them now.

All of the interest in backup clients is now in rclone[1], restic[2] and borg[3].

restic was easy - you can point it at any SFTP capable host.

borg and rclone, on the other hand, we had to (like unison and rdiff-backup) build and maintain on the rsync.net server side.

All of these (save rclone, which is a binary executable) are python scripts. But we don't have a python interpreter (or any interpreter) in our very locked down platform. Can anyone guess how we do that ?

[1] https://github.com/rclone/rclone/issues/3254

[2] https://www.rsync.net/products/restic.html

[3] https://www.stavros.io/posts/holy-grail-backups/

Re: Unison File Synchronizer

#34

From the changelog: > Further improvements to the OS X GUI (thanks to Alan Schmitt and Craig Federighi). Here are Craig's commits: - https://github.com/bcpierce00/unison/commit/48f8e1b27edbe2df... - https://github.com/bcpierce00/unison/commit/6645d1793ce843f6... Around the same time, Dave Abrahams, now of Apple's Swift team, makes an appearance on the unison-hackers mailing list.

Wow. I've been using Unison for ages and had no idea Craig had had a hand in it.

Re: Unison File Synchronizer

#35

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…

> there's a million fiddly things to get right, and Unison hasn't had that much usage

Unison is the only bidirectional sync tool that I trust to get the details right. It is backed by a formal model with various proofs of correctness. Such models are also easily representated in OCaml; which I can assure you is more than a fine language, especially if one cares about correctness. Dropbox has struggled to get these details correct in the past (see the paper "Mysteries of DropBox", by Unison's author Professor Benjamin Pierce). TLDR, Pierce teaches these Python hackers how to fix their broken code.

Re: Unison File Synchronizer

#36
I've been using Unison since... forever.

A hint regarding running the latest Mac binary on Mojave: if the GUI crashes on you, it's likely to be an issue regarding syncing file _permissions_ and not just files.

This has been biting me for a couple of months now whenever I sync my development tree between Dropbox and OneDrive, since Windows' WSL tends to set wonky 0x777 permissions on entire file trees, and it is usually those that cause Unison to crash.

Otherwise, I've been using it to sync 400K+ files without incident.

Re: Unison File Synchronizer

#37

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

Rather amusingly, both Panic's Unison and this Unison used the same ~/Library/Application Support/Unison directory on macOS. Thankfully they used different filenames and so didn't end up conflicting.

Re: Unison File Synchronizer

#38

Is this project still going? I used to use it a lot for duplicating my project directories between my lap PC and my home PC. It was so powerful and so useful at the time. Honestly I thought it had died. I use Syncthing now. It's really useful.

I used to use it daily to sync projects, music, and documents between computers too. It was really nice once I got it configured to my liking. I would sync my work computer to a external hard drive and the external drive to my home computer, thus creating a very powerful sneakernet and an implicit backup on the external.

I reluctantly installed Dropbox one day after forgetting my external drive at home. Honestly, that was the beginning of a miserable time. Dropbox never really delivered, it took forever to sync, and constantly caused the internal disk to trash. I had tons of other problems with Dropbox over the years and was very happy the day I quit using it.

I still have a unison alias in my .profile

    alias unison="unison -logfile /Users/eddie/log/unison.log"
I really miss the control Unison gave me.

Re: Unison File Synchronizer

#39

Is this project still going? I used to use it a lot for duplicating my project directories between my lap PC and my home PC. It was so powerful and so useful at the time. Honestly I thought it had died. I use Syncthing now. It's really useful.

I recently switched from Syncthing to Unison, after getting tired of Syncthing either taking forever to sync anything or getting stuck altogether, with very little visibility or control over what it was doing. So far Unison (with fsmonitor) has ‘just worked’, with files updating immediately on save as I’d expect.

(That said, one of the problems I encountered with Syncthing seemed to be that it wouldn’t properly reconnect when I switched networks, which is necessary since it runs as a persistent daemon. With Unison, so far I’ve been starting it up in the foreground in a terminal as needed, so it hasn’t had to provide the same functionality. But I expect I’ll eventually set up some type of auto-reconnect, which will hopefully work better than Syncthing did.)

Re: Unison File Synchronizer

#40
Unison has been an indispensable tool for me for many years. I keep my desktop and laptop in sync by using an always-on Linode as a sync server.

Something I love about Unison is the fact that I can sync files from anywhere on my filesystem without having to move them or replace them with symlinks.

I can also sync subsets of my files by defining multiple profiles. I have Unison set up to default to a "common" profile that includes nearly everything, but I can explicitly request a sub-profile if I want. I also have a separate profile that syncs the profiles themselves, so I can make profile changes on one machine and run `unison profiles` to upload them.

Post reply on HN