gendoc: support defaults on customopts a bit better
Without this, a customopt will very likely render like this:
```
-foo does foo (default: <hgext.myextension.MyOpt object at 0x7f31...>)
```
I copied this logic from how this is handled in mercurial/help.py.
Differential Revision: https://phab.mercurial-scm.org/D9988
softstrip: fix a reference to an undefined variable
`backupfile` wasn't defined if no backup was requested. Let's set it
to `None` by default, which matches what regular `repair.strip()`
does.
Differential Revision: https://phab.mercurial-scm.org/D9985
softstrip: move _bookmarkmovements() call to where it's needed
The call to `_bookmarkmovements()` is unrelated to the backup, so
let's move it after.
Differential Revision: https://phab.mercurial-scm.org/D9984
tests: fix differing output between py2 and py3
db9e33beb0fb broke the tests because of the difference in bytestring repr
between py2 and py3. Rather than backout that change for so little, I figured
I'd fix it myself.
Hopefully Python 2 supports gets dropped very soon.
Differential Revision: https://phab.mercurial-scm.org/D9987
build: fake PEP440 versions
If the current version is not exactly a tag, use a local version
specifier to fix it up. PEP 440 uses the "+" separator and only allows
alphanumeric and dot, so use dot for further separations.
Old devel build: 5.7+155-
a163cc36d06b
New devel build: 5.7+hg155.
a163cc36d06b
Differential Revision: https://phab.mercurial-scm.org/D9955
tests: add a comment in a test that will hopefully save someone some time
I spent at least an hour, probably closer to 1.5, trying to figure out what this
was complaining about. Hopefully anyone else in my position will see this note
and not waste the time.
Differential Revision: https://phab.mercurial-scm.org/D9953
changegroup: don't convert revisions to node for duplicate handling
The only consumer can handle revision lists fine. Avoid
materializing a range if there are no duplicates as optimization.
Differential Revision: https://phab.mercurial-scm.org/D9884
revlog: change addgroup callbacks to take revision numbers
Differential Revision: https://phab.mercurial-scm.org/D9883
revlog: change addrevision to return the new revision, not node
Differential Revision: https://phab.mercurial-scm.org/D9882
revlog: change addrawrevision to return the revision
Differential Revision: https://phab.mercurial-scm.org/D9881