sync-mht alternatives and similar packages
Based on the "Utils" category.
Alternatively, view sync-mht alternatives based on common mentions on social networks and blogs.
-
herms
:stew::fork_and_knife: A command-line manager for delicious kitchen recipes -
sbv
SMT Based Verification in Haskell. Express properties about Haskell programs and automatically prove them using SMT solvers. -
hocker
Utilities for interacting with the docker registry and generating nix build instructions -
thentos-cookie-session
All-in-one session handling for servant-based frontends -
scat
Password scatterer. Eliminates password reuse by generating deterministically unique passwords for each service (website, email address, etc.), all from a single password. -
cli-extras
Miscellaneous utilities for building and working with command line interfaces -
http-enumerator
HTTP client package with enumerator interface and HTTPS support. -
pipes-binary
Encode and decode binary streams using the pipes and binary libraries. -
autoexporter
:outbox_tray: Automatically re-export Haskell modules. -
cli
Command Line Interface Utility (Printing, Formatting, Options parsing) for Haskell -
fernet
Haskell library to generate and verify "Fernet" HMAC-based authentication tokens. -
aeson-deriving
Data types for compositional, type-directed serialization -
servant-docs-simple
Generate documentation for API endpoints via typerep -
Webrexp
Document query utility, mixing CSS Selector syntax and regular expressions. -
constraints-deriving
Programmatically create new instances using core-to-core plugins -
stratum-tool
Command-line tool for communicating with Electrum server -
bit-array
A bit array (aka bitset, bitmap, bit vector) API for numeric types
InfluxDB - Power Real-Time Data Analytics at Scale
Do you think we are missing an alternative of sync-mht or a related project?
README
sync-mht
Synopsis
Fast incremental file transfer using Hash-Trees
Description
A command line tool that can be used to incrementally synchronize a directory hierarchy with a second one. It is using a Hash-Tree to compare the folders, such that the synchronizatio time and communication (round) complexity grows only logarithmically with the 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.
Examples
The following command
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 [email protected] sync-mht"
will synchronize the folder bar/ in the home directory of the user fred on the host machine example.org 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/.
By default sync-mht
will only show a statistic about the difference between the source and
destination directories. The options --add
, --update
and --delete
respectively allow
copying of files to the target directory, updating files that are already in the target directory -
not matching the contents in the source directory and deleting files that are in the destination
directory but not in the source directory.
Setup
Installing the latest release of sync-mht with stack:
stack install sync-mht
Contribution
If you want to contribute - cloning the latest commit and building can be done using the following steps:
git clone --recursive https://github.com/ekarayel/sync-mht.git
cd sync-mht
stack exec runhaskell configure.hs
stack install