TODO don't walk the entire graph every time. don't start from commits, start from a list of objects. take a list of stop objects and stop at them parse objects lazily don't parse objects already parsed. persist blobs to disk.