I'm using a self-scripted approach using rsync (http://en.wikipedia.org/wiki/Rsync) to sync my iMac and my MacBook. Actually I'm using an internet-connected server additionally to be able to sync with my library from anywhere in the world. But I think it would work with only two machines, too.
It's a UN*X command, which calls rsync with the directory on the local machine and the path to the remote machine. In my case I use SSH to create a tunnel between the two. But there are different possibilities.