Does it really make sense to have sub-project-specific labels when generic ones could be used? Examples are: llvm:crash and crash (there are also generic variations crash-on-valid and crash-on-invalid); clang:documentation and documentation; also llvm:hang (other parts of code could hang too).
But do such filtering is really needed? Developers are mostly working with particular part of llvm, clang, etc, and filtering of part + problem label is there.
I would think that label:llvm label:crash would be a good filtering, keeping the attributes orthogonal. That is labelling separately the component from the type of issues.
Sounds good, but I think we would need to look at more labels than llvm:crash to make sure we have a consistent scheme. E.g. we also have llvm:compiletime and llvm:hang which also would make sense as generic labels without the llvm: prefix. There may be others.
Yeah I suspect we have more such redundant/duplicated labels.
It sounds like the preferred direction is to have umbrella labels for sub-projects (llvm, clang) and replace some of the scope labels (like llvm:crash) with their generic counterparts and the correct umbrella label.
What’s left to do is to update issues using the scoped labels. I am not sure if there’s an automatic way to update the labels for all issues using llvm:crash to instead use llvm and crash.
I think it’ll be better to have scripts or queries that include all project-specific (llvm:, clang:, etc) labels than duplicate specific label(s) with umbrella one.
Sure that would be good, but I don’t think this works with Github’s issue search at the moment so I don’t think there’s much we can do other than structuring our labels in a way that works with Github’s search feature.
I tried searching for label:'llvm:' in Github but it doesn’t work. If you know of a way to perform the search you are suggesting that would be great.