On Thu, Jul 15 2021, Felipe Contreras wrote: > Ævar Arnfjörð Bjarmason wrote: >> >> On Thu, Jul 15 2021, Ævar Arnfjörð Bjarmason wrote: >> >> > On Wed, Jul 14 2021, Felipe Contreras wrote: >> >> [...] >> >> @@ -2399,7 +2399,7 @@ test_expect_success 'sourcing the completion script clears cached --options' ' >> >> verbose test -n "$__gitcomp_builtin_checkout" && >> >> __gitcomp_builtin notes_edit && >> >> verbose test -n "$__gitcomp_builtin_notes_edit" && >> >> - . "$GIT_BUILD_DIR/contrib/completion/git-completion.bash" && >> >> + . "$GIT_BUILD_DIR/extra/completion/git-completion.bash" && >> >> verbose test -z "$__gitcomp_builtin_checkout" && >> >> verbose test -z "$__gitcomp_builtin_notes_edit" >> >> ' >> >> >> >> diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh >> >> index bbd513bab0..784e523fd4 100755 >> >> --- a/t/t9903-bash-prompt.sh >> >> +++ b/t/t9903-bash-prompt.sh >> >> @@ -10,7 +10,7 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME >> >> >> >> . ./lib-bash.sh >> >> >> >> -. "$GIT_BUILD_DIR/contrib/completion/git-prompt.sh" >> >> +. "$GIT_BUILD_DIR/extra/completion/git-prompt.sh" >> >> >> >> actual="$TRASH_DIRECTORY/actual" >> >> c_red='\\[\\e[31m\\]' >> > >> > It's more of a "for bonus points", but a nic way to round-trip this >> > would be to make this work with GIT_TEST_INSTALLED. >> > >> > I.e. source these relative to GIT_EXEC_PATH, not $GIT_BUILD_DIR, I think >> > that just sourcing them as e.g.: >> > >> > . git-completion.bash >> > >> > But the GIT_TEST_INSTALLED case is tricker, maybe we'd need to add a >> > "git --share-path" :( >> >> I forgot to include this not-working patch, i.e. I've got no idea what >> the "something" should be other than the harder thing of compiling >> "sharedir" into git and making "git --share-path" work. > > I don't think there's a "something" that would make sense. > > It would be something like '/opt/git/bin/completion'? I think more importantly if they're going to be "first-class" components that we have some native way of getting them to the user. I.e. once you install git being able to load them in your shell as: . git-path . git-completion Or whatever, which means either putting them in $PATH (i.e. we'd drop them in bin/ along with the non-dashed-built-ins like git-upload-pack etc.), or something like: . "$(git --completion-path)"/bash . "$(git --completion-path)"/zsh Or maybe: . "$(git --extras-path)"/completion/bash.sh . "$(git --extras-path)"/prompt.sh ?