In order to correctly handl the case of target caches that don't have complete eclass...
authorZac Medico <zmedico@gentoo.org>
Sat, 3 Feb 2007 12:05:01 +0000 (12:05 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 3 Feb 2007 12:05:01 +0000 (12:05 -0000)
svn path=/main/branches/2.1.2/; revision=5881

pym/cache/util.py

index 6393deef536cb0880294f1393f6d1e925578cc73..ac09c132c4c18141e66ed9c46aa928a9c1e6ee98 100644 (file)
@@ -39,7 +39,9 @@ def mirror_cache(valid_nodes_iterable, src_cache, trg_cache, eclass_cache=None,
                trg = None
                try:
                        trg = trg_cache[x]
-                       if long(trg["_mtime_"]) == long(entry["_mtime_"]) and eclass_cache.is_eclass_data_valid(trg["_eclasses_"]):
+                       if long(trg["_mtime_"]) == long(entry["_mtime_"]) and \
+                               eclass_cache.is_eclass_data_valid(trg["_eclasses_"]) and \
+                               set(trg["_eclasses_"]) == set(entry["_eclasses_"]):
                                write_it = False
                except (cache_errors.CacheError, KeyError):
                        pass