Skip to content

A cli tool to check which repo have dirty worktree or not pushed commits

License

Notifications You must be signed in to change notification settings

mrnossiom/git-leave

Repository files navigation

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.

About

A cli tool to check which repo have dirty worktree or not pushed commits

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published