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
|