Get your git repo into a tidier state, so that you can carry on developing.
Go to file
2023-01-28 22:49:41 +02:00
.flake8 Initial commit. 2023-01-26 07:43:08 +02:00
.pre-commit-config.yaml More tinkering. Lots of refactoring to get it to do what I want. 2023-01-28 22:09:50 +02:00
git-tidy Tweak things a bit more. Add usage guide to readme. 2023-01-28 22:48:20 +02:00
LICENCE Initial commit. 2023-01-26 07:43:08 +02:00
mypy.ini Tweak things a bit more. Add usage guide to readme. 2023-01-28 22:48:20 +02:00
pyproject.toml Initial commit. 2023-01-26 07:43:08 +02:00
README.md Add note about python packages not being required 2023-01-28 22:49:41 +02:00

git-tidy

I wrote this utility to save myself some repetitive typing, because I often come back to a repo after a while of not using it, and in the meanwhile a remote may have moved on or I'm not sure what state it's in.

So this gets it cleaned up relatively quickly.

It's more or less the equivalent of

git checkout main
git fetch --all --purge  # purge is to delete unnecessary remote refs
git merge origin/main main --ff-only
git branch --merged | grep -v main | xargs git branch -d

with some extra convenience and (I hope) safety features.

Using

The actual script is named git-tidy. After cloning, you can copy (or symlink) it to somewhere on your path (I use ~/bin/).

Then when you cd to your git repository, you can type

git tidy

and it'll do its thing! Only the Python standard library is used, no additional packages are required.

Background

The repo is named with -python on the end because I have a vague ambition to redo this program in Go at some point, which will make it easier to distribute for people who don't have Python installed by default (i.e. Windows users). But I'm not sure when I'll get to that.

TODO

I'd like to actually get a set of unit-tests in place, but I'm not sure how to go about this really because there's a lot of subprocess calls. If anyone reads this and has an idea, I'd be glad to hear from you.