12825
|
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 |
|