comparison mercurial/merge.py @ 2980:54d85098fb82

merge: make unresolved a counter
author Matt Mackall <mpm@selenic.com>
date Tue, 22 Aug 2006 19:39:54 -0500
parents 92a0c2200e41
children 1b738357bba9
comparison
equal deleted inserted replaced
2979:92a0c2200e41 2980:54d85098fb82
231 else: xxp2 = xp2 231 else: xxp2 = xp2
232 232
233 repo.hook('preupdate', throw=True, parent1=xp1, parent2=xxp2) 233 repo.hook('preupdate', throw=True, parent1=xp1, parent2=xxp2)
234 234
235 # update files 235 # update files
236 unresolved = [] 236 updated, merged, removed, unresolved = 0, 0, 0, 0
237 updated, merged, removed = 0, 0, 0
238 files = action.keys() 237 files = action.keys()
239 files.sort() 238 files.sort()
240 for f in files: 239 for f in files:
241 flag, my, other = action[f] 240 flag, my, other = action[f]
242 if f[0] == "/": 241 if f[0] == "/":
252 (f, inst.strerror)) 251 (f, inst.strerror))
253 removed +=1 252 removed +=1
254 elif other: 253 elif other:
255 repo.ui.status(_("merging %s\n") % f) 254 repo.ui.status(_("merging %s\n") % f)
256 if merge3(repo, f, my, other, xp1, xp2): 255 if merge3(repo, f, my, other, xp1, xp2):
257 unresolved.append(f) 256 unresolved += 1
258 util.set_exec(repo.wjoin(f), flag) 257 util.set_exec(repo.wjoin(f), flag)
259 merged += 1 258 merged += 1
260 else: 259 else:
261 repo.ui.note(_("getting %s\n") % f) 260 repo.ui.note(_("getting %s\n") % f)
262 t = repo.file(f).read(my) 261 t = repo.file(f).read(my)
297 f_len = fl.size(fl.rev(other)) 296 f_len = fl.size(fl.rev(other))
298 repo.dirstate.update([f], 'n', st_size=f_len, st_mtime=-1) 297 repo.dirstate.update([f], 'n', st_size=f_len, st_mtime=-1)
299 298
300 if show_stats: 299 if show_stats:
301 stats = ((updated, _("updated")), 300 stats = ((updated, _("updated")),
302 (merged - len(unresolved), _("merged")), 301 (merged - unresolved, _("merged")),
303 (removed, _("removed")), 302 (removed, _("removed")),
304 (len(unresolved), _("unresolved"))) 303 (unresolved, _("unresolved")))
305 note = ", ".join([_("%d files %s") % s for s in stats]) 304 note = ", ".join([_("%d files %s") % s for s in stats])
306 repo.ui.status("%s\n" % note) 305 repo.ui.status("%s\n" % note)
307 if not partial: 306 if not partial:
308 if branchmerge: 307 if branchmerge:
309 if unresolved: 308 if unresolved:
317 repo.ui.status(_("(branch merge, don't forget to commit)\n")) 316 repo.ui.status(_("(branch merge, don't forget to commit)\n"))
318 elif unresolved: 317 elif unresolved:
319 repo.ui.status(_("There are unresolved merges with" 318 repo.ui.status(_("There are unresolved merges with"
320 " locally modified files.\n")) 319 " locally modified files.\n"))
321 320
322 repo.hook('update', parent1=xp1, parent2=xxp2, error=len(unresolved)) 321 repo.hook('update', parent1=xp1, parent2=xxp2, error=unresolved)
323 return len(unresolved) 322 return unresolved
324 323