#diff #compare #directories #folders

bin+lib foldiff

Easily configurable tool to get the difference between a reference folder and others

1 unstable release

✓ Uses Rust 2018 edition

0.2.0 Apr 3, 2019

#192 in Filesystem

GPL-3.0 license

19KB
330 lines

Foldiff

Easily configurable tool to get the difference between a reference folder and others

These are the features currently implemented :

  • The files present in A but not in B
  • The files present in B but not in A
  • The files present in A and B but that are different

Usage

$ foldiff folder_a folder_b

Note : the features below are not currently implemented, use the ruby version instead.

// Usage // ----- // // shell // $ foldiff [--config=config.txt] [-s] [-q] [-f] [-e] reference folders_to_compare // // // | Long form | Short | Description | // | ------------------- |:-----:| --------------------------------------------------- | // | --config=filename | | file containing rules for comparison | // | --file-output | -f | writes reports to file named compare_FOLDERNAME.txt | // | --quiet | -q | quiet doesn't print the output to the term (without --file-output, it doesn't really make any sense) | // | --skip-empty | -s | skip empty files | // | --show-equals | -e | show the files also that don't differ | // // // Config file // ------------ // // # COMPLETE is a list of file to exclude completely from the comparison // COMPLETE // README.md // other_file_to_exclude // END // // # By default, the file diff isn't showed, the report only informs that it differs from the reference. // # Add a FILE tag to display it : // FILE "ex.txt" END // // # You can alter the behavior for the file by added these options before the END tag // FILE "example.txt" // SORT # sort alphabetically the output // // HIDE_MISSING # hide missing files from the reference folder // HIDE_ADDED # hide the files not in the reference folder // // PARSE ONLY # don't show the diff of the file, just print it // PARSE ALSO # print the file after the diff // // KEEP_LINES 3,-6 # cut the document before making the diff (negative values begins from the end) // // PRE_REGEX "s/^[aze]/aze/" # substitution applied before separating lines (there can be as many as you want !) // REGEX "s/^[aze]/aze/" # substitution applied after separating lines (there can be as many as you want !) // // REGEX 20 "s/a/e/" # apply it twenty times same for PRE_REGEX (not that it may slow down the analysis) // // # Those can also be used along with PARSE to change how the file will be parsed // # (if either PARSE ONLY or PARSE ALSO is set) // PARSE SORT // PARSE KEEP_LINES 3,-6 // PARSE REGEX // PARSE PRE_REGEX // // INCLUDES "word" # keep only lines including *word* after the regex // EQUALS "line" # keep only lines matching exactly *line* after the regex // END //

No runtime deps