1 |
Author: zmedico |
2 |
Date: 2008-04-14 00:03:00 +0000 (Mon, 14 Apr 2008) |
3 |
New Revision: 9881 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/portage/sets/files.py |
7 |
Log: |
8 |
Fix buggy logic in WorldSet.load() that causes it to discard all of |
9 |
it's atoms in some cases (leading to loss of the whole world file). |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/portage/sets/files.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/portage/sets/files.py 2008-04-13 23:21:13 UTC (rev 9880) |
15 |
+++ main/trunk/pym/portage/sets/files.py 2008-04-14 00:03:00 UTC (rev 9881) |
16 |
@@ -185,6 +185,7 @@ |
17 |
def load(self): |
18 |
atoms = [] |
19 |
nonatoms = [] |
20 |
+ atoms_changed = False |
21 |
# load atoms and non-atoms from different files so the worldfile is |
22 |
# backwards-compatible with older versions and other PMs, even though |
23 |
# it's supposed to be private state data :/ |
24 |
@@ -205,11 +206,12 @@ |
25 |
data = {} |
26 |
atoms = data.keys() |
27 |
self._mtime = mtime |
28 |
+ atoms_changed = True |
29 |
try: |
30 |
mtime = os.stat(self._filename2).st_mtime |
31 |
except (OSError, IOError): |
32 |
mtime = None |
33 |
- if (not self._loaded or self._mtime2 != mtime): |
34 |
+ if (not self._loaded or self._mtime2 != mtime or atoms_changed): |
35 |
try: |
36 |
data, errors = self.loader2.load() |
37 |
for fname in errors: |
38 |
@@ -222,7 +224,8 @@ |
39 |
data = {} |
40 |
nonatoms = data.keys() |
41 |
self._mtime2 = mtime |
42 |
- if self._atoms != atoms or self._nonatoms != nonatoms: |
43 |
+ atoms_changed = True |
44 |
+ if atoms_changed: |
45 |
self._setAtoms(atoms+nonatoms) |
46 |
|
47 |
def _ensure_dirs(self): |
48 |
|
49 |
-- |
50 |
gentoo-commits@l.g.o mailing list |