feat: extend craft_application.git module
Metadata
Current evaluation
Merged after approval from three reviewers and passing CI checks. The update extends the craft_application.git module by adding GitRepo methods for remote URL management, commit verification, fetch operations, and subprocess integration.
Suggested action: —
No scores available.
Issue body
- [ ] Have you followed the guidelines for contributing?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `tox`?
-----
Add ability to manipulate repository and get additional data through `GitRepo` class:
- `set_remote_url` / `set_remote_push_url` alongside `get` counterparts (also `set_no_push` for disabling push for specific remotes)
- `is_commit()`, `is_short_commit` checkers
- use `craft.git` for subprocess git operation if available
- `get_last_commit()` to retrieve last commit on the current `HEAD`
- `fetch()` API to retrieve remote references
Linter issues fixed in #580
(CRAFT-3708)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval from three reviewers and passing CI checks. The update extends the craft_application.git module by adding GitRepo methods for remote URL management, commit verification, fetch operations, and subprocess integration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Extended craft_application.git with GitRepo methods for remote URL management, commit verification, last commit retrieval, and remote fetching. Review feedback was applied, tests passed, and the feature was integrated into main. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1399 feat: craft-application rebase | charmcraft | merged | Merged the craft-application rebase, altering 109 files with 7,783 additions and 755 deletions. Approved by two reviewers, the update was deemed functional for integration, with remaining issues deferred to future pull requests. | |
| #925 feat: use "craft.git" for git where possible | craft-parts | merged | Merged a feature prioritizing craft.git over system git when available, with a fallback to git. Approved by two reviewers, this resolves issue #900 with 93 additions and 11 deletions across four files. | |
| #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. | |
| #4601 feat: use craft-application project variables | snapcraft | merged | Merged after three approvals and passing CI. Implements version and grade as craft-application project variables updatable via craftctl. Rebased and test failures resolved prior to merge. | |
| #396 feat: add clone and remotes to GitRepo | craft-application | merged | Merged changes adding clone and remote management methods to the GitRepo class. Approved by two reviewers and passing CI, the update introduces repository cloning and remote creation, renaming, and verification functionality. | |
| #1330 feat(craft-app): Add craft-application services | charmcraft | merged | Merged feat(craft-app): Add craft-application services. Approved by two reviewers, the change modified 56 files with 2143 additions and 230 deletions. The author fixed changelist misalignments causing spread test failures before merge. | |
| #4664 feat(craft-application): support remote build | snapcraft | merged | Added remote build support to craft-application, including --platform and --build-for flags. Merged after approval by two reviewers, modifying 13 files with 1272 additions and 39 deletions. | |
| #4573 build(deps): use craft-application from main branch | snapcraft | merged | Merged dependency update switching to craft-application from the main branch. Approved by two reviewers, passed CI, and resolved linter and coverage notes. Changes modified 8 files with 65 additions and 45 deletions. |