Skip to content

CLI tool to help keep track of your Git repositories, written in Rust.

License

Notifications You must be signed in to change notification settings

mrtvfuencxozd/gfold

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gfold

GitHub Latest SemVer GitHub Tag Build Status

gfold is a CLI application that helps you keep track of multiple Git repositories.

user at hostname in ~/git
% gfold
great-journey      unclean  main      [email protected]:truth/great-journey.git
installation-zero  bare     main      https://github.com/the-ark/installation-zero.git
sierra             clean    dev       https://github.com/forward-unto-dawn/sierra.git
spark              clean    issue343  [email protected]:guilty/spark.git
tartarus           unclean  delta     [email protected]:covenant/tartarus.git
voi                clean    main      https://github.com/earth/voi.git

Description and Motivation

This app displays relevant information for multiple Git repositories in one, or multiple, directories. While this tool might seem limited in scope and purpose, that is by design.

It prints each repository in alphabetical order, and pads each result based on the longest directory, branch, and status string. By default, gfold looks at every Git repository in the current working directory. However, if you would like to target another directory, you can pass that path (relative or absolute) as the first argument.

Installation

There are multiple ways to install gfold, but here are the currently recommended methods...

1. Download a GitHub Binary

Most likely, the easiest method of obtaining gfold is via the latest GitHub release.

Once you have it downloaded, you can add it to your PATH. Here is an example on how to do that on macOS and Linux...

chmod +x gfold
sudo mv gfold /usr/local/bin/

You may have to reload your shell in order to see gfold in your PATH.

Advanced Management

You can use symbolic links to swap between versions, and manage multiple at a time. Here is a full install workflow example...

VERSION=0.6.2
PLATFORM=linux-gnu-amd64

wget https://github.com/nickgerace/gfold/releases/download/$VERSION/gfold-$PLATFORM
mv gfold-$PLATFORM gfold-$VERSION
chmod +x gfold-$VERSION

mkdir /usr/local/gfold/
mv gfold-$VERSION /usr/local/gfold/
ln -s /usr/local/gfold/gfold-$VERSION /usr/local/bin/gfold

Now, you can add/remove versions of the binary from /usr/local/gfold/, and change the symbolic link as needed.

2. Arch User Repository (AUR)

This application is available for all Linux distributions that support installing packages from the AUR.

Many people choose to use an AUR helper, such as yay (example: yay -S gfold), in order to install their AUR packages.

3. Cargo Install

You can build from source with cargo by executing the following...

cargo install --git https://github.com/nickgerace/gfold --tag 0.6.2

Usage

For all the ways on how to use this application, pass in the -h, or --help, flag.

gfold --help

Here are some example invocations...

gfold
gfold ..
gfold $HOME
gfold /this/is/an/absolute/path
gfold ../../this/is/a/relative/path
gfold ~/path/to/multiple/repositories/ -r
gfold -r $HOME/path/to/multiple/repositories

Compatibility

gfold, and its external crates, support all three major desktop platforms. It is tested for the latest versions of the following systems, but may work on more...

  • Linux: linux-gnu-amd64
  • macOS: macos-amd64
  • Windows 10: windows-amd64

Changelog

Please check out CHANGELOG.md for more information. It follows the Keep a Changelog format.

Code of Conduct

This repository follows and enforces the Rust programming language's Code of Conduct.

Additional Information

Special Thanks To...

About

CLI tool to help keep track of your Git repositories, written in Rust.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 85.3%
  • Makefile 14.7%