Is anyone using Unison (http://www.cis.upenn.edu/~bcpierce/unison/) to keep development projects consistent between laptop and desktop or similar?
I'm worried Unison may butcher my git repos. Given MyProject, with the laptop checked out on somebranch and the desktop checked out on someotherbranch, will Unison do the right thing on a sync? I don't care which branch wins, so long as the repos stay viable.
Other suggestions welcome. Rsync is a fallback if nothing else works.
Yes, I use Unison regularly to sync all of my projects, including bzr and git repos. It works fine. The result is the same as pushing your git repo somewhere and then pulling it again from there, but if you're already using Unison, it eliminates those extra steps if you just sync the repositories. Syncing also picks up your uncommitted changes, which a push + pull won't do.
The only problem I can see happening is if your Unison profile has some ignores set that keep you from syncing all of the objects in the git repo. I think that would be unusual though, and it's never happened to me.