Anyone having issues with svnmerge.py and 2.6 (possibly OS X problem)?
svnmerge.py merge -r74429t
I am trying to backport something to 2.6 and I am getting the following error from svnmerge.py: property 'svnmerge-integrated' deleted from '.'.
property 'svnmerge-blocked' deleted from '.'.
--- Merging r74429 into '.': C Misc/NEWS U Misc/ACKS U Lib/test/test_pyexpat.py U Modules/expat/xmltok_impl.c Summary of conflicts: Text conflicts: 1
property 'svnmerge-integrated' set on '.'
property 'svnmerge-blocked' set on '.'
Traceback (most recent call last): File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2361, in <module> main(sys.argv[1:]) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2356, in main cmd(branch_dir, branch_props) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1810, in __call__ return self.func(*args, **kwargs) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1560, in action_merge print >>f, construct_merged_log_message(opts["source-url"], revs), File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1136, in construct_merged_log_message message = get_commit_log(url, r) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1122, in get_commit_log return recode_stdout_to_file("".join(out[1:])) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 229, in recode_stdout_to_file return u.encode(locale.getdefaultlocale()[1]) File "/Users/brett/.slash/python/lib/python2.6/encodings/mac_roman.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u0107' in position 191: character maps to <undefined>
Anyone else running into this? I tried backing up svnmerge.py to r36767 (sometime in March; random choice) and I am still having the problem.
-Brett
2009/8/13 Brett Cannon <brett@python.org>:
svnmerge.py merge -r74429t
I am trying to backport something to 2.6 and I am getting the following error from svnmerge.py: property 'svnmerge-integrated' deleted from '.'. property 'svnmerge-blocked' deleted from '.'. --- Merging r74429 into '.': C Misc/NEWS U Misc/ACKS U Lib/test/test_pyexpat.py U Modules/expat/xmltok_impl.c Summary of conflicts: Text conflicts: 1 property 'svnmerge-integrated' set on '.' property 'svnmerge-blocked' set on '.' Traceback (most recent call last): File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2361, in <module> main(sys.argv[1:]) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2356, in main cmd(branch_dir, branch_props) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1810, in __call__ return self.func(*args, **kwargs) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1560, in action_merge print >>f, construct_merged_log_message(opts["source-url"], revs), File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1136, in construct_merged_log_message message = get_commit_log(url, r) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1122, in get_commit_log return recode_stdout_to_file("".join(out[1:])) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 229, in recode_stdout_to_file return u.encode(locale.getdefaultlocale()[1]) File "/Users/brett/.slash/python/lib/python2.6/encodings/mac_roman.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u0107' in position 191: character maps to <undefined>
Anyone else running into this? I tried backing up svnmerge.py to r36767 (sometime in March; random choice) and I am still having the problem.
I just ran svnmerge on tk_and_idle_maintenance branch and it worked fine (r74434). Unfortunately the svnmerge.py I use doesn't include its revision number, so svnmerge.__rev__ and .__date__ are set to '<unknown>'.
-Brett
-- -- Guilherme H. Polo Goncalves
On Thu, Aug 13, 2009 at 1:44 PM, Brett Cannon <brett@python.org> wrote:
svnmerge.py merge -r74429t
I am trying to backport something to 2.6 and I am getting the following error from svnmerge.py: property 'svnmerge-integrated' deleted from '.'.
property 'svnmerge-blocked' deleted from '.'.
--- Merging r74429 into '.': C Misc/NEWS U Misc/ACKS U Lib/test/test_pyexpat.py U Modules/expat/xmltok_impl.c Summary of conflicts: Text conflicts: 1
property 'svnmerge-integrated' set on '.'
property 'svnmerge-blocked' set on '.'
Traceback (most recent call last): File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2361, in <module> main(sys.argv[1:]) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2356, in main cmd(branch_dir, branch_props) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1810, in __call__ return self.func(*args, **kwargs) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1560, in action_merge print >>f, construct_merged_log_message(opts["source-url"], revs), File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1136, in construct_merged_log_message message = get_commit_log(url, r) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1122, in get_commit_log return recode_stdout_to_file("".join(out[1:])) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 229, in recode_stdout_to_file return u.encode(locale.getdefaultlocale()[1]) File "/Users/brett/.slash/python/lib/python2.6/encodings/mac_roman.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u0107' in position 191: character maps to <undefined>
Anyone else running into this? I tried backing up svnmerge.py to r36767 (sometime in March; random choice) and I am still having the problem.
-Brett
There's an accented c (ć, unicode 0x0107) in a log message. It looks like svn log is outputting the character and python can't handle it. Wierd, since svn log is supposed to convert its output to the local encoding, just like svnmerge is trying to do.
http://svn.haxx.se/dev/archive-2002-09/0522.shtml
Someone isn't using the right encoding, or else svn log has a bug. I might just be restating the obvious.
Jerry
On Thu, Aug 13, 2009 at 14:03, Jerry Seutter <jseutter@gmail.com> wrote:
On Thu, Aug 13, 2009 at 1:44 PM, Brett Cannon <brett@python.org> wrote:
svnmerge.py merge -r74429t
I am trying to backport something to 2.6 and I am getting the following error from svnmerge.py: property 'svnmerge-integrated' deleted from '.'.
property 'svnmerge-blocked' deleted from '.'.
--- Merging r74429 into '.': C Misc/NEWS U Misc/ACKS U Lib/test/test_pyexpat.py U Modules/expat/xmltok_impl.c Summary of conflicts: Text conflicts: 1
property 'svnmerge-integrated' set on '.'
property 'svnmerge-blocked' set on '.'
Traceback (most recent call last): File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2361, in <module> main(sys.argv[1:]) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 2356, in main cmd(branch_dir, branch_props) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1810, in __call__ return self.func(*args, **kwargs) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1560, in action_merge print >>f, construct_merged_log_message(opts["source-url"], revs), File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1136, in construct_merged_log_message message = get_commit_log(url, r) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 1122, in get_commit_log return recode_stdout_to_file("".join(out[1:])) File "/Users/brett/.slash/python/svnmerge/svnmerge.py", line 229, in recode_stdout_to_file return u.encode(locale.getdefaultlocale()[1]) File "/Users/brett/.slash/python/lib/python2.6/encodings/mac_roman.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u0107' in position 191: character maps to <undefined>
Anyone else running into this? I tried backing up svnmerge.py to r36767 (sometime in March; random choice) and I am still having the problem.
-Brett
There's an accented c (ć, unicode 0x0107) in a log message.
Yeah, Ivan's last name.
It looks like svn log is outputting the character and python can't handle it. Wierd, since svn log is supposed to convert its output to the local encoding, just like svnmerge is trying to do.
http://svn.haxx.se/dev/archive-2002-09/0522.shtml
Someone isn't using the right encoding, or else svn log has a bug. I might just be restating the obvious.
Huh. Probably Vim putting it into some encoding like UTF-8 or Latin-1 and svn not caring until later. Guess that means I will never be able to merge/block this checkin as svnmerge will always grab that log message. So if someone else can do the block for me that would be nice (or not worry about it since we seem to never do blind merges anymore).
-Brett
On Thu, 13 Aug 2009 at 15:03, Jerry Seutter wrote:
On Thu, Aug 13, 2009 at 1:44 PM, Brett Cannon <brett@python.org> wrote:
File "/Users/brett/.slash/python/lib/python2.6/encodings/mac_roman.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u0107' in position 191: character maps to <undefined>
Anyone else running into this? I tried backing up svnmerge.py to r36767 (sometime in March; random choice) and I am still having the problem.
-Brett
There's an accented c (ć, unicode 0x0107) in a log message. It looks like svn log is outputting the character and python can't handle it. Wierd, since svn log is supposed to convert its output to the local encoding, just like svnmerge is trying to do.
http://svn.haxx.se/dev/archive-2002-09/0522.shtml
Someone isn't using the right encoding, or else svn log has a bug. I might just be restating the obvious.
Hmm. Given the presence of 'mac_roman.py' in the traceback, I wonder if Issue 6202 has any relevance here?
--David
On Thu, Aug 13, 2009 at 14:15, R. David Murray <rdmurray@bitdance.com>wrote:
On Thu, 13 Aug 2009 at 15:03, Jerry Seutter wrote:
On Thu, Aug 13, 2009 at 1:44 PM, Brett Cannon <brett@python.org> wrote:
File "/Users/brett/.slash/python/lib/python2.6/encodings/mac_roman.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u0107' in position 191: character maps to <undefined>
Anyone else running into this? I tried backing up svnmerge.py to r36767 (sometime in March; random choice) and I am still having the problem.
-Brett
There's an accented c (ć, unicode 0x0107) in a log message. It looks like svn log is outputting the character and python can't handle it. Wierd, since svn log is supposed to convert its output to the local encoding, just like svnmerge is trying to do.
http://svn.haxx.se/dev/archive-2002-09/0522.shtml
Someone isn't using the right encoding, or else svn log has a bug. I might just be restating the obvious.
Hmm. Given the presence of 'mac_roman.py' in the traceback, I wonder if Issue 6202 has any relevance here?
That's possible, although this was run under CPython 2.5 and the issue doesn't mention if this is an issue under 2.x.
-Brett
Hmm. Given the presence of 'mac_roman.py' in the traceback, I wonder if Issue 6202 has any relevance here?
Only partially so. That character (LATIN SMALL LETTER C WITH ACUTE) is not supported by Mac-roman, so the codec is right in complaining that it can't encode it. And yes, had svnmerge been run in an UTF-8 locale, it would have worked fine.
However, I think it is svnmerge that is to blame here. It implements construct_merged_log_message, which really should do its job in a locale-independent way - as long as it uses the locale encoding, it can always run into problems.
Fortunately, svn has been support --xml for "svn log" for a number of releases. So svnmerge should switch to use that; it will allow parsing arbitrary characters in a log message, independent of what the terminal encoding is.
Regards, Martin
On Thu, Aug 13, 2009 at 15:15, "Martin v. Löwis" <martin@v.loewis.de> wrote:
Hmm. Given the presence of 'mac_roman.py' in the traceback, I wonder if Issue 6202 has any relevance here?
Only partially so. That character (LATIN SMALL LETTER C WITH ACUTE) is not supported by Mac-roman, so the codec is right in complaining that it can't encode it. And yes, had svnmerge been run in an UTF-8 locale, it would have worked fine.
However, I think it is svnmerge that is to blame here. It implements construct_merged_log_message, which really should do its job in a locale-independent way - as long as it uses the locale encoding, it can always run into problems.
Fortunately, svn has been support --xml for "svn log" for a number of releases. So svnmerge should switch to use that; it will allow parsing arbitrary characters in a log message, independent of what the terminal encoding is.
Sounds like I need to file a bug against svnmerge.py w/ Martin's suggestion.
-Brett
participants (5)
-
"Martin v. Löwis"
-
Brett Cannon
-
Guilherme Polo
-
Jerry Seutter
-
R. David Murray