From 31052bcd373c91c7b6dd7318f9c18c3009f50a16 Mon Sep 17 00:00:00 2001 From: Wynd Date: Sat, 17 Aug 2024 23:31:25 +0300 Subject: [PATCH] Added a README file --- README.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ screenshot.png | Bin 0 -> 40538 bytes 2 files changed, 56 insertions(+) create mode 100644 README.md create mode 100644 screenshot.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..b064275 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# git-heatmap + +simple but customizable heatmap for your local git repos written in Rust. + +![screenshot](screenshot.png) + +## Install + +### From source using cargo + +- clone the repository +- `cd` into the repository +- run `cargo install --path .`, cargo will build a release build and install it, for more info check the [cargo-install docs](https://doc.rust-lang.org/cargo/commands/cargo-install.html) + +## Usage + +```bash +# can be ran in any directory that is a valid git repository +$ git-heatmap + +# use any local repository from your system +$ git-heatmap -r "/path/to/repo" + +# supports multiple repository +$ git-heatmap -r "/path/to/repo" -r "/other/repo" + +# set what branch to check +# if no -b flag is given all local branches of the repository will be checked +$ git-heatmap -r "/path/to/repo" -b "main" + +# can also just pass the branches if you're already in a repository +$ git-heatmap -b "main" + +# manually set which branches to check (separated by space) +$ git-heatmap -r "/path/to/repo" -b "main other test" + +# supports checking different branches per repository however +# the number of -b flags needs to match the number of -p flags +$ git-heatmap -r "/path/to/repo" -b "main" -r "/other/repo" -b "test" + +# an empty string can be passed for the -b flag so all branches get checked +# or to comply with the same number of branch lists per repo lists rule from above +$ git-heatmap -r "/path/to/repo" -b "main" -r "other/repo" -b "" + +# filter by one or multiple authors +# without an -a flag all authors will be checked +$ git-heatmap -a "username" -a "other" + +# choose from when to start the checking +# if no --since flag is given it will start the search one year from the current date +# if no --until date is given it will check for either 365 days since the start date or until the current day, depending on which one is closer +$ git-heatmap --since "2013-08-23" + +# or choose a time span, both --since and --until must use a YYYY-MM-DD format +$ git-heatmap --since "2013-08-23" --until "2024-08-23" +``` diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ace570593086051a3c54ce28bc9fdbccfca68ae1 GIT binary patch literal 40538 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 b2$nK#DA@l^si_JM@KJf7u2^{ADB%ACGncU* literal 0 HcmV?d00001