Skip to content
Snippets Groups Projects
  1. Nov 20, 2019
    • Georges Racinet's avatar
      singlehead: making config item a bool again · 88a306478556
      Georges Racinet authored
      with the use of `configsuboptions`, the main config item has become
      a string (unless it's just the default value).
      
      This makes it in particular hard to override in a cascade of HGRC files,
      as we do in Heptapod to re-allow multiple heads on specific repositories
      while the default behaviour is to forbid them. The added test case reflects
      that use-case
      88a306478556
  2. Nov 21, 2019
  3. Nov 20, 2019
  4. Nov 21, 2019
  5. Nov 19, 2019
  6. Nov 13, 2019
    • Kim Alvefur's avatar
      zeroconf: fix traceback under py3 · 0f82b29f7494
      Kim Alvefur authored
      hg serve under py3 caused
      struct.error: char format requires a bytes object of length 1
      
      <pulkit25> ah, I think that should be `pycompat.bytechr` instead of chr
      0f82b29f7494
  7. Nov 17, 2019
    • Manuel Jacob's avatar
      cffi: fix build on Python 3 · 53607fd3ec6c
      Manuel Jacob authored
      CFFI expects the arguments to be of type str, which means that the string
      literals should not have the `b` prefix.
      53607fd3ec6c
  8. Nov 16, 2019
    • Pierre-Yves David's avatar
      pure: use string for another exception in the pure version of base85 · 4cd911040ba5
      Pierre-Yves David authored
      That message does not seems tested, but I am assuming that the same reasoning as
      for the previous changeset applies.
      4cd911040ba5
    • Pierre-Yves David's avatar
      pure: use string for exception in the pure version of base85 · 4394687b298b
      Pierre-Yves David authored
      Without this change, running the test with python3 and --pure gives the
      following error::
      
        --- /home/marmoute/src/mercurial-dev/tests/test-import-git.t
        +++ /home/marmoute/src/mercurial-dev/tests/test-import-git.t.err
        @@ -518,7 +518,7 @@
           >
           > EOF
           applying patch from stdin
        -  abort: could not decode "binary2" binary patch: bad base85 character at position 6
        +  abort: could not decode "binary2" binary patch: b'bad base85 character at position 6'
           [255]
      
           $ hg revert -aq
      
      To make the cext implementation, we use a "native" string for the exception.
      This fix the test failure.
      4394687b298b
  9. Nov 12, 2019
    • Denis Laxalde's avatar
      py3: avoid iterating over a literal bytes in highlight · 856cce0c255c
      Denis Laxalde authored
      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'
      856cce0c255c
  10. Nov 05, 2019
  11. Nov 08, 2019
  12. Nov 09, 2019
  13. Nov 06, 2019
    • Denis Laxalde's avatar
      py3: fix handling of ctrl keys in crecord (issue6213) · be0f77fd274d
      Denis Laxalde authored
      The "keypressed" value in handlekeypressed() is a key name obtained by
      curses's getkey(); this can be a multibyte string for special keys
      like CTRL keys. Calling curses.unctrl() with such a value fails on
      Python 3 with a TypeError as described in issue6213. (On Python 2, this
      does not crash, but I'm not sure the result is correct, though it does
      no matter here.)
      
      So instead of calling unctrl(), we compare "keypressed" with the
      expected "^L" obtained by curses.ascii.ctrl("L").
      be0f77fd274d
    • Denis Laxalde's avatar
      py3: keep "keypressed" a native str in crecord · 7cc913396f8c
      Denis Laxalde authored
      This will help in the next changeset by avoiding a decode step. Also,
      the actual bytes conversion seems superfluous since values coming from
      curses's getkey() will be a native string. As a consequence, we open the
      "testcommands" file (used in test-interactive-curses.t) in text mode.
      7cc913396f8c
    • Denis Laxalde's avatar
      py3: compare response of crecord's confirmationwindow with str · 117b41b1859d
      Denis Laxalde authored
      confirmationwindow() returns a native string, as a result of calling
      chr() on getch(). On Python 3, response.lower().startswith(b"y") leads
      to a TypeError.
      
      This fixes a crash when typing "r" in the curses interface of
      interactive commit.
      117b41b1859d
  14. Nov 07, 2019
    • Denis Laxalde's avatar
      py3: compare http server's command with a native string · 92e24a139ecc
      Denis Laxalde authored
      The "command" attribute is an str, so comparing with a bytes would not
      work on Python 3. This might solve issues in test-lfs-serve-access.t
      that happens sometimes (especially in CI):
      
          --- /hgwork/src/tests/test-lfs-serve-access.t
          +++ /hgwork/src/tests/test-lfs-serve-access.t.err
          @@ -163,11 +163,13 @@
      
             $ cat $TESTTMP/access.log $TESTTMP/errors.log
             $LOCALIP - - [$LOGDATE$] "POST /missing/objects/batch HTTP/1.1" 404 - (glob)
          +  $LOCALIP - - [05/Nov/2019 16:32:34] "{"objects": [{"oid": "f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e", "size": 20}], "operation": "download"}" HTTPStatus.BAD_REQUEST -
             $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=capabilities HTTP/1.1" 200 - (glob)
             $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
             $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Arev-branch-cache%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
             $LOCALIP - - [$LOGDATE$] "POST /subdir/mount/point/.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
             $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point/.hg/lfs/objects/f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e HTTP/1.1" 200 - (glob)
          +  $LOCALIP - - [05/Nov/2019 16:32:34] code 400, message Bad request version ('"download"}')
      
           Blobs that already exist in the usercache are linked into the repo store, even
           though the client doesn't send the blob.
          @@ -195,6 +197,7 @@
             server2/.hg/store/lfs/objects/f0/3217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
             $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
             $ cat $TESTTMP/errors.log
          +  $LOCALIP - - [05/Nov/2019 16:32:34] code 400, message Bad request version ('"download"}')
      
             $ cat >> $TESTTMP/lfsstoreerror.py <<EOF
             > import errno
      
      (from https://ci.hg.gregoryszorc.com/job-info/hg-committed-ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb-debian10-cpython-3.7-0)
      92e24a139ecc
  15. Nov 05, 2019
  16. Oct 17, 2019
    • Matt Harbison's avatar
      automation: avoid '~' in the temp directory on Windows · a77338d2bdab
      Matt Harbison authored
      If a long-ish username is used, the environment variable ends up with a '~' to
      be 8.3 path compatible.  That in turn causes a handful of tests (mostly ssh
      related) to add quotes around $TESTMP.
      
      I have no AWS experience, so I have no idea if this is the proper way to do it.
      But I've hit this problem locally, and redirecting the directory is a
      workaround.  I don't recall if the directory is created on demand by the test
      harness, but presumably if this is configured before the machine boots, Windows
      will do it for us.
      
      Differential Revision: https://phab.mercurial-scm.org/D7130
      a77338d2bdab
  17. Nov 05, 2019
  18. Nov 04, 2019
Loading