No description.
Created attachment 1817 [details] Step 1 - Makes test repository (Bash)
Created attachment 1818 [details] Step 2 - Make test templates/styles.
Created attachment 1819 [details] Step 3 - Test templates/styles.
This was tested under under Debian 7 and Ubuntu 14.04 (running hg 3.3 on Ubuntu) and manually on Windows 7 running hg 3.3. I've also switched the style to use " and \", but it does not seem to make any difference. Summary. If I have these styles: works.style, broke.style ## works.style changeset = '{files}' file = ' "//path/to/dir/{file|urlescape}"\n' ## broke.style changeset = '{files}' file = ' "\\\\path\\to\\dir\\{file|urlescape}"\n' ## This seems OK $ hg -R repo log --style=./works.style "//path/to/dir/afile.txt" "//path/to/dir/anotherfile.txt" "//path/to/dir/with%20space.txt" ## This is not what I expect $ hg -R repo log --style=./broke.style "\path o\dir{file|urlescape}" "\path o\dir{file|urlescape}" "\path o\dir{file|urlescape}" I would expect the \\ to take precedence over the others, but \t and \{ seems to take precedence - I would surmise that all standard escape codes take precedence. To run the scripts chmod +x mkrepo mktemplates test_templates ./mkrepo ./mktemplates ./test_templates
This seems to be a duplicate of http://bz.selenic.com/show_bug.cgi?id=4290 which was unfortunately automatically archived without actual fix.
Fixed by http://selenic.com/repo/hg/rev/890845af1ac2 Yuya Nishihara <yuya@tcha.org> templater: strictly parse leading backslashes of '{' (issue4569) (BC) Because double backslashes are processed as a string escape sequence, '\\{' should start the template syntax. On the other hand, r'' disables any sort of \-escapes, so r'\{' can go either way, never start the template syntax or always start it. I simply chose the latter, which means r'\{' is the same as '\\{'. (please test the fix)
Bug was set to TESTING for 7 days, resolving