Skip to content

CLI tool to track the state of multiple local git repositories

License

Notifications You must be signed in to change notification settings

remigourdon/glim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glim

glim is a CLI tool to track the state of multiple local git repositories.

This is very much an early work in progress 🏗️.

It is inspired by gita.

TODO

  • Error handling
  • Integration testing
  • CI
  • Publish to crates.io
  • Better handling of large repositories
    • Parallelization
    • Progress feedback

Usage

The program keeps a list of repositories (in ~/.config/glim/config.toml) on Linux. It assigns a default name which is the repository's directory name.

The following subcommands are available:

  • glim add <REPO_PATH>...: add new repositories (by path)
  • glim remove <NAME>...: remove repositories (by name)
  • glim rename <NAME> <NEW_NAME>: rename a repository
  • glim path <NAME>: read the path of a repository

This will produce a config.toml file of this form (which can also be edited manually):

[repositories]
first-repo = "/home/remi/Projects/first-repo"
second-repo = "/home/remi/Projects/ideas/another-repo"

Finally, running the program without a subcommand results in the display of their status:

$ glim
 first-repo     +_    main       ==    origin/main     Update README.md
 second-repo    *     develop    <<    fork/develop    Initial commit

The following symbols indicate the status of the repository:

  • + if it contains staged changes
  • * if it contains unstaged changes
  • _ if it contains untracked files

Those symbols show whether the local branch is ahead and/or behind its tracked remote:

  • == if they are the same
  • << if the local branch is behind the remote branch
  • >> if the local is ahead of the remote branch
  • <> if the local is both ahead and behind of the remote branch

Installation

Currently no binary releases are available, so Rust needs to be installed. This can be done following the instructions on this page.

At the moment, glim can be installed from source as follows:

cargo install --git https://github.com/remigourdon/glim.git --branch main

About

CLI tool to track the state of multiple local git repositories

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages