bookmarks: primarily use repo lock, not wlock
Bookmarks are repository data, not working directory data. Only the current
bookmark is working directory data.
Some lock shuffling is required to avoid lockout between the initial mock lock
and locking of the localrepo instance that is created after copying.
localrepo: update branchcache in a more reliable way
test-mq-cache.t did apparently look at stale cache content.
Testing with different locking mechanism happened to update the cache more
frequently and thus caused a test failure.
tests: make qnew in test-mq-caches.t stable
The unstable hashes did for other reasons not show up in the test output.
localrepo: remove spurious updatebranchcache return value
- it was left over from the refactoring in
d01e28657429.
mq: remove early wlock release in qnew
It seems like something that missed the refactoring in
97b734fb9c6f.
mq: use .invalidate to cancel dirty mq state when cancelling transaction
Before the code optimistically relied on savedirty not being called a cancelled
transaction. If it was called it could save incorrect data.
Instead we now start using the invalidate method introduced in
b169ba60eebe.