Re: [EGIT PATCH 5/5] Cache resolved ids in quickdiff document for faster update
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Apr 5, 2009, 20:36 UTC
- Message-ID
- <20090405203604.GP23521@spearce.org>
- In-Reply-To
- <1238697991-12990-6-git-send-email-robin.rosenberg@dewire.com>
Robin Rosenberg <robin.rosenberg@dewire.com> wrote:
> We do this by caching the commit, tree and blob ids and can then > very quickly decide whether a change in baseline actually results in a > changed version of the reference blob used for quickdiff.
...
Show 8 quoted lines
> @@ -31,6 +34,11 @@
>
> class GitDocument extends Document implements RepositoryListener {
> private final IResource resource;
> +
> + private AnyObjectId lastCommit;
> + private AnyObjectId lastTree;
> + private AnyObjectId lastBlob;Should have been "ObjectId"; I amended the patch.
> + Commit baselineCommit = repository.mapCommit(commitId); > + Tree baselineTree = baselineCommit.getTree(); > + TreeEntry blobEntry = baselineTree.findBlobMember(gitPath);
Arrrgh. We're still using Commit/Tree/TreeEntry to read file paths?
I'm applying this as-is, but we really need to start to transition away from them. I wanted to start deleting the mapCommit and its friends from the Repository class.
-- Shawn.