Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

file 84 lines (52 sloc) 1.393 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

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/
Something went wrong with that request. Please try again.