bzr pull vs. bzr update

Juanma Barranquero lekktu at
Wed Dec 16 20:09:21 GMT 2009

On Wed, Dec 16, 2009 at 20:44, John Arbash Meinel
<john at> wrote:

> I assume this is because they don't do bind?

I don't understand. The instructions that I've quoted have

     bzr bind sftp://<membername>

for the trunk/ branch, and the pull is recommended for that same branch.

>> where "bzr pull" would force me to do a revert-and-merge-again.
> If you haven't committed, I'm pretty sure that pull will work here.

Ah. Karl said: " I use 'pull' because it will error if the dest tree
is not pristine [...]". Maybe I misunderstood him.

> When I was just trying it, I saw that
> it actually goes and tries to do a remote fetch, find revisions to pull,
> etc, only to find out you already have everything.

Indeed it does. That's why it is way slower than update.

> So my guess is that *today* update is faster than pull, but that is
> probably a bug in pull.


> If you are working in a checkout, 'update' is the recommended command.

This is the case in the recommended workflow for Emacs.

> For your specific use cases "bzr update" is equivalent to "bzr pull
> $MASTER". The divergence between them is mostly around what happens if
> you have local commits, etc.

May I suggest then that currently the docs aren't entirely clear about
the differences? (When using a checkout, of course.)

> There are other reasons as well. For example "cd checkout; bzr pull
> $NOT_MASTER". Will turn your master branch into $NOT_MASTER, as well as
> your local checkout. Which has valid use cases, but infrequent.

A further reason to recommend "bzr update" for trunk/.



More information about the bazaar mailing list