An open API service indexing awesome lists of open source software.

https://github.com/jlebon/git-bstatus

Like `git status` for your branches!
https://github.com/jlebon/git-bstatus

git libgit2 rust

Last synced: 15 days ago
JSON representation

Like `git status` for your branches!

Awesome Lists containing this project

README

          

`git bstatus` is like `git status` for your branches:

```
$ git bstatus
On branch librpm-compat
Recently active branches:
(use "git bstatus -a" to list all branches)
(use "git bstatus -v" to list commits)

* librpm-compat 1 day +1 build: Tweak rpm version check for HAVE_NEW_RPM_VERIFY
master 1 day +0 (upstream/master) app: Add support for passing URLs to RPMs
install-url 2 days +2 fixup! app: Add support for passing URLs to RPMs
reuse-rpmdb 2 days +1 upgrader: Reuse existing rpmdb checkout if available
rust-goop 2 days +2 fixup! build: Fix building rust in debug mode

There are 53 local branches (6 merged, 47 unmerged).
(use "git bstatus -m" or "git bstatus -u" to list them)
```

(Though I alias it to `git lsb` for faster typing).

The main difference from `git branch` is that it's designed
to be friendlier to humans, in the way `git status` is:
- quick view of your recently active branches to make
finding and switching between them a breeze
- column for human-formatted relative timestamp
- column for number of commits on that branch
- list added commits across branches with `-v`
- list only (un)merged branches with `-m/-u`

You may find that something like
`git branch -v --sort=-committerdate | head -n5` is
good enough for your purposes. In `git bstatus`, `-v` lists
all the commits that aren't merged into master (or the
tracked branch, if any):

```
$ git lsb -v
* librpm-compat 1 day +1
e98a5941 build: Tweak rpm version check for HAVE_NEW_RPM_VERIFY
04c0678f app: Add support for passing URLs to RPMs
master 1 day +0 (upstream/master)
04c0678f app: Add support for passing URLs to RPMs
install-url 2 days +2
2391b6d3 fixup! app: Add support for passing URLs to RPMs
7f7b54b2 app: Add support for passing URLs to RPMs
6a274b83 build-sys: Hard require Rust
reuse-rpmdb 2 days +1
eddafb00 upgrader: Reuse existing rpmdb checkout if available
6a274b83 build-sys: Hard require Rust
rust-goop 2 days +2
c7a1d9f8 fixup! build: Fix building rust in debug mode
f393131c build: Fix building rust in debug mode
6a274b83 build-sys: Hard require Rust
```

In the above output, `+2` means that there are two commits
on that branch; the last commit listed is the first one that
is shared with the master branch.

# Installation

```
$ cargo install --path .
$ which git-bstatus
~/.cargo/bin/git-bstatus
```

To uninstall:

```
$ cargo uninstall git-bstatus
```