grawkit/README.md

3.1 KiB

Grawkit - The Awksome Git Graph Generator

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

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.

Status & Examples

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, presented here:

Command-Line Generated Graph
git commit -m "Adding a new commit"
git commit
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

git branch test-merging

git commit -m "Commit on master" git commit -m "Still on master"

git checkout test-merging git commit -m 'A sample commit'

git checkout master git commit -m "Another master commit"

git merge test-merging

git commit -m "Commit on master"

git branch test-first git branch test-second

git commit -m "Still on master" git tag v.1.0.0

git checkout test-first git commit

git branch test-third

git checkout test-second git commit git merge test-first git tag v.2.0.0-rc1

git checkout master git merge test-second

git checkout test-third git commit

git branch develop
git checkout develop
git commit

git branch feature/XYZ-12_fix-foo git checkout feature/XYZ-12_fix-foo git commit git commit

git checkout develop git branch feature/ZZ-704_take-it-to-the-limit git checkout feature/ZZ-704_take-it-to-the-limit git commit

git checkout develop git merge feature/XYZ-12_fix-foo

git branch feature/ABC-66_make-bar git checkout feature/ABC-66_make-bar git commit git commit

git checkout develop git merge feature/ZZ-704_take-it-to-the-limit

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.