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
-----
```shell
$ foldiff folder_a folder_b
```
Note : the features below are not currently implemented, use [the ruby version instead](https://github.com/guydunigo/foldiff).
> // 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
> // ```