comparison mercurial/merge.py @ 18332:6ba58ab719e5

merge: .hgsubstate is special as merge destination, not as merge source
author Mads Kiilerich <mads@kiilerich.com>
date Tue, 15 Jan 2013 01:05:12 +0100
parents e68cec5e28b0
children f6f23ecafc9b
comparison
equal deleted inserted replaced
18331:e68cec5e28b0 18332:6ba58ab719e5
340 # prescan for merges 340 # prescan for merges
341 for a in actions: 341 for a in actions:
342 f, m = a[:2] 342 f, m = a[:2]
343 if m == "m": # merge 343 if m == "m": # merge
344 f2, fd, flags, move = a[2:] 344 f2, fd, flags, move = a[2:]
345 if f == '.hgsubstate': # merged internally 345 if fd == '.hgsubstate': # merged internally
346 continue 346 continue
347 repo.ui.debug("preserving %s for resolve of %s\n" % (f, fd)) 347 repo.ui.debug("preserving %s for resolve of %s\n" % (f, fd))
348 fcl = wctx[f] 348 fcl = wctx[f]
349 fco = mctx[f2] 349 fco = mctx[f2]
350 if mctx == actx: # backwards, use working dir parent as ancestor 350 if mctx == actx: # backwards, use working dir parent as ancestor
386 except OSError, inst: 386 except OSError, inst:
387 repo.ui.warn(_("update failed to remove %s: %s!\n") % 387 repo.ui.warn(_("update failed to remove %s: %s!\n") %
388 (f, inst.strerror)) 388 (f, inst.strerror))
389 removed += 1 389 removed += 1
390 elif m == "m": # merge 390 elif m == "m": # merge
391 if f == '.hgsubstate': # subrepo states need updating 391 if fd == '.hgsubstate': # subrepo states need updating
392 subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx), 392 subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx),
393 overwrite) 393 overwrite)
394 continue 394 continue
395 f2, fd, flags, move = a[2:] 395 f2, fd, flags, move = a[2:]
396 audit(fd) 396 audit(fd)