dulwich-users team mailing list archive
-
dulwich-users team
-
Mailing list archive
-
Message #00005
Re: Fetch a specific revision of a file
On Wed, 2009-11-18 at 14:13 +0100, Emiliano Heyns wrote:
> On Tue, Nov 17, 2009 at 17:44, Jelmer Vernooij <jelmer@xxxxxxxxx>
> wrote:
> Hi Emiliano,
>
> On Tue, 2009-11-17 at 17:16 +0100, Emiliano Heyns wrote:
> > Is there a way to fetch a specific revision of a file using
> dulwich?
>
> Do you mean fetching the copy of a file as it existed in a
> particular
> Git commit ?
>
> This is certainly possible for local repositories, you should
> retrieve
> the tree sha associated with the particular commit and then
> use
> tree_path_lookup to find the individual blob.
>
>
> I've gotten this far:
>
> from dulwich.repo import Repo
> from dulwich import object_store as GitObjectStore
>
> repo = Repo(GITREPODIR)
> for commit in repo.revision_history(repo.head()):
> print commit.commit_time
> for id, name, sha in repo.tree(commit.tree).entries():
> print name, sha
> GitObjectStore.tree_lookup_path(??, commit.tree, name)
>
> But I don't know what to use for the first parameter for
> tree_lookup_path.
You want repo.object_store there.
Cheers,
Jelmer
Follow ups
References