mercurial/manifest.py
changeset 39984 731961d972ba
parent 39983 3cacb74c3a22
child 39987 e22016e83c1e
equal deleted inserted replaced
39983:3cacb74c3a22 39984:731961d972ba
  1112         def _diff(t1, t2):
  1112         def _diff(t1, t2):
  1113             if t1._node == t2._node and not t1._dirty and not t2._dirty:
  1113             if t1._node == t2._node and not t1._dirty and not t2._dirty:
  1114                 return
  1114                 return
  1115             t1._load()
  1115             t1._load()
  1116             t2._load()
  1116             t2._load()
  1117             # OPT: do we need to load everything?
  1117             toloadlazy = []
  1118             t1._loadalllazy()
  1118             for d, v1 in t1._lazydirs.iteritems():
  1119             t2._loadalllazy()
  1119                 v2 = t2._lazydirs.get(d)
       
  1120                 if not v2 or v2[1] != v1[1]:
       
  1121                     toloadlazy.append(d)
       
  1122             for d, v1 in t2._lazydirs.iteritems():
       
  1123                 if d not in t1._lazydirs:
       
  1124                     toloadlazy.append(d)
       
  1125 
       
  1126             for d in toloadlazy:
       
  1127                 t1._loadlazy(d)
       
  1128                 t2._loadlazy(d)
       
  1129 
  1120             for d, m1 in t1._dirs.iteritems():
  1130             for d, m1 in t1._dirs.iteritems():
  1121                 m2 = t2._dirs.get(d, emptytree)
  1131                 m2 = t2._dirs.get(d, emptytree)
  1122                 _diff(m1, m2)
  1132                 _diff(m1, m2)
  1123 
  1133 
  1124             for d, m2 in t2._dirs.iteritems():
  1134             for d, m2 in t2._dirs.iteritems():