← Back to issue list

repo: refactor into a package.

View original Github issue

Metadata

Project
snapcraft
Number
#1192
Type
pull request
State
merged
Author
sergiusens
Labels
Created
Updated
Closed

Current evaluation

Merged after two approvals. Refactored the repo module into a package across 41 files to simplify extending BaseRepo for external functionality. Changes were split during review, CI proxy issues were resolved, and integration completed.

Suggested action:

No scores available.

Issue body

Refactoring repo into a package makes it extremely easy to add new functionality outside of apt/deb by adding such enablement into `__init__` and by extending `BaseRepo`. LP: #1602258 Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after two approvals. Refactored the repo module into a package across 41 files to simplify extending BaseRepo for external functionality. Changes were split during review, CI proxy issues were resolved, and integration completed.
qwen3.6-35b-a3b-mtp-q6 Merged refactoring repo into a package to simplify extending BaseRepo and adding non-apt/deb functionality via __init__. Scope was reduced by splitting unrelated changes into PR #1194. Approved and merged by maintainer sergiusens.
qwen3.6-35b-a3b-mtp-q6 Merged after refactoring the repo module into a package to simplify extending functionality outside apt/deb via __init__ and BaseRepo. Unrelated changes were split into PR #1194 to maintain scope. Approved and merged following maintainer review.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1804 meta: refactor into a package snapcraft merged Codebase refactored into a package. Approved, passed CI checks, and successfully merged, closing issue #1695.
74%
#41 packages: add base and dummy repository classes craft-parts merged Merged. Introduces base and dummy repository classes for package lifecycle execution, adding 325 lines across 3 files. Refactors split normalization. Approved by two reviewers with passing CI. Code is planned for extraction to a separate project.
74%
#1104 repo: refactor into package. snapcraft closed Closed and abandoned without merging. The maintainer commented that the repository refactoring was no longer needed, halting the review process.
74%
#388 chore: move GitRepo to separate module craft-application merged Merged after two approvals. Moved GitRepo to a separate module, resolving issue #385 and CRAFT-3123. The change modified 15 files with 633 additions and 415 deletions. Codecov noted minor coverage gaps, but the merge proceeded without blocking.
72%
#217 repo: add support for package repositories rockcraft merged Added support for package repositories. Merged after approval by two reviewers and passing CI checks. Modified 16 files (+346/-31), resolving CRAFT-1553 and enabling downstream testing.
72%
#3170 repo: decouple fetch and unpack stage-packages snapcraft merged Merged into master. The change decoupled fetch and unpack stage-packages in the repo module, modifying 13 files. Approved by one reviewer, it achieved 86.88% diff coverage with a 0.05% overall coverage decrease.
71%
#57 repo: unify package repository representations craft-archives merged Merged. Consolidates package_repositories and projects modules into a unified model. Removes duplicate Apt classes, switches validation to Pydantic errors, and consolidates tests. Approved and merged after passing CI checks.
70%