Mercurial > hg
annotate tests/test-convert-bzr-ghosts.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 | 75be14993fda |
children | 7a88643bc0ef |
rev | line source |
---|---|
26066
89872688893f
tests: move '#require bzr' into .t files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
1 #require bzr |
7053 | 2 |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
3 $ . "$TESTDIR/bzr-definitions" |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
4 $ cat > ghostcreator.py <<EOF |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
5 > import sys |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
6 > from bzrlib import workingtree |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
7 > wt = workingtree.WorkingTree.open('.') |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
8 > |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
9 > message, ghostrev = sys.argv[1:] |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
10 > wt.set_parent_ids(wt.get_parent_ids() + [ghostrev]) |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
11 > wt.commit(message) |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
12 > EOF |
7053 | 13 |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
14 ghost revisions |
7053 | 15 |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
16 $ mkdir test-ghost-revisions |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
17 $ cd test-ghost-revisions |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
18 $ bzr init -q source |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
19 $ cd source |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
20 $ echo content > somefile |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
21 $ bzr add -q somefile |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
22 $ bzr commit -q -m 'Initial layout setup' |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
23 $ echo morecontent >> somefile |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
26066
diff
changeset
|
24 $ $PYTHON ../../ghostcreator.py 'Commit with ghost revision' ghostrev |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
25 $ cd .. |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
26 $ hg convert source source-hg |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
27 initializing destination source-hg repository |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
28 scanning source... |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
29 sorting... |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
30 converting... |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
31 1 Initial layout setup |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
32 0 Commit with ghost revision |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
33 $ glog -R source-hg |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12515
diff
changeset
|
34 o 1@source "Commit with ghost revision" files: somefile |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
35 | |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12515
diff
changeset
|
36 o 0@source "Initial layout setup" files: somefile |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
37 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16060
diff
changeset
|
38 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16060
diff
changeset
|
39 $ cd .. |