diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py +++ b/mercurial/hgweb/hgweb_mod.py @@ -235,7 +235,7 @@ class hgweb(object): req.form['file'] = ['/'.join(args)] else: if args and args[0]: - node = args.pop(0) + node = args.pop(0).replace('%2F', '/') req.form['node'] = [node] if args: req.form['file'] = args diff --git a/tests/test-hgweb.t b/tests/test-hgweb.t --- a/tests/test-hgweb.t +++ b/tests/test-hgweb.t @@ -10,6 +10,9 @@ Some tests for hgweb. Tests static files $ hg ci -Ambase adding da/foo adding foo + $ hg bookmark -r0 '@' + $ hg bookmark -r0 'a b c' + $ hg bookmark -r0 'd/e/f' $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log $ cat hg.pid >> $DAEMON_PIDS @@ -264,7 +267,7 @@ try bad style

directory / @ 0:2ef0ac749a14 - tip + tip @ a b c d/e/f