Manage duplicate files
Switch branches/tags
Clone or download
Latest commit bbc8092 Dec 21, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Version bump Dec 21, 2018
.gitignore Ignore macos .DS_Store file Nov 16, 2018
.travis.yml nix deploy Jul 2, 2018
Cargo.toml Version bump Dec 21, 2018
LICENSE Add license Feb 21, 2018
README.md Update README.md Aug 18, 2018
appveyor.yml Update tag for windows builds May 16, 2018

README.md

Linux Build Status

Build Status

Windows Build Status

Build status

The Directory Differential hTool

DDH traverses input directories and their subdirectories. It also hashes files as needed and reports findings.

The H in "hTool" is silent. The H in its abbreviation, "DDH," is not.

This tool is called DDH for two very good reasons.

  • DDT is a dangerous pesticide
  • I mistyped when I created the project

Install

  • Install Rust
  • git clone https://github.com/darakian/ddh.git ddh
  • cd ddh
  • cargo build --release
  • The DDH binary will then be at target/release/ddh

Features

DDH supports both a standard output for human comprehension and a parsable json output for machines.

Example

Directory Difference hTool 0.9.8
Compare and contrast directories.
Example invocation: ddh ~/Downloads/ -o MyFiles.txt -f standard
Example pipe: ddh ~/Downloads/ -o no -v all -f json | someJsonParser.bin

USAGE:
    ddh [OPTIONS] <Directories>...

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --blocksize <Blocksize>    Sets the display blocksize to Bytes, Kilobytes, Megabytes or Gigabytes. Default is
                                   Kilobytes. [possible values: B, K, M, G]
    -f, --format <Format>          Sets output format. [possible values: standard, json]
    -o, --output <Output>          Sets file to save all output. Use 'no' for no file output.
    -v, --verbosity <Verbosity>    Sets verbosity for printed output. [possible values: quiet, duplicates, all]

ARGS:
    <Directories>...    Directories to parse

How Does DDH Work?

DDH works by hashing files to determine their uniqueness and, as such, depends heavily on disk speeds for performance.