172 for f, n in m1.iteritems(): |
172 for f, n in m1.iteritems(): |
173 if partial and not partial(f): |
173 if partial and not partial(f): |
174 continue |
174 continue |
175 if f in m2: |
175 if f in m2: |
176 rflags = fmerge(f, f, f) |
176 rflags = fmerge(f, f, f) |
177 # are files different? |
177 a = ma.get(f, nullid) |
178 if n != m2[f]: |
178 if n == m2[f] or m2[f] == a: # same or local newer |
179 a = ma.get(f, nullid) |
179 if m1.flags(f) != rflags: |
180 # is remote's version newer? |
180 act("update permissions", "e", f, rflags) |
181 if m2[f] != a: |
181 elif n == a: # remote newer |
182 # are both different from the ancestor? |
182 act("remote is newer", "g", f, rflags) |
183 if n != a: |
183 else: # both changed |
184 act("versions differ", "m", f, f, f, rflags, False) |
184 act("versions differ", "m", f, f, f, rflags, False) |
185 else: |
185 elif f in copied: # files we'll deal with on m2 side |
186 act("remote is newer", "g", f, rflags) |
186 pass |
187 continue |
|
188 # contents don't need updating, check mode bits |
|
189 if m1.flags(f) != rflags: |
|
190 act("update permissions", "e", f, rflags) |
|
191 elif f in copied: |
|
192 continue |
|
193 elif f in copy: |
187 elif f in copy: |
194 f2 = copy[f] |
188 f2 = copy[f] |
195 if f2 not in m2: # directory rename |
189 if f2 not in m2: # directory rename |
196 act("remote renamed directory to " + f2, "d", |
190 act("remote renamed directory to " + f2, "d", |
197 f, None, f2, m1.flags(f)) |
191 f, None, f2, m1.flags(f)) |
213 act("other deleted", "r", f) |
207 act("other deleted", "r", f) |
214 |
208 |
215 for f, n in m2.iteritems(): |
209 for f, n in m2.iteritems(): |
216 if partial and not partial(f): |
210 if partial and not partial(f): |
217 continue |
211 continue |
218 if f in m1: |
212 if f in m1 or f in copied: # files already visited |
219 continue |
|
220 if f in copied: |
|
221 continue |
213 continue |
222 if f in copy: |
214 if f in copy: |
223 f2 = copy[f] |
215 f2 = copy[f] |
224 if f2 not in m1: # directory rename |
216 if f2 not in m1: # directory rename |
225 act("local renamed directory to " + f2, "d", |
217 act("local renamed directory to " + f2, "d", |