Find file
Fetching contributors…
Cannot retrieve contributors at this time
85 lines (52 sloc) 1.36 KB
Git wrangling
=============
Status
------
Display current operation state: in rebase, bisect etc.
Log
---
Follow all parents of merges in log (zipper?)
Pack files
----------
* verify version numbers of pack is known
* verify offsets for idx are within mmap'ped size
* track file offsets of pack objects
* verify idx offsets vs. pack parse
* implement abstract object lookup via idx & pack reader, lazily
with error fallback on corrupt idx
Goal: robust ght show
Root
----
* Handle a working tree where .git is a plain ASCII file containing
"gitdir: <path>", i.e. the path to the real git repository.
Config
------
parse .git/config
find ~/.gitconfig
SHA1
----
expand sha1 prefix into full matching sha1
verify blob sha1sums
Revision names
--------------
Handle A^
Handle A^^
Handle A~n
Handle A^^n
Handle A^n^m
Commands
========
* find redundant upstream branches, ie. stuff that has been merged and can
be safely deleted.
Haskell cruft
=============
Use a left-fold enumerator for following branch histories
Traverse with a zipper, as IO traversable history
Reference
=========
http://book.git-scm.com/7_the_packfile.html
OBJ_OFS_DELTA encoding:
http://www.gelato.unsw.edu.au/archives/git/0609/27763.html
http://www.aosabook.org/en/git.html
http://ftp.newartisans.com/pub/git.from.bottom.up.pdf
http://eagain.net/articles/git-for-computer-scientists/