Ævar Arnfjörð Bjarmason wrote: > > On Sun, May 23 2021, Felipe Contreras wrote: > > > Jeff King wrote: > > > >> I suspect that just opening a bug report against distro packages might > >> get some traction (especially if it comes with a patch to create the > >> extra package). > > > > I have tried that; do doesn't work. If git developers have $x in > > "contrib" it's for a reason. > > > >> I do wonder if packagers are hesitant to reach into > >> contrib/, > > > > Of course they are! The word "contrib" has an obvious meaning. > > [Minor edit to the quoted text to inline the link]: > > > This is precisely the reason why I tried to graduate > > "contrib/completion" out of "contrib" to no avail: > > https://lore.kernel.org/git/1399607587-14127-1-git-send-email-felipe.contreras@xxxxxxxxx/ > > Seems like that patch just got no replies at the time. FWIW I'd very > much be for it and would encourage you to re-submit it. > > I'm not sure s/shared/contrib/g is the best naming though, but maybe I'm > contributing to needless bikeshedding by mentioning that. It is the best location because that's where completions go. You can check the location bash-completion suggests to install completions to: % pkg-config --variable=completionsdir bash-completion /usr/share/bash-completion/completions In the case of zsh it's /usr/share/zsh/site-functions. Additionally, if you install them in your home directory, it should be $XDG_DATA_HOME/bash-completion/completions. $XDG_DATA_HOME is $HOME/.local/share (analogous to /usr/share). > You apparently named it like that to match where distros usually install > it (/usr/share), but we also have docs there, locale, and the perl/ > directory usually (well, at least on my distro) ends up there. Distributions install them there, because that's where they are expected (by bash-completion and zsh). > I wonder if just a top-level completion/* wouldn't be best, or if we > want to group them all together something like > optional/{completion,credential}/ or other name suggesting that these > are meant to interact with not-always-present 3rd party software. Maybe > integrations/* ? extra/ is a better name. However, there's already many things that are optional, like gitk and git-gui, do they belong there too? For that matter locales are optional too. I think if such a decison to have an extra/ directory is made, it should be orthogonal to the completion graduation. > For some of these names a general re-arrangement of contrib/* would be a > logical thing to follow, e.g. I think it would make sense to carve out > various ci/, contrib/coccinelle, Documentation/doc-diff, > check-builtins.sh etc. and other "only for supporting git.git > development" or "only called by our own Makefile(s)" into some > consistently named pattern. Me too. > I'm also very much in favor of building and testing all of this software > by default, to the best of our ability. We've had some avoidable bitrot > e.g. in subtree and mw-to-git in the past, some of that is a pain to > test (e.g. requiring an installed MediaWiki), but we can usually > build/test some part of it (e.g. in that case, does it even compile as > Perl code?). In other cases we could compile/test things by default on > certain platforms if they're platform-specific. Yeah, some spring cleaning would be good. I'll put sending the patch in my unending to-do list. Cheers. -- Felipe Contreras