Directed Acyclic Graphs for Git

Make browsing your git repository’s history easier with git dag. Here’s how to set it up:

git config --global alias.dag 'log --graph --decorate --all --oneline'
git config --global color.ui true

dag stands for directed acyclic graph, i.e. a graph-based representation of a sequence of events. It makes your git history look like this:

$ git dag

* 1286efb (HEAD -> mainline, origin/mainline, origin/HEAD) Merge branch 'test' into mainline
|\  
| * 17423c4 Removed existing documentation, moved Doxyfile to root, and added a github pages action file.
| * bcd2b84 Updated header files to be Doxygen compatible, and added Doxygen auto-generated API.
* | 7339f55 Revert "Updated header files to be Doxygen compatible, and added Doxygen auto-generated API. (#10)" (#11)
* | 0635be4 Updated header files to be Doxygen compatible, and added Doxygen auto-generated API. (#10)
|/  
* 8d39795 Update README.md
*   99920dc Initial release of Calico library.
|\  
| * 73e8ed2 Updated README to point to github wiki pages.
| *   d39f542 Merge branch 'dev' into test
| |\  
| | *   78e74c8 Merge branch 'camera-outlier-rejection' into dev
| | |\  
| | | * e4aca9b Removed python script version of multi-camera calibration
| | | * 2fb1526 Complete kalibr multi-camera calibration demo
| | | * a384375 Added Kannala Brandt model to python bindings and included unit tests
| | | * 3b24443 Added Kannala Brandt camera model to cpp implementation
| | | * dba9e77 Added outlier rejection for cameras.
| | |/  
| * / 1efc74f First MVP with a demo
|/| | 
| |/  
| *   b77bafd Merged initial multicamera calibration demo to dev branch
| |\  
| | * 62259e5 Added .ipynb_checkpoints to .gitignore
| | * aad1bad Another attempt to resize the image
| | * e7aa78b Resize calico image
| | * 78670d7 Test image addition to README
:

Compare that to what you would normally do to view your commit history:

$ git log -3

commit b06727f3ffa8b326f8fd27c80f4eb804c9d59fd9 (HEAD -> mainline, origin/mainline, origin/HEAD)
Author: James Yang <james.yang92@gmail.com>
Date:   Wed May 10 09:17:23 2023 -0700

    Commit message #3

commit 6e06f8a81b7c566916b4e10bab6770e82a66151a
Author: James Yang <james.yang92@gmail.com>
Date:   Sat Apr 15 15:04:54 2023 -0700

    Commit message #2

commit 0e86d73e40dca67b2d8844f7302c3cc0c68e599f
Author: James Yang <james.yang92@gmail.com>
Date:   Sat Apr 15 13:59:04 2023 -0700

    Commit message #1