Warning
WIP - work in progress | Only Linux support at the moment
Show summary changes for multiple git repositories.
(alejandrobernardis/gstat)
Note
gstat(1) manual page.
gstat(1) was created to solve the daily dynamics of finding outstanding issues in local repositories, many of the expected statuses will not be resolved.
The current statuses are:
- Push: if a branch is following a (remote) branch behind it.
- Pull: if a branch is following a (remote) branch ahead it.
- Upstream: if a branch does not have a local or remote upstream branch configured.
- Uncommitted: if there are uncommitted changes pending in the local repository.
- Staged: if there are staged changes in the local repository.
- Stashes: if there are saved changes in the local repository.
- Untracked: if there are untracked files that are not ignored in the local repository.
- Conflicts: if there are conflicts pending in the current branch.
If you run in check mode (-c
) it will show you all repositories
that are Ignored (gstat.ignore=true
), Locked (.git/index.lock
)
or Insecure (non-owner
).
Alternative paths to the configuration file:
${HOME}/.gstat.conf
${HOME}/.config/gstat/gstat.conf
${HOME}/.local/etc/gstat.conf
/usr/local/etc/gstat/gstat.conf
/usr/etc/gstat/gstat.conf
/etc/gstat/gstat.conf
To ignore a repository:
-
You can set the
gstat.ignore
entry totrue
for each repository with:git config --local --bool gstat.ignore true
To stop ignoring or remove:
# to stop ignoring git config --local --bool gstat.ignore false # to remove git config --local --unset gstat.ignore
-
In the
.gitconfig
file:# ~/.gitconfig [gstat] ignore = true ...
Important
Make and ZSH are requiered.
You can install the make
and zsh
packages from the official repository.
sudo dnf install -y cmake zsh
Tip
Optional requires Nerd Fonts
The quick way to install gstat(1) from source is:
Important
By default is installed in ~/.local
.
make install
To uninstall use:
make uninstall
To install gstat(1) elsewhere:
sudo make install prefix=/usr/local
To uninstall use:
sudo make uninstall prefix=/usr/local
DEVELOPMENT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
image -- Creates the container image.
- distro : Linux Distribution (fedora, opts: arch)
- nocache : Ignore container build cache (false, opts: true)
- proxy : Proxy endpoint <protocol://host-or-ip:port> (empty)
- noproxy : Proxy exceptions <host-or-ip> (localhost,127.0.0.1,...)
-----------------------------------------------------------------------------
run -- Starts the container.
- persist : Remove container after exit (false, opts: true)
- dns : DNS server <host-or-ip> (empty)
shell -- Access to the running container.
kill -- Destroys the container running.
-----------------------------------------------------------------------------
INSTALLATION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
⚠ By default is installed in `~/.local` or can set `prefix` to the desired
path (i.e.): sudo make install prefix=/usr/local
-----------------------------------------------------------------------------
install -- Install components (alias: `i`).
- prefix : Installation path (${HOME}/.local)
uninstall -- Uninstall components (alias: `u`).
- prefix : Installation path (${HOME}/.local)
-----------------------------------------------------------------------------
DISTRIBUTION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
⚠ The RPM and PKG targets was designed to run into a container, please
be careful.
-----------------------------------------------------------------------------
rpm -- Create the RPM package
pkg -- Create the PKG package
-----------------------------------------------------------------------------
man -- Create the linux manual
-----------------------------------------------------------------------------
- mgitstatus written by Ferry Boender.
- Rosé Pine terminal theme for Alacritty.
- Alacritty terminal.
gstat(1) is made available under the terms of the MIT License. See the LICENSE file for license details.
Copyright (c) since 2024 Alejandro M. BERNARDIS.
- Implement a logger
- Code review (optimization)
Date | Version | Author | Description | |
---|---|---|---|---|
2024-07-07 | 1.0.0 | Alejandro M. BERNARDIS | alejandro.bernardis@gmail.com | Initial Version |
(c) since 2024 Alejandro M. BERNARDIS, Buenos Aires, Argentina
github.com
| alejandro.bernardis@gmail.com