9 releases (breaking)
0.8.1 | May 7, 2021 |
---|---|
0.8.0 | Dec 29, 2020 |
0.7.0 | Dec 27, 2020 |
#1435 in Development tools
36KB
904 lines
Duplicate Code
A tool for parsing directories scanning all the files within to find duplicate segments of code across files.
Content
Usage
Duplicate Code scans the current directory and all sub-directories to find every file, then each file is compared against all the other files to find duplicate segments across the files.
Usage - Additional Flags
Flag | |
---|---|
--ignore-line-regex | Ignore every line that matches any of these provided regexes. For example, to ignore the imports and package declarations in Java code --ignore-line-regex '^import ' '^package ' . |
--ignore-file-regex | Ignore every file that matches any of these provided regexes. For example, to all XML and CSV files --ignore-file-regex '[.]xml$' '[.]csv$' . |
--minimum-successive-lines | The minimum number of successive lines that must match to be considered a duplicate. The default value is 3. |
--json | Output all the duplicates information as single line JSON. So it can easily be stored, ingested and processed by other programs. |
Usage - Logging
The crates pretty_env_logger
and log
are used to provide logging.
The environment variable RUST_LOG
can be used to set the logging level.
See https://crates.io/crates/pretty_env_logger for more detailed documentation.
Compiling via Local Repository
Checkout the code repository locally, change into the repository's directory and then build via cargo.
Using the --release
flag produces an optimised binary but takes longer to compile.
git clone git@gitlab.com:DeveloperC/duplicate_code.git
cd duplicate_code/
cargo build --release
The compiled binary is present in target/release/duplicate_code
.
Compiling via Cargo
Cargo is the Rust package manager, using the install
sub-command it pulls the crate from crates.io
and then compiles the binary locally.
cargo install
places the produced binary at $HOME/.cargo/bin/duplicate_code
.
cargo install duplicate_code
Issues/Feature Requests
To report a bug/issue or request a new feature use https://gitlab.com/DeveloperC/duplicate_code/-/issues.
Dependencies
~8–17MB
~240K SLoC