From 9e2a324e83cdab0cd59a025ed3d4f255567f0326 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Mon, 18 Nov 2013 15:10:17 +0100 Subject: [PATCH] [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. --- lib/entropy/server/interfaces/db.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/entropy/server/interfaces/db.py b/lib/entropy/server/interfaces/db.py index 0b5560357..1813a69c1 100644 --- a/lib/entropy/server/interfaces/db.py +++ b/lib/entropy/server/interfaces/db.py @@ -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