I was disappointed by various syncing solutions. Either they've been morally questionable or they didn't really work or the took huge amounts of system resources. This made me thinking what I really need.
git's syncing model is very easy. You can do a pull and a
push. That's it. No magic, has to be executed by hand and it simply
works. I wanted syncing to be evenly easy. This is why I created a
new project: syncer. We use
rsync to synchronize files between hosts and a simple
shell script as a wrapper.
We download changes via `sync pull`. This won't overwrite local changes.
We upload changes via
sync push. This won't overwrite
changes on the master.