[rfc][patch]
Erik Bågfors
zindar at gmail.com
Mon Jan 2 11:42:01 GMT 2006
2005/12/24, Erik Bågfors <zindar at gmail.com>:
> >
> > > === modified file 'bzrlib/builtins.py'
> > > --- bzrlib/builtins.py
> > > +++ bzrlib/builtins.py
> > > @@ -395,10 +395,10 @@
> > > If you want to forget your local changes and just update your branch to
> > > match the remote one, use --overwrite.
> > > """
> > > - takes_options = ['remember', 'overwrite', 'verbose']
> > > + takes_options = ['remember', 'overwrite', 'revision', 'verbose']
> > > takes_args = ['location?']
> > >
> > > - def run(self, location=None, remember=False, overwrite=False, verbose=False):
> > > + def run(self, location=None, remember=False, overwrite=False, revision=None, verbose=False):
> > > from bzrlib.merge import merge
> > > from shutil import rmtree
> > > import errno
> > > @@ -415,8 +415,13 @@
> > > br_from = Branch.open(location)
> > > br_to = tree_to.branch
> > >
> > > + if len(revision) == 1:
> > > + rev_id = revision[0]._match_on(br_from,br_from.revision_history()).rev_id
> > > + elif len(revision) > 1:
> > > + raise BzrCommandError('bzr pull --revision takes one value.')
> > > +
> >
> > At this point, you have to realize that 'revision' may be a list
> > (because --revision was supplied), or it may be None (no '--revision'
> > was supplied).
> >
> > So you really need something more like:
> >
> > if revision is None:
> > rev_id = None
> > elif len(revision) == 1:
> > rev_id = revision[0]._match_on(...
> > else:
> > raise BzrCommandError('...
>
> I'm a perl programmer. I am used to using implicit undefined etc. But
> it did work. Changed as you wanted. :)
>
> > > old_rh = br_to.revision_history()
> > > - count = tree_to.pull(br_from, overwrite)
> > > + count = tree_to.pull(br_from, overwrite, revision[0]._match_on(br_from,br_from.revision_history()).rev_id)
> >
> > And then here, you don't want to get the match again, you just want to say:
> >
> > count = tree.pull(br_from, overwrite, stop_revision=rev_id)
>
> Oh, that was just a mistake.
>
> Both fixed. In the same place.
John, Can you take a look at this again?
/Erik
More information about the bazaar
mailing list