https://bz.mercurial-scm.org/show_bug.cgi?id=5987

            Bug ID: 5987
           Summary: exception thrown when cloning with trailing slash
           Product: Mercurial
           Version: 4.7.1
          Hardware: PC
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzi...@mercurial-scm.org
          Reporter: t.ruschi...@gmail.com
                CC: mercurial-devel@mercurial-scm.org

Tested with Mercurial 4.0 and 4.7 on Windows 7, Windows 10 and Linux (Debian 9)

When cloning a repository URL with trailing slash Python Exceptions are thrown. 
e.g.
hg clone https://adehg002.de.XXXX.yy/platform_automated_tests/
                                                             ^
This slash is causing the problem, remove it and it works ---|

Results in: 

http authorization required for
https://adehg002.de.XXXX.yy/platform_automated_tests/
realm: Code
user: THRS
password: 
destination directory: linux_-_platform_automated_tests
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.13 (default, Nov 24 2017, 17:33:09) [GCC 6.3.0 20170516]
** Mercurial Distributed SCM (version 4.0)
** Extensions loaded: strip, color, rebase, shelve, purge, graphlog, histedit,
churn, eol, extdiff, mq
Traceback (most recent call last):
  File "/usr/bin/hg", line 45, in <module>
    mercurial.dispatch.run()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 60, in
run
    sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 126, in
dispatch
    ret = _runcatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 247, in
_runcatch
    return callcatch(ui, _runcatchfunc)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 256, in
callcatch
    return func()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 236, in
_runcatchfunc
    return _dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 932, in
_dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 681, in
runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line 220, in
closure
    return func(*(args + a), **kw)
  File "/usr/lib/python2.7/dist-packages/hgext/color.py", line 521, in colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 940, in
_runcommand
    return cmdfunc()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 929, in
<lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1039, in
check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 1559, in
clone
    shareopts=opts.get('shareopts'))
  File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 610, in clone
    streamclonerequested=stream)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1213, in
pull
    _pulldiscovery(pullop)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1254, in
_pulldiscovery
    step(pullop)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1280, in
_pulldiscoverychangegroup
    force=pullop.force)
  File "/usr/lib/python2.7/dist-packages/mercurial/discovery.py", line 47, in
findcommonincoming
    return treediscovery.findcommonincoming(repo, remote, heads, force)
  File "/usr/lib/python2.7/dist-packages/mercurial/treediscovery.py", line 39,
in findcommonincoming
    heads = remote.heads()
  File "/usr/lib/python2.7/dist-packages/mercurial/peer.py", line 106, in plain
    return next(batchable)
  File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 291, in
heads
    yield decodelist(d[:-1])
  File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 174, in
decodelist
    return map(bin, l.split(sep))
TypeError: Odd-length string

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to