[MERGE] Add optional 'fetch_spec' to argument to Repository.fetch

Jelmer Vernooij jelmer at samba.org
Sun Mar 8 18:34:32 GMT 2009


On Sun, 2009-03-08 at 15:52 +0100, Jelmer Vernooij wrote:
> On Sun, 2009-03-08 at 17:54 +1100, Andrew Bennetts wrote:
> > Jelmer Vernooij wrote:
> > [...]
> > > It would be nice if the fetch_spec parameter could be documented in
> > > Fetch(). In particular, is it allowed to ignore this parameter ? Will
> > > there be no revision id specified if this parameter is specified?
> > 
> > Yes, Robert pointed out the lack of documentation in his review too, so I
> > extended the docstring as part of the tweaks to land the branch.  It now
> > says:
> > [...]
> > I hope that answers your questions.  If it doesn't let me know and I'll try
> > to improve the docstring some more.
> Thanks, that helps. 
> 
> > Btw, in a couple of places (e.g.  InterPackRepo) that I didn't want to
> > update for fetch_spec I put in some code like:
> > 
> >         if fetch_spec is not None:
> >             if len(list(fetch_spec.heads)) != 1:
> >                 raise AssertionError(
> >                     "InterPackRepo.fetch doesn't support "
> >                     "fetching multiple heads yet.")
> >             revision_id = fetch_spec.heads[0]
> >             fetch_spec = None
> > 
> > Which is just a simple backwards compatibility thing; currently the only
> > fetch_spec used in bzr.dev is a PendingAncestryResult with a single head
> > (and then only when sprouting or cloning into a newly created and
> > non-stacked repo), so it's easy to treat that like a single revision_id as
> > before.  Perhaps your plugins will want to do the same thing?
> Thanks, I'll give that a try. Can I expect there to always be a "heads" variable in a fetch_spec ? 
In particular, it looks like SearchResult doesn't have a "heads" member.

Cheers,

Jelmer

-- 
Jelmer Vernooij <jelmer at samba.org> - http://samba.org/~jelmer/
Jabber: jelmer at jabber.fsfe.org




More information about the bazaar mailing list