Skip to content
tobiasbaum edited this page Jul 20, 2013 · 2 revisions

What is jsync

jsync is an implementation of the rsync algorithm (http://rsync.samba.org/) for efficient network file transfer in pure Java. It's functionality can be used from the command line or programmatically.

Usage

For usage information see the file README.md in the repository root.

What jsync is not

I wrote jsync for a specific use case, which is to transfer program binaries efficiently to several test servers in a controlled network. Functionality not needed for my use case is currently not contained. The most notable exceptions are:

  • jsync is not an implementation of the rsync-protocol, therefore it is not possible for a jsync-client to connect to a rsync-daemon
  • jsync supports only the daemon mode of operation (from local client to remote daemon)
  • jsync supports only copying of directories
  • jsync supports only syncing from local to remote
  • jsync supports only real syncing (and for example not copying without deletions)
  • jsync contains no security mechanisms
  • both client and daemon have to use the same version of the software

As I'm rather busy most of the time, chances are low that I'll implement features which I don't need (and that are not trivial). But chances are high that I'll integrate reasonable push requests, so feel free to add functionality.

Similar projects

There are some projects out there that are somewhat similar to jsync.

  • Jarsync (http://jarsync.sourceforge.net/) tries to implement the rsync protocol (which is much harder, so that I skipped it). I integrated some of it's code.
  • java-rsync (http://code.google.com/p/java-rsync/) tries to achieve the same as Jarsync (but seems to be in a rather early state)
  • jsync on SourceForge (http://jsynctool.sourceforge.net/) has to same name, but a different objective, as it's a local file copying tool. I hope having the same name is not a problem, but I couldn't come up with yet another name given the other already existing projects.
Clone this wiki locally