repoview: use _gethiddenblockers in computehidden
No functionality has changed, since we've only extracted the code into its own
function. Now extensions can wrap _gethiddenblockers to provide their own
blocker without polluting bookmarks or local tags.
repoview: add _gethiddenblockers method
This is a standalone function that will provide the ability for extensions to
wrap.
repoview: improve performance for computehidden (
issue4206)
For repos with a large number of heads (including hidden heads), a stale tag
cache would cause computehidden to be drastically slower because of a the call
to repo.tags() (which would build the tag cache).
We actually don't need the tag cache for computehidden because we filter out
global tags. This patch replaces the call to repo.tags with readlocaltags so
as to avoid the tag cache.
hgk: use hg export to write commits
Instead of calling internal command, use hg export to produce changeset
diffs compatible with hg import directly.
hgk: add .diff extension when exporting commits
Append the .diff extension automatically.
localrepo: move the addchangegroup method in changegroup module
This is a gratuitous code move aimed at reducing the localrepo bloatness.
The method had few callers, not enough to be kept in local repo.