comparison tests/test-import-context.t @ 12825:61f48581d8ef stable

Test applying context diffs
author Patrick Mezard <pmezard@gmail.com>
date Sun, 24 Oct 2010 12:56:38 +0200
parents
children f2719b387380
comparison
equal deleted inserted replaced
12824:93d6559a9cbc 12825:61f48581d8ef
1 Test applying context diffs
2
3 $ cat > writepatterns.py <<EOF
4 > import sys
5 >
6 > path = sys.argv[1]
7 > lasteol = sys.argv[2] == '1'
8 > patterns = sys.argv[3:]
9 >
10 > fp = file(path, 'wb')
11 > for i, pattern in enumerate(patterns):
12 > count = int(pattern[0:-1])
13 > char = pattern[-1] + '\n'
14 > if not lasteol and i == len(patterns) - 1:
15 > fp.write((char*count)[:-1])
16 > else:
17 > fp.write(char*count)
18 > fp.close()
19 > EOF
20 $ cat > cat.py <<EOF
21 > import sys
22 > sys.stdout.write(repr(file(sys.argv[1], 'rb').read()) + '\n')
23 > EOF
24
25 Initialize the test repository
26
27 $ hg init repo
28 $ cd repo
29 $ python ../writepatterns.py a 0 5A 1B 5C 1D
30 $ python ../writepatterns.py b 1 1A 1B
31 $ python ../writepatterns.py c 1 5A
32 $ python ../writepatterns.py d 1 5A 1B
33 $ hg add
34 adding a
35 adding b
36 adding c
37 adding d
38 $ hg ci -m addfiles
39
40 Add file, missing a last end of line
41
42 $ hg import --no-commit - <<EOF
43 > *** /dev/null 2010-10-16 18:05:49.000000000 +0200
44 > --- b/newnoeol 2010-10-16 18:23:26.000000000 +0200
45 > ***************
46 > *** 0 ****
47 > --- 1,2 ----
48 > + a
49 > + b
50 > \ No newline at end of file
51 > *** a/a Sat Oct 16 16:35:51 2010
52 > --- b/a Sat Oct 16 16:35:51 2010
53 > ***************
54 > *** 3,12 ****
55 > A
56 > A
57 > A
58 > ! B
59 > C
60 > C
61 > C
62 > C
63 > C
64 > ! D
65 > \ No newline at end of file
66 > --- 3,13 ----
67 > A
68 > A
69 > A
70 > ! E
71 > C
72 > C
73 > C
74 > C
75 > C
76 > ! F
77 > ! F
78 >
79 > *** a/b 2010-10-16 18:40:38.000000000 +0200
80 > --- /dev/null 2010-10-16 18:05:49.000000000 +0200
81 > ***************
82 > *** 1,2 ****
83 > - A
84 > - B
85 > --- 0 ----
86 > *** a/c Sat Oct 16 21:34:26 2010
87 > --- b/c Sat Oct 16 21:34:27 2010
88 > ***************
89 > *** 3,5 ****
90 > --- 3,7 ----
91 > A
92 > A
93 > A
94 > + B
95 > + B
96 > *** a/d Sat Oct 16 21:47:20 2010
97 > --- b/d Sat Oct 16 21:47:22 2010
98 > ***************
99 > *** 2,6 ****
100 > A
101 > A
102 > A
103 > - A
104 > - B
105 > --- 2,4 ----
106 > EOF
107 applying patch from stdin
108 $ hg st
109 M a
110 M c
111 M d
112 A newnoeol
113 R b
114
115 What's in a
116
117 $ python ../cat.py a
118 'A\nA\nA\nA\nA\nE\nC\nC\nC\nC\nC\nF\nF\n'
119 $ python ../cat.py newnoeol
120 'a\nb'
121 $ python ../cat.py c
122 'A\nA\nA\nA\nA\nB\nB\n'
123 $ python ../cat.py d
124 'A\nA\nA\nA\n'
125