SyncDiff(erent) is a state-full file synchronizer, with ideas shamelessly stolen from rsync, git, csync2, unison and probably a variety of other places. The basic design goals include:
- Lower the time it takes to determine what has changed on disk given multiple machine requests
- Multiple mechanisms of accessing the server side (currently only a static tcp port, but access via http, ssh and other transport protocols should be doable)
- Improve the ability to verify files after transfer
- Lower the overhead on the server side in comparison to rsync
- Allow for multi-way synchronization using a star topology, and accepting eventual consistency
- Allow for better handling of file collisions
Currently SyncDiff(erent) is in early alpha, and is soliciting feedback based on the current code base to ensure it's meeting the needs of it's various potential users.