view tests/test-encoding.out @ 8810:ac92775b3b80

Add patch.eol to ignore EOLs when patching (issue1019) The intent is to fix many issues involving patching when win32ext is enabled. With win32ext, the working directory and repository files EOLs are not the same which means that patches made on a non-win32ext host do not apply cleanly because of EOLs discrepancies. A theorically correct approach would be transform either the patched file or the patch content with the encoding/decoding filters used by win32ext. This solution is tricky to implement and invasive, instead we prefer to address the win32ext case, by offering a way to ignore input EOLs when patching and rewriting them when saving the patched result.
author Patrick Mezard <pmezard@gmail.com>
date Mon, 15 Jun 2009 00:03:26 +0200
parents 30d4d8985dd8
children 29d2a7e3a88b
line wrap: on
line source

adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
(run 'hg update' to get a working copy)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% should fail with encoding error
M a
? latin-1
? latin-1-tag
? utf-8
transaction abort!
rollback completed
abort: decoding near ' encoded: é': 'ascii' codec can't decode byte 0xe9 in position 20: ordinal not in range(128)!
% these should work
marked working directory as branch é
% ascii
changeset:   5:db5520b4645f
branch:      ?
tag:         tip
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin1 branch

changeset:   4:9cff3c980b58
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Added tag ? for changeset 770b9b11621d

changeset:   3:770b9b11621d
tag:         ?
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     utf-8 e' encoded: ?

changeset:   2:0572af48b948
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e' encoded: ?

changeset:   1:0e5b7e3f9c4a
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     koi8-r: ????? = u'\u0440\u0442\u0443\u0442\u044c'

changeset:   0:1e78a93102a3
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e': ? = u'\xe9'

% latin-1
changeset:   5:db5520b4645f
branch:      é
tag:         tip
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin1 branch

changeset:   4:9cff3c980b58
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Added tag é for changeset 770b9b11621d

changeset:   3:770b9b11621d
tag:         é
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     utf-8 e' encoded: é

changeset:   2:0572af48b948
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e' encoded: é

changeset:   1:0e5b7e3f9c4a
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     koi8-r: ÒÔÕÔØ = u'\u0440\u0442\u0443\u0442\u044c'

changeset:   0:1e78a93102a3
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e': é = u'\xe9'

% utf-8
changeset:   5:db5520b4645f
branch:      é
tag:         tip
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin1 branch

changeset:   4:9cff3c980b58
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Added tag é for changeset 770b9b11621d

changeset:   3:770b9b11621d
tag:         é
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     utf-8 e' encoded: é

changeset:   2:0572af48b948
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e' encoded: é

changeset:   1:0e5b7e3f9c4a
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     koi8-r: ÒÔÕÔØ = u'\u0440\u0442\u0443\u0442\u044c'

changeset:   0:1e78a93102a3
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e': é = u'\xe9'

% ascii
tip                                5:db5520b4645f
?                                  3:770b9b11621d
% latin-1
tip                                5:db5520b4645f
é                                  3:770b9b11621d
% utf-8
tip                                5:db5520b4645f
é                                  3:770b9b11621d
% ascii
?                              5:db5520b4645f
default                        4:9cff3c980b58 (inactive)
% latin-1
é                              5:db5520b4645f
default                        4:9cff3c980b58 (inactive)
% utf-8
é                              5:db5520b4645f
default                        4:9cff3c980b58 (inactive)
% utf-8
changeset:   5:db5520b4645f
branch:      é
tag:         tip
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin1 branch

changeset:   4:9cff3c980b58
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     Added tag é for changeset 770b9b11621d

changeset:   3:770b9b11621d
tag:         é
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     utf-8 e' encoded: é

changeset:   2:0572af48b948
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e' encoded: é

changeset:   1:0e5b7e3f9c4a
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     koi8-r: ртуть = u'\u0440\u0442\u0443\u0442\u044c'

changeset:   0:1e78a93102a3
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     latin-1 e': И = u'\xe9'

abort: unknown encoding: dolphin, please check your locale settings
abort: decoding near 'é': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)!
abort: branch name not in UTF-8!