Check for unsaved or uncommitted changes on your machine
With cargo via crates.io
Install from repository with cargo:
cargo install git-leaveWith nix flakes
A flake.nix is available which means that you can use github:mrnossiom/git-leave as a flake identifier, so you can.
-
import this repository in your flake inputs
{ git-leave.url = "github:mrnossiom/git-leave"; git-leave.inputs.nixpkgs.follows = "nixpkgs"; }
Add the package to your NixOS or Home Manager packages depending on your installation.
-
use with
nix shell/nix runfor temporary testinge.g.
nix shell github:mrnossiom/git-leave -
use with
nix profilefor imperative installatione.g.
nix profile install github:mrnossiom/git-leave
Package is reachable through packages.${system}.default or packages.${system}.git-leave.
Check for unsaved or uncommitted changes on your machine
Usage: git-leave [OPTIONS] [DIRECTORY]
Arguments:
[DIRECTORY] Directory to search in [default: .]
Options:
-d, --default Use default folder specified in git config for the directory to search in
--follow-symlinks Follow symlinks
--show-directories Show the directories we are actually crawling
--threads <THREADS> Number of cores to use for crawling [default: <num_cpus>]
--check <CHECK> Override checks to run on found repositories [possible values: dirty, ahead-branches, no-upstream-branches]
-h, --help Print help (see more with '--help')
-V, --version Print version
-
To check all repos under the current directory
git leave
-
To check all repos under the specified directory
git leave path/to/directory
-
To check all repos under the default directory (see config)
git leave --default
dirty: Whether the repository has a dirty working copyahead-branches: List all branches that are ahead of their remoteno-upstream-branches: List all branches with no upstream
Set the leaveTool.defaultFolder key in your git global configuration file to use the --default or -d flag.
In your global git config file (e.g. .config/git/config):
[git_leave]
# Folder used when the `--default` flag is provided
defaultFolder = ~/path/to/projects
# Override checks to run on repositories.
# This is used when checks report false positives for your setup. (e.g. Jujutsu)
#
# You can get the list in `--help`
checks = dirty
checks = ahead-branches- woobuc/sweep for many concepts I implemented here (e.g. threads, logging)
This work is licensed under CeCILL-2.1, a strong copyleft French OSS license. This license allows modification and distribution of the software while requiring the same license for derived works.
