$ hg convert kernel assuming destination kernel-hg initializing destination kernel-hg repository connecting to :pserver:anonymous@a.cvs.sourceforge.net:/cvsroot/freedos scanning source... collecting CVS rlog 100 config.m 200 bin/kernel.sys 300 docs/contrib.txt 400 docs/history.txt 500 drivers/floppy.asm 600 hdr/buffer.h 700 hdr/error.h 800 hdr/mcb.h 900 hdr/sft.h 1000 kernel/001-437.nls 1100 kernel/chario.c 1200 kernel/config.c 1300 kernel/dosfns.c 1400 kernel/dsk.c 1500 kernel/error.c 1600 kernel/fatfs.c 1700 kernel/fcbfns.c 1800 kernel/init-dat.h 1900 kernel/initdisk.c 2000 kernel/inthndlr.c 2100 kernel/inthndlr.c 2200 kernel/ioctl.c 2300 kernel/kernel.mak 2400 kernel/main.c 2500 kernel/network.c 2600 kernel/nls_load.c 2700 kernel/proto.h 2800 kernel/serial.asm 2900 kernel/task.c 3000 mkfiles/tc.mak 3100 sys/makefile 3200 utils/exeflat.c 3261 log entries creating changesets ** unknown exception encountered, please report by visiting ** https://mercurial-scm.org/wiki/BugTracker ** Python 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110] ** Mercurial Distributed SCM (version 6.3.2) ** Extensions loaded: amend, children, churn, convert, fetch, graphlog, histedit, mq, patchbomb, purge, rebase, record, strip, transplant Traceback (most recent call last): File "[home]/bin/hg", line 59, in dispatch.run() File "[home]/lib/python/mercurial/dispatch.py", line 143, in run status = dispatch(req) File "[home]/lib/python/mercurial/dispatch.py", line 232, in dispatch status = _rundispatch(req) File "[home]/lib/python/mercurial/dispatch.py", line 276, in _rundispatch ret = _runcatch(req) or 0 File "[home]/lib/python/mercurial/dispatch.py", line 451, in _runcatch return _callcatch(ui, _runcatchfunc) File "[home]/lib/python/mercurial/dispatch.py", line 461, in _callcatch return scmutil.callcatch(ui, func) File "[home]/lib/python/mercurial/scmutil.py", line 153, in callcatch return func() File "[home]/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc return _dispatch(req) File "[home]/lib/python/mercurial/dispatch.py", line 1265, in _dispatch return runcommand( File "[home]/lib/python/mercurial/dispatch.py", line 899, in runcommand ret = _runcommand(ui, options, cmd, d) File "[home]/lib/python/mercurial/dispatch.py", line 1277, in _runcommand return cmdfunc() File "[home]/lib/python/mercurial/dispatch.py", line 1263, in d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "[home]/lib/python/mercurial/util.py", line 1880, in check return func(*args, **kwargs) File "[home]/lib/python/hgext/convert/__init__.py", line 510, in convert return convcmd.convert(ui, src, dest, revmapfile, **opts) File "[home]/lib/python/hgext/convert/convcmd.py", line 667, in convert c.convert(sortmode) File "[home]/lib/python/hgext/convert/convcmd.py", line 547, in convert heads = self.source.getheads() File "[home]/lib/python/hgext/convert/cvs.py", line 255, in getheads self._parse() File "[home]/lib/python/hgext/convert/cvs.py", line 93, in _parse db = cvsps.createchangeset( File "[home]/lib/python/hgext/convert/cvsps.py", line 689, in createchangeset t = b'%d %s' % (len(changesets), repr(e.comment)[1:-1]) TypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'str' $