• Stars
    star
    171
  • Rank 222,266 (Top 5 %)
  • Language Awk
  • License
    MIT License
  • Created almost 8 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Awksome Git Graph Generator

Grawkit - The Awksome Git Graph Generator MIT License

Grawkit is a tool that helps build SVG graphs from git command-line descriptions, and is built in Awk.

This tool was created in support of the "Orthogonal Git Workflow" post. Yes, this took way longer to write than the post itself.

Testing & Documentation

A Makefile is provided for running tests and producing documentation for Grawkit. Run make help in the project root for more information.

A full test-suite is provided (depending only on make and awk), which should serve as a good example of the existing feature-set. Run it with make test.

Installation

Copy the included grawkit AWK script into your local search path (most commonly $HOME/.local/bin), or just use it directly in this folder. Grawkit should work with most POSIX-compatible AWK implementations, and has been tested against gawk, nawk, busybox awk, and goawk.

Status & Usage

Grawkit has basic support for common git commands such as git branch, git tag and git merge, allowing for fairly complex graphs. The integrated test-suite serves as an example, check the tests folder for more.

In order to use this tool, either run the grawkit executable against a file containing supported git commands (any command not recognized will be silently ignored), or pass these in standard input. For instance, given the following file test.txt:

git commit -m "Commit on master"
git commit -m "More stuff"

git branch test-stuff
git checkout test-stuff

git commit -m 'Testing stuff'
git commit

git checkout master
git commit

You can execute either:

cat test.txt | grawkit
# or
grawkit test.txt

Which will produce SVG markup to standard output, rendered as:

License

All code in this repository is covered by the terms of the MIT License, the full text of which can be found in the LICENSE file.

More Repositories

1

go-php

PHP bindings for the Go programming language (Golang)
Go
924
star
2

coreos-home-server

Home Server Setup with CoreOS
Dockerfile
45
star
3

fawkss

Fawkss is a CSS preprocessor for people who dislike CSS preprocessors
Awk
31
star
4

dotfiles

Configuration file management for the 21st century
Emacs Lisp
16
star
5

kube-home-server

Kubernetes on a Home Server. Have since moved to https://github.com/deuill/coreos-home-server as a daily driver.
Dockerfile
13
star
6

vector-watch-hacking

Reverse-Engineering the Vector Watch
6
star
7

mash

The simple task runner
Go
5
star
8

shell-extension-quitfromdash

Adds a quit option to Dash Pop-Over Context Menus, with support for Gnome Shell 3.10. Forked from cldx3000's version.
JavaScript
4
star
9

farsight

Fetch, filter and store arbitrary data using struct types and tags
Go
3
star
10

spooky-maze

Spooky Maze is a remake of the PSX/Net Yaroze game "Haunted Maze".
C
3
star
11

informbot

A Chat Bot for Inform 7 Stories, Built in Go
Go
3
star
12

xmpp-xep-dash-docset

Dash Docset generator for XMPP XEPs. Just add water.
Makefile
2
star
13

cecil

Cecil is the de facto CMS for the Sleepy web framework.
PHP
2
star
14

sleepy-client

Sleepy is a web framework using a client - server architecture. This is the client part.
PHP
2
star
15

bran

A zero-configuration statusbar for i3
Go
1
star
16

empathy-theme-flat

A flat theme for Empathy (and possibly Adium).
CSS
1
star
17

sleepy-app

Sleepy is a web framework using a client - server architecture. This is a starter template for projects based on Sleepy.
PHP
1
star
18

sleepy

Sleepy is a web framework using a client - server architecture. This is the server part.
Go
1
star
19

sigil

Sigil is web framework with bindings for various dynamic languages.
Go
1
star