copies: simplify merging of copy dicts on merge commits
After we removed some filtering in
35d674a3d5db (copies: don't filter
out copy targets created on other side of merge commit, 2019-04-18),
we will always include all entries from "copies1", so we can simplify
the code based on that.
Differential Revision: https://phab.mercurial-scm.org/D6561
copies: remove a redundant matcher filtering in _changesetforwardcopies()
We filter before pushing items on the queue, so we don't need to
filter after popping.
Differential Revision: https://phab.mercurial-scm.org/D6560
copies: delete obsolete comment in _changesetforwardcopies()
IIRC, the comment applied to the filtering we did before
35d674a3d5db
(copies: don't filter out copy targets created on other side of merge
commit, 2019-04-18).
Differential Revision: https://phab.mercurial-scm.org/D6559
help: add a missing blank line to unhide `revlog-compression`
The help was output, but it was elided with "Enabled by default" from the
previous item.
copies: avoid reusing the same variable for two different copy dicts
"childcopies" is initally the copies the current changeset to one of
its children and then we reassign it with the copies from the start of
the chain to the child. Let's use different names for these two
things.
Differential Revision: https://phab.mercurial-scm.org/D6564
drawdag: don't crash when writing copy info to changesets
When writing copies to the changeset, localrepo.commitctx() will call
ctx.p1copies() and ctx.p2copies(). These crashed on simplecommitctx
because they ended up trying to access the manifest. drawdag doesn't
support copies at all, so we can simply override the methods to return
empty dicts.
Differential Revision: https://phab.mercurial-scm.org/D6565
bookmarks: actual fix for race condition deleting bookmark
This is a simple but efficient fix to prevent the issue tested in
`test-bookmarks-corner-case.t`. It might be worth pursuing a more generic
approach where filecache learn to depend on each other, but that would not be
suitable for stable.
The issue is complicated enough that I documented the race and its current
solution as inline comment. See this comment for details on the fix.
localrepo: introduce a `_refreshchangelog` method
See next changeset for usage and documentation for details.