[entropy.server.db] use revision from package data if none is forced

this avoids the generation of packages with lesser revisions during
package moves from a repo to another.
If we inherit the revision number, we should try to keep it as long
as there are no packages with greater revision number in the target
repository.
This commit is contained in:
Fabio Erculiani
2013-11-18 15:10:17 +01:00
parent 08e4b487bf
commit 9e2a324e83
+8 -3
View File
@@ -252,8 +252,11 @@ class ServerPackagesRepository(CachedRepository):
pkg_data['category'], pkg_data['name'], pkg_data['version'],
pkg_data['versiontag'])
increase_revision = False
if revision is None:
current_rev = -1
current_rev = max(
pkg_data.get('revision', 0),
0)
else:
current_rev = revision
@@ -263,14 +266,16 @@ class ServerPackagesRepository(CachedRepository):
if revision is None:
pkg_revision = self.retrieveRevision(package_id)
current_rev = max(pkg_revision, current_rev)
if pkg_revision >= current_rev:
current_rev = pkg_revision
increase_revision = True
manual_deps |= self.retrieveManualDependencies(package_id,
resolve_conditional_deps = False)
# injected packages wouldn't be removed by addPackage
self.removePackage(package_id)
if revision is None:
if increase_revision:
current_rev += 1
# manual dependencies handling