[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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user