log: duplicate _logrevs() dedicated for walkchangerevs()
Prepares for refactoring getlogrevs() to fix the "log -frREV PATH" issue.
I initially thought I could get rid of walkchangerevs(), but it turned out
requiring non-trivial work because of a "prepare" callback and a scanning
window. This patch makes sure that walkchangerevs() will be unaffected by
subsequent changes.
update: fix crash on bare update when directaccess is enabled
'rev' may be None. An empty 'rev' string shouldn't also be passed to
unhidehashlikerevs().
templater: make sure expression is terminated by '}'
This can't be ensured by the tokenize() generator since the parser stop
consuming tokens once it reached an end of an operation.
Spotted by Matt Harbison.
bookmark: deprecate direct update of a bookmark value
This changeset was part of an older series preventing direct update of the
bookmarks store without the change being tracked by a transaction. For some
unclear reason, this was not sent to the list. So we are sending it now.
Initial series:
3325c7dcabaa+
08bf0ebc6c8e+
712a85b3677f.
We want to channel all bookmarks update through 'applychanges' so let's remove
more way to work around this function.
bdiff: handle the possibility of an integer overflow when allocating
Differential Revision: https://phab.mercurial-scm.org/D1877
svnsubrepo: check if subrepo is missing when checking dirty state (
issue5657)
During an hg convert command, subrepos are not checked out. However, a
manifestmerge may occur during an hg convert if there is a merge
commit, which in particular will check the dirty state of subrepos.
Before this change, the lack of a checked out subrepo would error out.
This check for svn subrepos is modelled after
2fdea636f254 for git
subrepos.