#git #git-repository #git-directory #crawler #git-commit #command-line-tool #cli

app git-leave

Check for unsaved or uncommitted changes on your machine

16 stable releases

1.6.2 May 12, 2024
1.6.1 Jun 19, 2023
1.6.0 Apr 16, 2023
1.5.7 Dec 15, 2022
1.5.3 Mar 24, 2022

#837 in Development tools

CECILL-2.1

30KB
293 lines

git-leave logo

Check for unsaved or uncommitted changes on your machine

Nix Powered Cachix Cache Time spent

Installation

With cargo via crates.io

Install from repository with cargo:

cargo install git-leave

You will also need openssl library in path, which you can install over you prefered package manager.

With 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 run for temporary testing

    e.g. nix shell github:mrnossiom/git-leave

  • use with nix profile for imperative installation

    e.g. nix profile install github:mrnossiom/git-leave

Package is reachable through packages.${system}.default or packages.${system}.git-leave.

Usage

Check for unsaved or uncommitted changes on your machine

Usage: git-leave [OPTIONS] [DIRECTORY]

Arguments:
  [DIRECTORY]  The directory to search in [default: .]

Options:
  -d, --default            Use git config default folder value for the directory to search in
      --follow-symlinks    Should we follow symlinks
      --show-directories   Should we show the directories we are actually crawling
      --threads <THREADS>  The number of cores to use for crawling [default: number_of_cores]
  -h, --help               Print 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
    

Config

Set the leaveTool.defaultFolder key in your git global configuration file to use the --default or -d flag.

In .config/git/config, or any other git config file:

[leaveTool]
    defaultFolder = ~/path/to/projects

Credits

  • woobuc/sweep for many concepts I implemented here (e.g. threads, logging)

Work is licensed under CECILL-2.1, a French OSS license that allows modification and distribution of the software while requiring the same license for derived works.

Dependencies

~16–25MB
~420K SLoC