Detecting out of date checkouts, plus bind without arguments

Adeodato Simó dato at
Mon Jun 26 11:30:38 BST 2006

* Robert Collins [Mon, 26 Jun 2006 19:09:14 +1000]:

> > Yup, I know. But I remember some unhappyness when I played with it for
> > the first time, and now I'm quite happy with binding and unbinding.

> Could you describe that unhappiness? I'd like to get that fixed.

Uhm, I've spend a few minutes and I can't find anything wrong with
commit --local, and I can of course do exactly the same stuff as I do
with `unbind; commit; bind` using `commit --local; push`.

I'm pretty sure now that my frustration with --local came from me trying
to use it quite soon after meeting bzr, when I hadn't still quite grasped
many of the concepts of distributed VCS. This is going to be embarrassing,
but let's go in case it induces changes that'll make it easier for
future newbies: probably I was not able to figure out on my own that what
I wanted was push (!), and ended up doing eg. `update`, which uncommited
my changes (that certainly came unexpected to me), and `commit` afterwards,
which commited them but with a merge, that I didn't want (since master
branch had had no modifications).

So, at most, I think one could add somewhere in the documentation for
--local: "if the parent branch has no extra changes, the local commits
can be applied to it with push, otherwise a merge will be needed".

And maybe also consider this: if in a bound branch one makes `commit`
and there are no uncommited changes, instead of "ERROR: no changes to
commit", one gets "ERROR: Bound branch ... is out of date with master
branch ... Either unbind, update, or pass --local to commit." Not sure
if you'd agree or not, but in my dreamy world, bzr says "ERROR: no
changes to commit; maybe you want bzr push?" in this scenario (i.e.,
only for bound branches).

> I'm -1 on this concept: When we put bound branches into the mainline, it
> was considered that having yet *more* local state to track was not a
> good thing - thats why there is --local options to some commands, to
> allow you do perform offline work without losing what branch you are
> bound to.

Fair enough.


Adeodato Simó                                     dato at
Debian Developer                                  adeodato at
                                       Listening to: Max Richter - Trees

More information about the bazaar mailing list