Skip to content
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

Add grouping for tags #3804

Open
Jerakin opened this issue Aug 7, 2024 · 2 comments
Open

Add grouping for tags #3804

Jerakin opened this issue Aug 7, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@Jerakin
Copy link

Jerakin commented Aug 7, 2024

Is your feature request related to a problem? Please describe.
When working on in a mono repository it is common to prefix all release tags with the project being released. Releasing a new version might require you to release a lot of sub packages meaning the tags count explode. This makes the menu hard to parse/read.

Describe the solution you'd like
Add grouping of tags (and maybe branches1), enabled through some setting toggle.

The tags current could look like this

project/0.1.1
some_other_project/0.1.1
sub_project/0.1.0
project/0.1.0
some_other_project/0.1.0

I wish that it was collapsed into

project/
some_other_project/
sub_project/

To then see the tags that belongs to a group you would navigate into it (like what happens if you click Enter within [4] Commits)

For bonus points it would be awesome if you could see the latest tag easily maybe like this (with different colors)

project/ (0.1.1)
some_other_project/ (0.1.1)
sub_project/ (0.1.0)

1 If this is added for branches then maybe only branches of a certain age are grouped (maybe that's a different setting?). That way your common branches stay at the top but branches that are older are hidden to clean up the interface.

@Jerakin Jerakin added the enhancement New feature or request label Aug 7, 2024
@stefanhaller
Copy link
Collaborator

Instead of going into a folder by pressing enter, we could make it a tree view like in the Files panel. (It's unclear to me whether folders should be collapsed or expanded by default). We could even support the ` key to toggle between tree view and flat view, for those who prefer one or the other, again like in the Files panel.

One big downside is that filtering is problematic in tree views. We currently don't support it in the Files view because it was too difficult to get the behavior right, so we only support searching there. Filtering is essential for branches and tags though (I think).

Actually I wonder whether filtering might be a good enough workaround for the problem; typing /some_other_project already gives you only the tags for some_other_project, isn't that good enough?

@Jerakin
Copy link
Author

Jerakin commented Aug 8, 2024

My biggest difficult is that it's hard to get an overview.

For our workflow we use tags exclusively for versions. To create a new version we simply create a new tag and the CICD pipeline takes care of the rest. It is common for me to release 2-3 sub projects at a given time, all individually versioned. Given that there are so many projects I can not remember the latest version of all of them, when I release them I first have to find the latest relevant tag in the list (which to be fair the filtering could help with). Given that the tag list can have 10 entries, if it was implemented as some_other_project/ (0.1.1) I could see the latest version of the 10 latest versioned projects (which would be enough for me as of now, and even later I would only need to scroll a bit). Removing the need for any key input.

Tree view would be better, but I would still love the extra information of the latest tag. If it isn't easy to get right then I wouldn't mind having the simpler option I proposed.

I would think that this is only an issue if you are working on a mono repo, so I doubt it's a common issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants