duplicate_code

Crates.ioduplicate_code
lib.rsduplicate_code
version0.8.1
sourcesrc
created_at2020-12-18 00:51:45.667366
updated_at2021-05-07 16:52:09.938769
descriptionA tool for parsing directories scanning all the files within to find duplicate segments of code across files.
homepage
repositoryhttps://gitlab.com/DeveloperC/duplicate_code
max_upload_size
id324160
size92,983
DeveloperC (DeveloperC286)

documentation

README

Duplicate Code

crates.io pipeline status Conventional Commits License: AGPL v3

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.

Commit count: 82

cargo fmt