py3: hack around inconsistency of type of name passed to DNSQuestion
I don't like this patch but this is the easiest way I could fix it. There are
some callers which pass name which is bytes, some pass name which is str. I just
encode() that if that's str.
This does makes test-paths.t pass, but I am not confident whether the whole of
zeroconf will work on py3 or not.
Differential Revision: https://phab.mercurial-scm.org/D6511
py3: add r'' prefixes and do ('%d' % int) instead of str(int)
This addresses more failures related to zeroconf on py3.
Differential Revision: https://phab.mercurial-scm.org/D6510
zeroconf: port to Python 3
Since we're using the source transformer on Python 3, calls into
Zeroconf and return values from it are generally bytes.
But various socket functions require str on Python 3.
This commit contains enough changes to coerce test-paths.t into
passing on Python 3. I suspect there are still a handful of bugs
on Python 3. But the tests do pass.
Differential Revision: https://phab.mercurial-scm.org/D5805
copies: return only path from _tracefile() since that's all caller needs
Differential Revision: https://phab.mercurial-scm.org/D6587
extensions: add shelve to _builtin
This is a follow-up patch to
3de4f17f4824. This adds `shelve` to
`extensions._builtin` so that the shelve extension is silently
ignored.
Differential Revision: https://phab.mercurial-scm.org/D6589
bookmarks: backout the attempt to fix the delete race
This backs out
044045dce23a because it broke a bunch of tests on Windows.
Yuya's theory is that we still rely on in-memory changelog data to be flushed
out of the transaction.