comparison mercurial/localrepo.py @ 21472:77dbd05471cd

localrepo: use _buildstatus from context
author Sean Farley <sean.michael.farley@gmail.com>
date Mon, 21 Apr 2014 21:36:14 -0500
parents 1af854808a3c
children c6976a4a39db
comparison
equal deleted inserted replaced
21471:90aff492dc4a 21472:77dbd05471cd
1552 r = [[], [], [], [], [], [], []] 1552 r = [[], [], [], [], [], [], []]
1553 if working: # we need to scan the working dir 1553 if working: # we need to scan the working dir
1554 r = ctx2._dirstatestatus(match=match, ignored=listignored, 1554 r = ctx2._dirstatestatus(match=match, ignored=listignored,
1555 clean=listclean, unknown=listunknown) 1555 clean=listclean, unknown=listunknown)
1556 1556
1557 if not parentworking:
1558 r = ctx2._buildstatus(ctx1, r, match, listignored, listclean,
1559 listunknown)
1560
1557 modified, added, removed, deleted, unknown, ignored, clean = r 1561 modified, added, removed, deleted, unknown, ignored, clean = r
1558
1559 if not parentworking:
1560 mf1 = ctx1._manifestmatches(match, r)
1561 mf2 = ctx2._manifestmatches(match, r)
1562
1563 modified, added, clean = [], [], []
1564 deleted, unknown, ignored = r[3], [], []
1565 withflags = mf1.withflags() | mf2.withflags()
1566 for fn, mf2node in mf2.iteritems():
1567 if fn in mf1:
1568 if (fn not in deleted and
1569 ((fn in withflags and mf1.flags(fn) != mf2.flags(fn)) or
1570 (mf1[fn] != mf2node and
1571 (mf2node or ctx1[fn].cmp(ctx2[fn]))))):
1572 modified.append(fn)
1573 elif listclean:
1574 clean.append(fn)
1575 del mf1[fn]
1576 elif fn not in deleted:
1577 added.append(fn)
1578 removed = mf1.keys()
1579 1562
1580 if working: 1563 if working:
1581 modified = ctx2._filtersuspectsymlink(modified) 1564 modified = ctx2._filtersuspectsymlink(modified)
1582 1565
1583 if reversed: 1566 if reversed: