convert-bazaar: use breezy package instead of old bzr one
Breezy is the most recent of the two, and works on Python 3 while being
compatible with the (old) Bazaar file format.
This patch contains a variety of unicode <-> bytes changes, API breakage fixing,
restoring failing imports and changing the executable from `bzr` to `brz`.
I recommend using the debian packages for `brz` and `python3-breezy` (3.1+),
because the pip package seems to be haunted by radioactive dragons.
Differential Revision: https://phab.mercurial-scm.org/D10513
#!/usr/bin/env python3
from __future__ import absolute_import
__doc__ = """Same as `echo a >> b`, but ensures a changed mtime of b.
Without this svn will not detect workspace changes."""
import os
import stat
import sys
if sys.version_info[0] >= 3:
text = os.fsencode(sys.argv[1])
fname = os.fsencode(sys.argv[2])
else:
text = sys.argv[1]
fname = sys.argv[2]
f = open(fname, "ab")
try:
before = os.fstat(f.fileno())[stat.ST_MTIME]
f.write(text)
f.write(b"\n")
finally:
f.close()
inc = 1
now = os.stat(fname)[stat.ST_MTIME]
while now == before:
t = now + inc
inc += 1
os.utime(fname, (t, t))
now = os.stat(fname)[stat.ST_MTIME]