-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gitea: Group repositories under a directory #3840
Comments
Maybe we could use topic to do that? |
Any chance to get this implemented? 👍 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions. |
This issue has been automatically closed because of inactivity. You can re-open it if needed. |
Please implement this. |
I want this feature too. But there are still many unclear details about how this would be implemented. |
FWIW, Google has it that is very close to what I want https://android.googlesource.com/. |
Just a brief note. There are two simple approaches. The first is to allow the If we allow slashes in To emulate the appearance of hierarchical directories, we can filter the repo names with the prefix path when a repo list has to be generated. The git command can still use the What remains to be clarified is how to distinguish a repository path from an endpoint when routing requests. I think the second approach (with an extra |
@typeless allowing |
Another proposal is a repository could be a group |
@lafriks yes, that is a part that requires effort. Hopefully, the ambiguity can be revolved given some supported rules of Macaron. Needs more investigations. @lunny That sounds good. But I need it to support nested groups as well. |
Did you mean subgroup of a group. That sounds complicated. |
@lunny Yes. |
@typeless No. Gitea.com will. :) |
@lunny 😆 |
We would have to introduce a new arrangement of URL routes to avoid the ambiguity related to the repo names. Say, a separator to distinguish the repo name part and the rest. By the way, slashes should be acceptable in branch names (by vanilla git) too. It appears that branch names are always at the end of the URLs. |
@typeless problem is that in current routing you can't have two wildcard arguments |
@lafriks I see. You are absolutely right. So, I am thinking about something like Regarding routing, it could be making an enhancement to Macaron or migrating to other routers. But at the very first, we have to figure out how to make the paths unambiguous (or if possible at all). Addendum: by 'umambiguous', I mean whether it's possible to make the routing rules codifiable in an acceptable complexity. |
This comment was marked as spam.
This comment was marked as spam.
I offer much better approach - avoid making additional entities w/o need. Organization itself can be "renamed" to smth like "folder" or "group" and we should extend this "group" to be HIERARCHY. So at top level you have tree of groups/folders and underneath - our good, old repos. Obviously, each company/project has own structure, so giving 'em hierarchy, we provide most flexible way to organize things. |
@evur What would that look like if there were over a thousand repos in that folder/group? |
If an organization shares over a thousand repositories of a specific type (which is very rare), then you would mostly use the search functionality. With this many repositories, the organization should put them into a (sub)group. My proposal is to add little collapsible groups, where all repositories can belong to one organization (including the URL), but in a more organized way. The use case for that is, if an organization has multiple projects with 2+ repositories each, to keep them in groups so they don't spread over the whole organization. PS: Here's the text from the issue I had created: My proposal is to add the possibility to visually group repositories in the organization view. This could be implemented as named dropdowns containing the repositories. There could also be an option to automatically generate groups containing repositories with a specific prefix (e. g. "app-"). |
Adding the ability to assign labels to repos could do the job as well and then no need to touch urls / routing. |
The description of this issue is ambiguous and leads to multiple interpretations I would like to focus on having hierarchical repositories, Go itself groups code in hierarchical packages: The natural way to name them is "crypto/rand" and "math/rand". This is a problem for me. I have many git repositories with the same base name, Plain old bare git repositories with ssh access handle this just fine:
gitolite handles them just as easily. This is what I currently use. I'm evaluating migrating to gitea. Grouping repositories by labelling them does not solve the issue of having two different repositories with the same base name. Using a prefix, such as "app-" or "go-" is cumbersome, because the "git clone" command would names with slashes (/)Allowing repository names to contain slashes(/) seems a simple enough solution. The problem of routing can be addressed by using a wildcard or by escaping slashes in url arguments (when the wildcard is not enough). Common operations like clone should work without escaping slashes:
hierarchical repositories do not need to be listed hierarchically. They can be listed in a flat list. |
Firstly, the change introduces significant complexity because most parts of the system assume the repository URL follows the Secondly, the traditional router format |
I also agree that it is enough, I have some brief ideas to make it work, but we need to reserve some names (for example: |
By "simple", I meant conceptually simple, not that it is trivial to implement. I found a similar long-standing request about bitbucket: https://jira.atlassian.com/browse/BSERV-3008 I couldn't find any discussion as to why github doesn't support slashes in repo names. |
The situation applies to most softwares: when the system grows bigger and bigger, some rules have been hard-coded everywhere, it becomes more and more difficult to change these rules. It needs a lot of work and time, and needs some people who have time and ability to push it to move on ....... |
I now think it's best to not allow slashes in repo names, for the following reasons:
For migrating from gitolite to gitea:
One can write simple client tools to handle "--" as a path separator. I am writing such a tool that:
Migrating from gitolite to gitea involves more than just handling slashes in repository names. Re-configuring access control is a more serious issue. |
Closes https://codeberg.org/forgejo/forgejo/issues/3743. This is a simple fix for https://codeberg.org/forgejo/forgejo/issues/3743, based on changes in [gitea#30990](go-gitea#30990), which was not included in https://codeberg.org/forgejo/forgejo/pulls/3838 due to large code differences. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3840 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> (cherry picked from commit 3351ce2)
This reverts commit 0b01434.
…a#3840)"' (go-gitea#3987) from 0ko/forgejo:revert-bug-causing-bug into v7.0/forgejo Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3987 Reviewed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org> Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Dear Gitea team,
Is there any way to group repositories under a directory instead of hosting all the repositories at TOP of an organization?
Any help would be really appreciated.
Thanks and Regards,
Vignesh Rajendran
The text was updated successfully, but these errors were encountered: