equal
deleted
inserted
replaced
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(): |