OK, I had another look.

The chosen repository is invalid, as this check fails.

```
class GitRepositoryRestrictedOnProductVocabulary(GitRepositoryVocabulary):
    """A vocabulary for searching git repositories restricted on product."""

    def __init__(self, context):
        super().__init__(context)
        if IProduct.providedBy(self.context):
            self.product = self.context
        else:
            # An unexpected type.
            raise AssertionError("Unexpected context type")

    def _getCollection(self):
        return (
            getUtility(IAllGitRepositories)
            .inProject(self.product)
            .isExclusive()
        )
```

This means, you can only select repositories from the same project, but
in this case it is from the "kubuntu-packaging" project, and so invalid.

This is currently very unclear, and not even shown in the UI.

The commit message which introduces this check (Add
RestrictedGitRepositoryVocabularyOnProduct.) is not helpful.

I will reach out to a former colleague who might have more context.

----

## Summary of Findings

**Bug Report:** User cannot link Git repository `~kubuntu-
packagers/kubuntu-packaging/+git/plasma-keyboard` to project `plasma-
keyboard` - gets "Invalid value" error.

### Root Cause

The `GitRepositoryRestrictedOnProductVocabulary` applies two restrictive
filters:

1. **`.inProject(self.product)`** - Only allows repositories belonging to the 
**same** project
2. **`.isExclusive()`** - Only allows repositories owned by 
RESTRICTED/MODERATED teams or individuals

**The Problem:** The repository `~kubuntu-packagers/kubuntu-
packaging/+git/plasma-keyboard` belongs to project **`kubuntu-
packaging`**, not **`plasma-keyboard`**, so filter #1 blocks it.

(Filter #2 isn't an issue here since `~kubuntu-packagers` is a
Restricted Team, but would block OPEN/DELEGATED teams)

### Code Flow
1. User enters repo path in form at `/plasma-keyboard/+configure-code`
2. Zope validates against vocabulary `GitRepositoryRestrictedOnProduct`
3. Vocabulary filters out the repository (wrong project)
4. Validation fails → "Invalid value" error

### Use Case

The Kubuntu packaging workflow stores repositories for multiple upstream
KDE projects in a single `kubuntu-packaging` project. The current
restrictions prevent cross-project.


** Changed in: launchpad
     Assignee: (unassigned) => Jürgen Gmach (jugmac00)

** Changed in: launchpad
   Importance: Undecided => Low

** Changed in: launchpad
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2141758

Title:
  Can't add git repos to code for kde ( kubuntu ) projects

To manage notifications about this bug go to:
https://bugs.launchpad.net/launchpad/+bug/2141758/+subscriptions


-- 
kubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/kubuntu-bugs

Reply via email to