annotate tests/test-mq-strip @ 12252:4481f8a93c7a stable

convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354) Given a commit author or message with non-ASCII characters in a darcs repo, convert would raise a UnicodeEncodeError when adding changesets to the hg changelog. This happened because etree returns back unicode objects for any text it can't encode into ASCII. convert was passing these objects to changelog.add(), which would then attempt encoding.fromlocal() on them. This patch ensures converter_source.recode() is called on each piece of commit data returned by etree. (Also note that darcs is currently encoding agnostic and will print out whatever is in a patch's metadata byte-for-byte, even in the XML changelog.)
author Brodie Rao <brodie@bitheap.org>
date Fri, 10 Sep 2010 09:30:50 -0500
parents 64f284da1278
children e2bce1c717fa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8452
cb93eee1fbcd tests: add missing interpreter lines
Martin Geisler <mg@lazybytes.net>
parents: 6635
diff changeset
1 #!/bin/sh
cb93eee1fbcd tests: add missing interpreter lines
Martin Geisler <mg@lazybytes.net>
parents: 6635
diff changeset
2
11208
2313dc4d9817 tests: fix bashism to load helpers.sh
Yuya Nishihara <yuya@tcha.org>
parents: 11200
diff changeset
3 . $TESTDIR/helpers.sh
11200
12e5149cafca strip: improve full backup message
Matt Mackall <mpm@selenic.com>
parents: 8452
diff changeset
4
6635
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
5 echo "[extensions]" >> $HGRCPATH
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
6 echo "mq=" >> $HGRCPATH
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
7
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
8 teststrip() {
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
9 hg up -C $1
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
10 echo % before update $1, strip $2
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
11 hg parents
11200
12e5149cafca strip: improve full backup message
Matt Mackall <mpm@selenic.com>
parents: 8452
diff changeset
12 hg strip $2 | hidebackup
6635
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
13 echo % after update $1, strip $2
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
14 hg parents
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
15 hg unbundle -q .hg/strip-backup/*
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
16 rm .hg/strip-backup/*
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
17 }
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
18
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
19 hg init test
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
20 cd test
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
21
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
22 echo foo > bar
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
23 hg ci -Ama
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
24
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
25 echo more >> bar
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
26 hg ci -Amb
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
27
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
28 echo blah >> bar
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
29 hg ci -Amc
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
30
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
31 hg up 1
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
32 echo blah >> bar
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
33 hg ci -Amd
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
34
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
35 echo final >> bar
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
36 hg ci -Ame
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
37
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
38 hg log
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
39
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
40 teststrip 4 4
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
41 teststrip 4 3
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
42 teststrip 1 4
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
43 teststrip 4 2
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
44 teststrip 4 1
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
45 teststrip null 4
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
46
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
47 hg log
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
48
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
49 hg up -C 2
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
50 hg merge 4
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
51 echo % before strip of merge parent
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
52 hg parents
11200
12e5149cafca strip: improve full backup message
Matt Mackall <mpm@selenic.com>
parents: 8452
diff changeset
53 hg strip 4 2>&1 | hidebackup
6635
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
54 echo % after strip of merge parent
d90d83ebea9e mq: don't update the working copy on strip if parents aren't stripped
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
55 hg parents
11637
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
56
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
57 #strip of applied mq should cleanup status file
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
58 hg up -C 3
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
59 echo fooagain >> bar
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
60 hg ci -mf
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
61 hg qimport -r tip:2
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
62 echo % applied patches before strip
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
63 hg qapplied
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
64 echo % stripping revision in queue
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
65 hg strip 3 | hidebackup
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
66 echo % applied patches after stripping rev in queue
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
67 hg qapplied
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
68 echo % stripping ancestor of queue
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
69 hg strip 1 | hidebackup
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
70 echo % applied patches after stripping ancestor of queue
64f284da1278 mq: cleanup status if applied mq is stripped (issue1881)
Vishakh H <vsh426@gmail.com>
parents: 11208
diff changeset
71 hg qapplied