Skip to content

Commit

Permalink
Fix an edge case with 'dest_base_version'
Browse files Browse the repository at this point in the history
closes: #6693
https://pulp.plan.io/issues/6693
(cherry picked from commit 204950a)
  • Loading branch information
dralley authored and Travis CI User committed May 18, 2020
1 parent 5abc6c0 commit 0e199dc
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
2 changes: 2 additions & 0 deletions CHANGES/6693.bugfix
@@ -0,0 +1,2 @@
Fix edge case where specifying 'dest_base_version' for an RPM copy did not work properly
in all circumstances.
9 changes: 6 additions & 3 deletions pulp_rpm/app/tasks/copy.py
Expand Up @@ -82,7 +82,8 @@ def copy_content(config, dependency_solving):
source_repo_version = RepositoryVersion.objects.get(pk=entry["source_repo_version"])
dest_repo = RpmRepository.objects.get(pk=entry["dest_repo"])

if entry.get("dest_base_version"):
dest_version_provided = bool(entry.get("dest_base_version"))
if dest_version_provided:
dest_repo_version = RepositoryVersion.objects.get(pk=entry["dest_base_version"])
else:
dest_repo_version = dest_repo.latest_version()
Expand All @@ -96,7 +97,8 @@ def copy_content(config, dependency_solving):
content_to_copy = source_repo_version.content.filter(content_filter)
content_to_copy |= find_children_of_content(content_to_copy, source_repo_version)

with dest_repo.new_version() as new_version:
base_version = dest_repo_version if dest_version_provided else None
with dest_repo.new_version(base_version=base_version) as new_version:
new_version.add_content(content_to_copy)

continue
Expand Down Expand Up @@ -129,5 +131,6 @@ def copy_content(config, dependency_solving):
for from_repo, units in content_to_copy.items():
src_repo_version = libsolv_repo_names[from_repo]
dest_repo_version = repo_mapping[src_repo_version]
with dest_repo_version.repository.new_version() as new_version:
base_version = dest_repo_version if dest_version_provided else None
with dest_repo_version.repository.new_version(base_version=base_version) as new_version:
new_version.add_content(Content.objects.filter(pk__in=units))
2 changes: 1 addition & 1 deletion pulp_rpm/app/viewsets.py
Expand Up @@ -299,7 +299,7 @@ def _process_config(self, config):
r["dest_repo"] = dest_repo.pk
repos.extend((source_version.repository, dest_repo))

if entry.get("dest_base_version"):
if "dest_base_version" in entry:
try:
r["dest_base_version"] = dest_repo.versions.\
get(number=entry["dest_base_version"]).pk
Expand Down

0 comments on commit 0e199dc

Please sign in to comment.