sync-mht: Fast incremental file transfer using Merke-Hash-Trees

[ library, mit, program, utility ] [ Propose Tags ]

A command line tool that can be used to incrementally synchronize a directory hierarchy with a second one. It is using a Merkle-Hash-Tree to compare the folders, such that the synchronization time and communication (round) complexity grows only logarithmically with the actual size of the directories (assuming the actual difference of the directories is small). The communication happens through standard streams between parent and child processes, which can easily be routed through remote command execution tools, e.g. sync-mht -s foo/ -d bar will synchronize the local folder bar with the local folder foo, but sync-mht -s foo -d remote:bar -r "ssh sync-mht" will synchronize the folder bar/ in the home directory of the user fred on the host machine with the local folder foo/. It is also possible to use it with docker, e.g. sync-mht -s foo -d remote:bar -r "docker run -i --volumes-from bar ekarayel/sync-mht sync-mht" to synchronize the folder bar (of the container named bar) with the local folder foo.

Versions [faq],,,,,,,,,,,,,,,,
Dependencies array (==0.5.*), base (==4.7.*), base16-bytestring (==0.1.*), byteable (==0.1.*), bytestring (==0.10.*), cereal (==0.4.*), containers (==0.5.*), cryptohash (==0.11.*), directory (==1.2.*), filepath (==1.3.*), io-streams (==1.2.*), mtl (==2.2.*), process (==1.2.*), text (==1.2.*), transformers (==0.4.*), unix (==2.7.*) [details]
License MIT
Author Emin Karayel <>
Maintainer Emin Karayel <>
Category Utility
Source repo head: git clone
this: git clone
Uploaded by emink at 2015-07-05T08:49:04Z
Distributions NixOS:
Executables sync-mht
Downloads 7804 total (0 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-08 [all 6 reports]


Maintainer's Corner

For package maintainers and hackage trustees