Mercurial > hg
view tests/test-mq-qrename.t @ 43597:856cce0c255c stable
py3: avoid iterating over a literal bytes in highlight
In Python 3, iterating over a bytes literal yields integers. Since we
use the value in `text.replace()`, this fails on Python 3 with the
following trackback:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgwebdir_mod.py", line 378, in run_wsgi
for r in self._runwsgi(req, res):
File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgweb_mod.py", line 326, in run_wsgi
for r in self._runwsgi(req, res, repo):
File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgweb_mod.py", line 449, in _runwsgi
return getattr(webcommands, cmd)(rctx)
File "/usr/lib/python3/dist-packages/mercurial/hgweb/webcommands.py", line 211, in file
return _filerevision(web, webutil.filectx(web.repo, web.req))
File "/usr/lib/python3/dist-packages/hgext/highlight/__init__.py", line 72, in filerevision_highlight
pygmentize(web, b'fileline', fctx, web.tmpl)
File "/usr/lib/python3/dist-packages/hgext/highlight/__init__.py", line 58, in pygmentize
field, fctx, style, tmpl, guessfilenameonly=filenameonly
File "/usr/lib/python3/dist-packages/hgext/highlight/highlight.py", line 62, in pygmentize
text = text.replace(c, b'')
TypeError: a bytes-like object is required, not 'int'
author | Denis Laxalde <denis.laxalde@logilab.fr> |
---|---|
date | Tue, 12 Nov 2019 11:05:03 +0100 |
parents | 2963d5c9d90b |
children |
line wrap: on
line source
$ echo "[extensions]" >> $HGRCPATH $ echo "mq=" >> $HGRCPATH $ hg init a $ cd a $ echo 'base' > base $ hg ci -Ambase adding base $ hg qnew -mmqbase mqbase $ hg qrename mqbase renamed $ mkdir .hg/patches/foo $ hg qrename renamed foo $ hg qseries foo/renamed $ ls .hg/patches/foo renamed $ mkdir .hg/patches/bar $ hg qrename foo/renamed bar $ hg qseries bar/renamed $ ls .hg/patches/bar renamed $ hg qrename bar/renamed baz $ hg qseries baz $ ls .hg/patches/baz .hg/patches/baz $ hg qrename baz new/dir $ hg qseries new/dir $ ls .hg/patches/new/dir .hg/patches/new/dir $ cd .. Test patch being renamed before committed: $ hg init b $ cd b $ hg qinit -c $ hg qnew x $ hg qrename y $ hg qcommit -m rename $ cd .. Test overlapping renames (issue2388) $ hg init c $ cd c $ hg qinit -c $ echo a > a $ hg add adding a $ hg qnew patcha $ echo b > b $ hg add adding b $ hg qnew patchb $ hg ci --mq -m c1 $ hg qrename patchb patchc $ hg qrename patcha patchb $ hg st --mq M patchb M series A patchc R patcha $ cd .. Test renames with mq repo (issue2097) $ hg init issue2097 $ cd issue2097 $ hg qnew p0 $ (cd .hg/patches && hg init) $ hg qren p0 p1 $ hg debugstate --mq $ hg ci --mq -mq0 nothing changed [1] $ cd .. Test renaming to a folded patch (issue3058) $ hg init issue3058 $ cd issue3058 $ hg init --mq $ echo a > a $ hg add a $ hg qnew adda $ echo b >> a $ hg qnew addb $ hg qpop popping addb now at: adda $ hg ci --mq -m "save mq" $ hg qfold addb $ hg qmv addb $ cat .hg/patches/addb # HG changeset patch # Parent 0000000000000000000000000000000000000000 diff -r 000000000000 a --- /dev/null * (glob) +++ b/a * (glob) @@ -0,0 +1,2 @@ +a +b $ cd ..