Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
optimization[2/2]: only parse essential commit info upon initialization
Minimal information needed to traverse the graph: + commit-id (sha1) to uniquely identify the commit. + tree-id (sha1) to access the tree and object-ids associated with the commit. + list of parent-id (sha1)s. + raw committer date, ignoring the timezone. For better efficiency, we extract only what we need, and cache the rest in an NSData object for later extraction. Lazily fetched properties are: author + authored + committer + committed + message Currently lazy-fetching is as simple as possible, a call to any of the above methods will cause all of the cached data to be parsed, filling in the rest of the data. Signed-off-by: Geoff Garside <geoff@geoffgarside.co.uk>
- Loading branch information