Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES/1290.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Stop passing latest repository version on modify commands if no version number was provided.
48 changes: 27 additions & 21 deletions pulp_cli/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -1731,14 +1731,16 @@ def content_add(
content_ctx: PulpContentContext,
repo_ctx: PulpRepositoryContext,
/,
base_repository: PulpRepositoryContext,
base_version: int,
base_repository: PulpRepositoryContext | None,
base_version: int | None,
) -> None:
if base_repository is None:
base_repository = repo_ctx
base_version_ctx = base_repository.get_version_context(
-1 if base_version is None else base_version
)
base_version_ctx: PulpRepositoryVersionContext | None = None
if base_version is not None:
if base_repository is None:
base_repository = repo_ctx
base_version_ctx = base_repository.get_version_context(base_version)
elif base_repository is not None:
base_version_ctx = base_repository.get_version_context(-1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

repo_ctx.modify(add_content=[content_ctx.pulp_href], base_version=base_version_ctx)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous code would use base_repository.get_version_context(-1) if no base-version was passed in - so we'd create a new version in repo_ctx, based on base_repository.latest. This change ignores base_repository unless base_version_ctx is also passed in.

If base_version is None and base_repository is not None then base_version_ctx needs to be base_repository.get_version_context(-1), yeah?


@pulp_command("remove")
Expand All @@ -1752,15 +1754,17 @@ def content_remove(
content_ctx: PulpContentContext,
repo_ctx: PulpRepositoryContext,
/,
base_repository: PulpRepositoryContext,
base_version: int,
base_repository: PulpRepositoryContext | None,
base_version: int | None,
all: bool,
) -> None:
if base_repository is None:
base_repository = repo_ctx
base_version_ctx = base_repository.get_version_context(
-1 if base_version is None else base_version
)
base_version_ctx: PulpRepositoryVersionContext | None = None
if base_version is not None:
if base_repository is None:
base_repository = repo_ctx
base_version_ctx = base_repository.get_version_context(base_version)
elif base_repository is not None:
base_version_ctx = base_repository.get_version_context(-1)
remove_content = ["*" if all else content_ctx.pulp_href]
repo_ctx.modify(remove_content=remove_content, base_version=base_version_ctx)

Expand All @@ -1771,16 +1775,18 @@ def content_remove(
@pass_repository_context
def content_modify(
repo_ctx: PulpRepositoryContext,
base_repository: PulpRepositoryContext,
base_version: int,
base_repository: PulpRepositoryContext | None,
base_version: int | None,
add_content: list[PulpContentContext] | None,
remove_content: list[PulpContentContext] | None,
) -> None:
if base_repository is None:
base_repository = repo_ctx
base_version_ctx = base_repository.get_version_context(
-1 if base_version is None else base_version
)
base_version_ctx: PulpRepositoryVersionContext | None = None
if base_version is not None:
if base_repository is None:
base_repository = repo_ctx
base_version_ctx = base_repository.get_version_context(base_version)
elif base_repository is not None:
base_version_ctx = base_repository.get_version_context(-1)
ac = [unit.pulp_href for unit in add_content] if add_content else None
rc = [unit.pulp_href for unit in remove_content] if remove_content else None
repo_ctx.modify(add_content=ac, remove_content=rc, base_version=base_version_ctx)
Expand Down
Loading