view tests/test-batching.py.out @ 24833:cb981009d697 stable

dirstate: use pathutil.normasprefix to ensure os.sep at the end of root 3cc630be5f09 replaced "os.path.join(root, '')" by "root.endswith(os.sep)" examination, because Python 2.7.9 changes behavior of "os.path.join(path, '')" on UNC path. But some problematic encodings use 0x5c (= "os.sep" on Windows) as the tail byte of some multi-byte characters, and replacement above prevents Mercurial from working on the repository, of which root path ends with such multi-byte character, regardless of enabling win32mbcs. This patch uses "pathutil.normasprefix()" instead of "root.endswith(os.sep)" examination, to ensure "os.sep" at the end of "dirstate._rootdir" even with problematic encodings. "root" of dirstate can be passed to "pathutil.normasprefix()" without normalization, because it is always given from "repo.root" = "repo.wvfs.base", which is normalized by "os.path.realpath()". Using "util.endswithsep()" instead of "str.endswith(os.sep)" also fixes this problem, but this patch chooses "pathutil.normasprefix()" to centralize "adding os.sep if endswith(os.sep)" logic into it.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 22 Apr 2015 23:38:52 +0900
parents 84094c0d2724
children e2fc2122029c
line wrap: on
line source


== Local
Ready.
Un and Deux
Eins und Zwei
One and Two
Nope
Eins und Zwei
Hello, John Smith
Ready.
Uno und Due

== Remote
Ready.
REQ: foo?one=Vo&two=Efvy
  -> Vo!boe!Efvy
Un and Deux
REQ: bar?b=Fjot&a=[xfj
  -> Fjot!voe![xfj
Eins und Zwei
REQ: batch?cmds=foo:one=Pof,two=Uxp;bar:b=Fjot,a=[xfj
  -> Pof!boe!Uxp;Fjot!voe![xfj
REQ: greet?name=Kpio!Tnjui
  -> Ifmmp-!Kpio!Tnjui
REQ: batch?cmds=bar:b=Vop,a=Evf
  -> Vop!voe!Evf
One and Two
Nope
Eins und Zwei
Hello, John Smith
Ready.
Uno und Due