annotate tests/test-issue1102.t @ 39037:ede768cfe83e

mail: always fall back to iso-8859-1 if us-ascii won't work (BC) It looks like this was a well-intentioned backwards compat hack for previewing the output of `hg email` in a stable way. Unfortunately I think this hack's time has come, because Python 3 does a much better job of ensuring it actually emits *valid* email messages. In particular, Python 2 would blindly trust us that the bytes we handed it were valid for the encoding we claimed, but Python 3 has some more sniff-tests that we end up failing. As a result, if we're going to print an email to the terminal, try us-ascii first, but if that fails go straight to iso-8859-1 which should be reasonably readable for ascii-compatible patch bodies. This *will* be a breaking change for ascii-incompatible textual patch content, but I don't think that's avoidable if we want to continue using the email library from the stdlib. .. bc:: Emails from the patchbomb extension will always be printed as though they are iso-8859-1 if they're not valid us-ascii. Previously, previewed emails were always claimed to be us-ascii and might contain invalid byte sequences. Differential Revision: https://phab.mercurial-scm.org/D4231
author Augie Fackler <augie@google.com>
date Thu, 09 Aug 2018 21:04:15 -0400
parents 4591cd6b6794
children 805419729e11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11847
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
1 $ rm -rf a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
2 $ hg init a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
3 $ cd a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
4 $ echo a > a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
5 $ hg ci -Am0
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
6 adding a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
7 $ hg tag t1 # 1
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
8 $ hg tag --remove t1 # 2
6671
938eddd76237 tag: record tag we're superseding, if any (issue 1102)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
9
11847
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
10 $ hg co 1
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
11 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 11847
diff changeset
12 $ hg tag -f -r0 t1
11847
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
13 $ hg tags
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
14 tip 3:a49829c4fc11
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
15 t1 0:f7b1eb17ad24
6671
938eddd76237 tag: record tag we're superseding, if any (issue 1102)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
16
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13135
diff changeset
17 $ cd ..