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