Show More
@@ -180,8 +180,14 def _unidiff(t1, t2, l1, l2, opts=defaul | |||
|
180 | 180 | # the file more than once. |
|
181 | 181 | lastfunc[0] = astart |
|
182 | 182 | |
|
183 | yield "@@ -%d,%d +%d,%d @@%s\n" % (astart + 1, alen, | |
|
184 | bstart + 1, blen, func) | |
|
183 | # zero-length hunk ranges report their start line as one less | |
|
184 | if alen: | |
|
185 | astart += 1 | |
|
186 | if blen: | |
|
187 | bstart += 1 | |
|
188 | ||
|
189 | yield "@@ -%d,%d +%d,%d @@%s\n" % (astart, alen, | |
|
190 | bstart, blen, func) | |
|
185 | 191 | for x in delta: |
|
186 | 192 | yield x |
|
187 | 193 | for x in xrange(a2, aend): |
@@ -723,11 +723,10 class patchfile(object): | |||
|
723 | 723 | |
|
724 | 724 | # fast case first, no offsets, no fuzz |
|
725 | 725 | old = h.old() |
|
726 | # patch starts counting at 1 unless we are adding the file | |
|
727 | if h.starta == 0: | |
|
728 | start = 0 | |
|
729 | else: | |
|
730 | start = h.starta + self.offset - 1 | |
|
726 | start = h.starta + self.offset | |
|
727 | # zero length hunk ranges already have their start decremented | |
|
728 | if h.lena: | |
|
729 | start -= 1 | |
|
731 | 730 | orig_start = start |
|
732 | 731 | # if there's skew we want to emit the "(offset %d lines)" even |
|
733 | 732 | # when the hunk cleanly applies at start + skew, so skip the |
@@ -89,23 +89,65 invalid diff.unified | |||
|
89 | 89 | abort: diff context lines count must be an integer, not 'foo' |
|
90 | 90 | [255] |
|
91 | 91 | |
|
92 | test off-by-one error with diff -p | |
|
92 | 0 lines of context hunk header matches gnu diff hunk header | |
|
93 | ||
|
94 | $ hg init diffzero | |
|
95 | $ cd diffzero | |
|
96 | $ cat > f1 << EOF | |
|
97 | > c2 | |
|
98 | > c4 | |
|
99 | > c5 | |
|
100 | > EOF | |
|
101 | $ hg commit -Am0 | |
|
102 | adding f1 | |
|
103 | ||
|
104 | $ cat > f2 << EOF | |
|
105 | > c1 | |
|
106 | > c2 | |
|
107 | > c3 | |
|
108 | > c4 | |
|
109 | > EOF | |
|
110 | $ diff -U0 f1 f2 | |
|
111 | --- f1 * (glob) | |
|
112 | +++ f2 * (glob) | |
|
113 | @@ -0,0 +1 @@ | |
|
114 | +c1 | |
|
115 | @@ -1,0 +3 @@ | |
|
116 | +c3 | |
|
117 | @@ -3 +4,0 @@ | |
|
118 | -c5 | |
|
119 | [1] | |
|
93 | 120 | |
|
94 | $ hg init diffp | |
|
95 | $ cd diffp | |
|
96 | $ echo a > a | |
|
97 | $ hg ci -Ama | |
|
98 | adding a | |
|
99 | $ rm a | |
|
100 | $ echo b > a | |
|
101 | $ echo a >> a | |
|
102 | $ echo c >> a | |
|
103 | $ hg diff -U0 -p --nodates | |
|
104 | diff -r cb9a9f314b8b a | |
|
105 | --- a/a | |
|
106 | +++ b/a | |
|
107 | @@ -1,0 +1,1 @@ | |
|
108 | +b | |
|
109 | @@ -2,0 +3,1 @@ a | |
|
110 | +c | |
|
121 | $ mv f2 f1 | |
|
122 | $ hg diff -U0 --nodates | |
|
123 | diff -r 55d8ff78db23 f1 | |
|
124 | --- a/f1 | |
|
125 | +++ b/f1 | |
|
126 | @@ -0,0 +1,1 @@ | |
|
127 | +c1 | |
|
128 | @@ -1,0 +3,1 @@ | |
|
129 | +c3 | |
|
130 | @@ -3,1 +4,0 @@ | |
|
131 | -c5 | |
|
111 | 132 | |
|
133 | $ hg diff -U0 --nodates --git | |
|
134 | diff --git a/f1 b/f1 | |
|
135 | --- a/f1 | |
|
136 | +++ b/f1 | |
|
137 | @@ -0,0 +1,1 @@ | |
|
138 | +c1 | |
|
139 | @@ -1,0 +3,1 @@ | |
|
140 | +c3 | |
|
141 | @@ -3,1 +4,0 @@ | |
|
142 | -c5 | |
|
143 | ||
|
144 | $ hg diff -U0 --nodates -p | |
|
145 | diff -r 55d8ff78db23 f1 | |
|
146 | --- a/f1 | |
|
147 | +++ b/f1 | |
|
148 | @@ -0,0 +1,1 @@ | |
|
149 | +c1 | |
|
150 | @@ -1,0 +3,1 @@ c2 | |
|
151 | +c3 | |
|
152 | @@ -3,1 +4,0 @@ c4 | |
|
153 | -c5 |
@@ -958,3 +958,39 diff lines looking like headers | |||
|
958 | 958 | $ diff want have |
|
959 | 959 | $ cd .. |
|
960 | 960 | |
|
961 | import a unified diff with no lines of context (diff -U0) | |
|
962 | ||
|
963 | $ hg init diffzero | |
|
964 | $ cd diffzero | |
|
965 | $ cat > f << EOF | |
|
966 | > c2 | |
|
967 | > c4 | |
|
968 | > c5 | |
|
969 | > EOF | |
|
970 | $ hg commit -Am0 | |
|
971 | adding f | |
|
972 | ||
|
973 | $ hg import --no-commit - << EOF | |
|
974 | > # HG changeset patch | |
|
975 | > # User test | |
|
976 | > # Date 0 0 | |
|
977 | > # Node ID f4974ab632f3dee767567b0576c0ec9a4508575c | |
|
978 | > # Parent 8679a12a975b819fae5f7ad3853a2886d143d794 | |
|
979 | > 1 | |
|
980 | > diff -r 8679a12a975b -r f4974ab632f3 f | |
|
981 | > --- a/f Thu Jan 01 00:00:00 1970 +0000 | |
|
982 | > +++ b/f Thu Jan 01 00:00:00 1970 +0000 | |
|
983 | > @@ -0,0 +1,1 @@ | |
|
984 | > +c1 | |
|
985 | > @@ -1,0 +3,1 @@ | |
|
986 | > +c3 | |
|
987 | > @@ -3,1 +4,0 @@ | |
|
988 | > -c5 | |
|
989 | > EOF | |
|
990 | applying patch from stdin | |
|
991 | ||
|
992 | $ cat f | |
|
993 | c1 | |
|
994 | c2 | |
|
995 | c3 | |
|
996 | c4 |
General Comments 0
You need to be logged in to leave comments.
Login now