annotate tests/test-eol-update.t @ 20742:3681de20b0a7

parsers: fail fast if Python has wrong minor version (issue4110) This change causes an informative ImportError to be raised when importing the parsers extension module if the minor version of the currently-running Python interpreter doesn't match that of the Python used when compiling the extension module. This change also exposes a parsers.versionerrortext constant in the C implementation of the module. Its presence can be used to determine whether this behavior is present in a version of the module. The value of the constant is the leading text of the ImportError raised and is set to "Python minor version mismatch". Here is an example of what the new error looks like: Traceback (most recent call last): File "test.py", line 1, in <module> import mercurial.parsers ImportError: Python minor version mismatch: The Mercurial extension modules were compiled with Python 2.7.6, but Mercurial is currently using Python with sys.hexversion=33883888: Python 2.5.6 (r256:88840, Nov 18 2012, 05:37:10) [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] at: /opt/local/Library/Frameworks/Python.framework/Versions/2.5/Resources/ Python.app/Contents/MacOS/Python The reason for raising an error in this scenario is that Python's C API is known not to be compatible from minor version to minor version, even if sys.api_version is the same. See for example this Python bug report about incompatibilities between 2.5 and 2.6+: http://bugs.python.org/issue8118 These incompatibilities can cause Mercurial to break in mysterious, unforeseen ways. For example, when Mercurial compiled with Python 2.7 was run with 2.5, the following crash occurred when running "hg status": http://bz.selenic.com/show_bug.cgi?id=4110 After this crash was fixed, running with Python 2.5 no longer crashes, but the following puzzling behavior still occurs: $ hg status ... File ".../mercurial/changelog.py", line 123, in __init__ revlog.revlog.__init__(self, opener, "00changelog.i") File ".../mercurial/revlog.py", line 251, in __init__ d = self._io.parseindex(i, self._inline) File ".../mercurial/revlog.py", line 158, in parseindex index, cache = parsers.parse_index2(data, inline) TypeError: data is not a string which can be reproduced more simply with: import mercurial.parsers as parsers parsers.parse_index2("", True) Both the crash and the TypeError occurred because the Python C API's PyString_Check() returns the wrong value when the C header files from Python 2.7 are run with Python 2.5. This is an example of an incompatibility of the sort mentioned in the Python bug report above. Failing fast with an informative error message results in a better user experience in cases like the above. The information in the ImportError also simplifies troubleshooting for those on Mercurial mailing lists, the bug tracker, etc. This patch only adds the version check to parsers.c, which is sufficient to affect command-line commands like "hg status" and "hg summary". An idea for a future improvement is to move the version-checking C code to a more central location, and have it run when importing all Mercurial extension modules and not just parsers.c.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Wed, 04 Dec 2013 20:38:27 -0800
parents 43b3b761d9d1
children a819b5777727
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
1 Test EOL update
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
2
13519
43b3b761d9d1 tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents: 12943
diff changeset
3 $ cat >> $HGRCPATH <<EOF
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
4 > [diff]
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
5 > git = 1
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
6 > EOF
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
7
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
8 $ seteol () {
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
9 > if [ $1 = "LF" ]; then
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
10 > EOL='\n'
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
11 > else
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
12 > EOL='\r\n'
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
13 > fi
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
14 > }
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
15
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
16 $ makerepo () {
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
17 > echo
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
18 > echo "# ==== setup repository ===="
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
19 > echo '% hg init'
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
20 > hg init repo
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
21 > cd repo
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
22 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
23 > cat > .hgeol <<EOF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
24 > [patterns]
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
25 > **.txt = LF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
26 > EOF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
27 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
28 > printf "first\nsecond\nthird\n" > a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
29 > hg commit --addremove -m 'LF commit'
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
30 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
31 > cat > .hgeol <<EOF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
32 > [patterns]
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
33 > **.txt = CRLF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
34 > EOF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
35 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
36 > printf "first\r\nsecond\r\nthird\r\n" > a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
37 > hg commit -m 'CRLF commit'
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
38 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
39 > cd ..
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
40 > }
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
41
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
42 $ dotest () {
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
43 > seteol $1
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
44 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
45 > echo
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
46 > echo "% hg clone repo repo-$1"
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
47 > hg clone --noupdate repo repo-$1
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
48 > cd repo-$1
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
49 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
50 > cat > .hg/hgrc <<EOF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
51 > [extensions]
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
52 > eol =
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
53 > EOF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
54 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
55 > hg update
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
56 >
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
57 > echo '% a.txt (before)'
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
58 > cat a.txt
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
59 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
60 > printf "first${EOL}third${EOL}" > a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
61 >
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
62 > echo '% a.txt (after)'
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
63 > cat a.txt
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
64 > echo '% hg diff'
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
65 > hg diff
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
66 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
67 > echo '% hg update 0'
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
68 > hg update 0
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
69 >
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
70 > echo '% a.txt'
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
71 > cat a.txt
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
72 > echo '% hg diff'
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
73 > hg diff
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
74 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
75 >
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
76 > cd ..
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
77 > rm -r repo-$1
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
78 > }
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
79
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
80 $ makerepo
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
81
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
82 # ==== setup repository ====
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
83 % hg init
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
84 adding .hgeol
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
85 adding a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
86 $ dotest LF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
87
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
88 % hg clone repo repo-LF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
89 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
90 % a.txt (before)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
91 first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
92 second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
93 third\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
94 % a.txt (after)
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
95 first
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
96 third
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
97 % hg diff
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
98 diff --git a/a.txt b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
99 --- a/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
100 +++ b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
101 @@ -1,3 +1,2 @@
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
102 first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
103 -second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
104 third\r (esc)
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
105 % hg update 0
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
106 merging a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
107 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
108 % a.txt
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
109 first
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
110 third
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
111 % hg diff
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
112 diff --git a/a.txt b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
113 --- a/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
114 +++ b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
115 @@ -1,3 +1,2 @@
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
116 first
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
117 -second
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
118 third
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
119 $ dotest CRLF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
120
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
121 % hg clone repo repo-CRLF
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
122 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
123 % a.txt (before)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
124 first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
125 second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
126 third\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
127 % a.txt (after)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
128 first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
129 third\r (esc)
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
130 % hg diff
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
131 diff --git a/a.txt b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
132 --- a/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
133 +++ b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
134 @@ -1,3 +1,2 @@
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
135 first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
136 -second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
137 third\r (esc)
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
138 % hg update 0
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
139 merging a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
140 1 files updated, 1 files merged, 0 files removed, 0 files unresolved
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12424
diff changeset
141 % a.txt
12424
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
142 first
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
143 third
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
144 % hg diff
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
145 diff --git a/a.txt b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
146 --- a/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
147 +++ b/a.txt
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
148 @@ -1,3 +1,2 @@
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
149 first
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
150 -second
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
151 third
1aa7ba33f6a9 tests: unify test-eol-update
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
152 $ rm -r repo