Bazaar dirstate locking
Stefan Monnier
monnier at iro.umontreal.ca
Mon May 17 14:16:37 BST 2010
> Commits can change the working tree - both contents and metadata [in
> particular 'missing' files are garbage collected during a commit and
> the parent commit list is updated]. So, the lock is held because we
> can't update the parent commit list until the commit finishes, we
> don't want to have to rescan if someone else did a mutating operation
> while the commit was in progress, and we're waiting on the commit
> message.
IIUC what should ideally happen when you do a commit is:
- take a read-lock on the checkout (tho it can really only do
that on the checkout metadata, in reality).
- collect the info it needs, read the commit message, make up
a patch/bundle, send it to the repository.
- once it's all done, upgrade the lock to a write-lock and update the
checkout metadata.
Stefan
More information about the bazaar
mailing list