- SourceManager: moved source deletion before creation
authorMartin Vidner <mvidner@suse.cz>
Thu, 11 May 2006 08:50:06 +0000 (08:50 +0000)
committerMartin Vidner <mvidner@suse.cz>
Thu, 11 May 2006 08:50:06 +0000 (08:50 +0000)
  so that we can recreate a deleted one (#174295)
- r3362

package/libzypp.changes
zypp/SourceManager.cc

index cd14b70..2f388e9 100644 (file)
@@ -1,8 +1,11 @@
 -------------------------------------------------------------------
-Thu May 11 10:40:21 CEST 2006 - mvidner@suse.cz
+Thu May 11 10:49:36 CEST 2006 - mvidner@suse.cz
 
+- SourceManager: moved source deletion before creation
+  so that we can recreate a deleted one (#174295)
 - removed dead code dealing with known_caches from SourceManager::store
   (see r3195)
+- r3362
 
 -------------------------------------------------------------------
 Thu May 11 10:15:14 CEST 2006 - jsrain@suse.cz
index 0a00ea0..89bfe85 100644 (file)
@@ -267,6 +267,17 @@ namespace zypp
        MIL << "Created..." << topdir << std::endl;
     }
 
+    // delete before modifying and creating
+    // so that we can recreate a deleted one (#174295)
+    for( SourceMap::iterator it = _deleted_sources.begin(); it != _deleted_sources.end(); it++)
+    {
+       MIL << "Deleting source " << it->second << " from persistent store" << endl;
+       store.deleteSource( it->second.alias() );
+       filesystem::recursive_rmdir( it->second.cacheDir() );
+    }
+
+    _deleted_sources.clear();
+
     for( SourceMap::iterator it = _sources.begin(); it != _sources.end(); it++)
     {
        storage::PersistentStorage::SourceData descr;
@@ -304,15 +315,6 @@ namespace zypp
        store.storeSource( descr );
     }
 
-    for( SourceMap::iterator it = _deleted_sources.begin(); it != _deleted_sources.end(); it++)
-    {
-       MIL << "Deleting source " << it->second << " from persistent store" << endl;
-       store.deleteSource( it->second.alias() );
-       filesystem::recursive_rmdir( it->second.cacheDir() );
-    }
-
-    _deleted_sources.clear();
-
     MIL << "SourceManager store done." << endl;
   }