Changing the UI of checkout

Stefan Monnier monnier at iro.umontreal.ca
Sun Apr 19 19:01:03 BST 2009


>> Yes: the problem of "commit --local" is not that it's a bad command,
>> but that Bzr currently handles it poorly.  So I think that rather
>> than remove it, its hamdling should be fixed.

> It IS a bad command, though.

Why?  In concrete pratical terms, why?

> Kinda.  It's coloring outside the lines.  The whole point of
> a checkout is that you're just a working tree on a given branch;

I don't work in "checkouts", I work in "bound branches" (tho I don't
know that there is a difference between the two).

> commit --local is an intentional statement of going out of sync in an
> environment setup to keep IN sync.

Yes, indeed.

> Going out of sync means you want a bound branch, not a checkout, and
> for the bound branch use-case, explicitly unbinding is a much stronger
> statement that you know what you're getting into, so it's probably
> a better choice.

unbinding is different: "commit --local" says not only "look out, I ant
to get out of sync", but it also says that it's temporary.  If I do "bzr
unbind" I can't just say "bzr rebind" afterwards, instead I'd have to
respecify the remote branch to which I want to rebind.

I don't mind if "commit --local" does a sort of "unbind" behind the
scenes or if you replace with some other command (like "unbind") but it
needs to additionally remember that we're related to some external
branch to which we will want to syncronize later.  And then we want
a way to perform this resynchronization cleanly (i.e. in a way that does
the expected, which is sadly not the case currently).


        Stefan



More information about the bazaar mailing list