github Byron/gitoxide v0.7.0

2 years ago

The last release was nearly 5 months ago, and a lot happened since then.

First of all, gitoxide is now sponsored which allows me to make developing it my full-time job. This job I intend to perform until it is done or I drop dead (of old age), whatever comes first. This will also be beneficial for another project of mine, GitPython, which will eventually become a front-end to gitoxide using the marvellous PyO3.

Or in other words, this is the beginning of an exciting journey 😎.

Whats New

gix tool estimate-hours

With gix tool estimate-hours (or gix t h) you can now apply the git-hours algorithm to repositories of any size and estimate the time it would take a person to recreate its contents. It can do the linux kernel in 7.5s, even though it's not (yet) beating git shortlog by a small margin.

gix tool organize and gix tool find

Do you find yourself with 100's of repositories in your dev directory because you keep cloning them just to have a look and keep them for reference? And by now, all that seems a bit messy and you wish there is a better way?

The organize subcommand reads the origin remote's URL and suggests to place the repository in its path. For example, the repository cloned from https://github.com/byron/gitoxide at ~/dev/gitoxide could be moved to ~/dev/github.com/byron/gitoxide. Actually perform the operation by passing --execute as well.

The sibling command find uses the same repository discovery algorithm used by organize and lists the repository paths. This can be useful for building shell utilities to quickly jump to repositories in this new location.

Here is what works for me from ~/.zshrc.

function select-repo() {
    local root=~/dev
    echo -n $root/
    {
        cd $root
        gix t find
    } | sk -q "$1"
}

function cd-repo() {
    cd "$(select-repo $@)"
}

alias or="cd-repo"

Much less unsafe

Thanks to a fantastic PR a lot of code could be simplified into something that's easier to understand and contains only 2 one-liners of unsafe. As a side-effect, certain operations involving decoding entire packs are now significantly faster.

There shall also be an honorable mention which makes traversing the android-base pack faster.

Easier contributions

Even though I keep management and planning very lean, there are now a few pointers which should help to find tasks to tackle and make your first contribution. If you were on the fence, now might be the time to join, and if something is holding you back, please let me know as well.

New crates

Whats cooking

Installation

Please refer to the installation instructions in the README.

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.