Bazaar dirstate locking (was: lock_* API change)

Eli Zaretskii eliz at gnu.org
Sun May 16 04:11:59 BST 2010


> From: "Stephen J. Turnbull" <stephen at xemacs.org>
> Cc: robertc at robertcollins.net,
>     bazaar at lists.canonical.com,
>     monnier at iro.umontreal.ca
> Date: Sun, 16 May 2010 09:29:30 +0900
> 
> Eli Zaretskii writes:
>  > > From: "Stephen J. Turnbull" <stephen at xemacs.org>
>  > > Cc: robertc at robertcollins.net,
>  > >     bazaar at lists.canonical.com,
>  > >     monnier at iro.umontreal.ca
>  > > Date: Sat, 15 May 2010 21:19:42 +0900
>  > > 
>  > > When you write "commit", do you mean *commit* or do you mean *push*?
>  > 
>  > I mean "bzr commit", but when I send my changes upstream, I do that in
>  > a bound branch.
> 
> This should not be a problem.  The only thing you should be doing in
> the bound branch is merging changes from another branch.

That's what I do.  But after the merge, I need to commit to the master
branch, which is remote, and that takes time.  Since I don't want to
mix changesets of unrelated changes, I commit each one by itself, each
with its own commit message describing the general idea of the change.

> If you still have problems with that, don't use a bound branch; use
> push which will batch the commits into a single push.

I don't understand what you are suggesting here.  Care to elaborate?

>  > When I commit to a local branch, it is indeed much faster, but still
>  > far from microseconds, even if I don't take my time editing the commit
>  > message.  And dirstate is locked for all that time.
> 
> dirstate needs to be locked until a commit is complete.

I don't see why.  I especially don't see why it needs to be locked for
readers, such as "bzr status" and "bzr log".



More information about the bazaar mailing list