Show More
@@ -1,67 +1,76 b'' | |||
|
1 | #!/bin/sh | |
|
2 | 1 | |
|
3 | cat > writepatterns.py <<EOF | |
|
4 | import sys | |
|
2 | $ cat > writepatterns.py <<EOF | |
|
3 | > import sys | |
|
4 | > | |
|
5 | > path = sys.argv[1] | |
|
6 | > patterns = sys.argv[2:] | |
|
7 | > | |
|
8 | > fp = file(path, 'wb') | |
|
9 | > for pattern in patterns: | |
|
10 | > count = int(pattern[0:-1]) | |
|
11 | > char = pattern[-1] + '\n' | |
|
12 | > fp.write(char*count) | |
|
13 | > fp.close() | |
|
14 | > EOF | |
|
5 | 15 | |
|
6 | path = sys.argv[1] | |
|
7 | patterns = sys.argv[2:] | |
|
16 | prepare repo | |
|
8 | 17 | |
|
9 | fp = file(path, 'wb') | |
|
10 | for pattern in patterns: | |
|
11 | count = int(pattern[0:-1]) | |
|
12 | char = pattern[-1] + '\n' | |
|
13 | fp.write(char*count) | |
|
14 | fp.close() | |
|
15 | EOF | |
|
18 | $ hg init a | |
|
19 | $ cd a | |
|
20 | ||
|
21 | These initial lines of Xs were not in the original file used to generate | |
|
22 | the patch. So all the patch hunks need to be applied to a constant offset | |
|
23 | within this file. If the offset isn't tracked then the hunks can be | |
|
24 | applied to the wrong lines of this file. | |
|
16 | 25 | |
|
17 | echo % prepare repo | |
|
18 | hg init a | |
|
19 | cd a | |
|
26 | $ python ../writepatterns.py a 34X 10A 1B 10A 1C 10A 1B 10A 1D 10A 1B 10A 1E 10A 1B 10A | |
|
27 | $ hg commit -Am adda | |
|
28 | adding a | |
|
20 | 29 | |
|
21 | # These initial lines of Xs were not in the original file used to generate | |
|
22 | # the patch. So all the patch hunks need to be applied to a constant offset | |
|
23 | # within this file. If the offset isn't tracked then the hunks can be | |
|
24 | # applied to the wrong lines of this file. | |
|
25 | python ../writepatterns.py a 34X 10A 1B 10A 1C 10A 1B 10A 1D 10A 1B 10A 1E 10A 1B 10A | |
|
26 | hg commit -Am adda | |
|
30 | This is a cleaner patch generated via diff | |
|
31 | In this case it reproduces the problem when | |
|
32 | the output of hg export does not | |
|
33 | import patch | |
|
27 | 34 | |
|
28 | # This is a cleaner patch generated via diff | |
|
29 | # In this case it reproduces the problem when | |
|
30 | # the output of hg export does not | |
|
31 | echo % import patch | |
|
32 | hg import -v -m 'b' -d '2 0' - <<EOF | |
|
33 | --- a/a 2009-12-08 19:26:17.000000000 -0800 | |
|
34 | +++ b/a 2009-12-08 19:26:17.000000000 -0800 | |
|
35 | @@ -9,7 +9,7 @@ | |
|
36 | A | |
|
37 | A | |
|
38 | B | |
|
39 | -A | |
|
40 | +a | |
|
41 | A | |
|
42 | A | |
|
43 | A | |
|
44 | @@ -53,7 +53,7 @@ | |
|
45 | A | |
|
46 | A | |
|
47 | B | |
|
48 | -A | |
|
49 | +a | |
|
50 | A | |
|
51 | A | |
|
52 | A | |
|
53 | @@ -75,7 +75,7 @@ | |
|
54 | A | |
|
55 | A | |
|
56 | B | |
|
57 | -A | |
|
58 | +a | |
|
59 | A | |
|
60 | A | |
|
61 | A | |
|
62 | EOF | |
|
35 | $ hg import -v -m 'b' -d '2 0' - <<EOF | |
|
36 | > --- a/a 2009-12-08 19:26:17.000000000 -0800 | |
|
37 | > +++ b/a 2009-12-08 19:26:17.000000000 -0800 | |
|
38 | > @@ -9,7 +9,7 @@ | |
|
39 | > A | |
|
40 | > A | |
|
41 | > B | |
|
42 | > -A | |
|
43 | > +a | |
|
44 | > A | |
|
45 | > A | |
|
46 | > A | |
|
47 | > @@ -53,7 +53,7 @@ | |
|
48 | > A | |
|
49 | > A | |
|
50 | > B | |
|
51 | > -A | |
|
52 | > +a | |
|
53 | > A | |
|
54 | > A | |
|
55 | > A | |
|
56 | > @@ -75,7 +75,7 @@ | |
|
57 | > A | |
|
58 | > A | |
|
59 | > B | |
|
60 | > -A | |
|
61 | > +a | |
|
62 | > A | |
|
63 | > A | |
|
64 | > A | |
|
65 | > EOF | |
|
66 | applying patch from stdin | |
|
67 | patching file a | |
|
68 | Hunk #1 succeeded at 43 (offset 34 lines). | |
|
69 | Hunk #2 succeeded at 87 (offset 34 lines). | |
|
70 | Hunk #3 succeeded at 109 (offset 34 lines). | |
|
71 | a | |
|
63 | 72 | |
|
64 |
|
|
|
65 | python ../writepatterns.py aref 34X 10A 1B 1a 9A 1C 10A 1B 10A 1D 10A 1B 1a 9A 1E 10A 1B 1a 9A | |
|
66 | diff aref a | |
|
73 | compare imported changes against reference file | |
|
67 | 74 | |
|
75 | $ python ../writepatterns.py aref 34X 10A 1B 1a 9A 1C 10A 1B 10A 1D 10A 1B 1a 9A 1E 10A 1B 1a 9A | |
|
76 | $ diff aref a |
|
1 | NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now