Re: [PATCH v3 1/1] completion: graduate out of contrib
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-07-16 06:39:13
On Thu, Jul 15 2021, Felipe Contreras wrote:
Ævar Arnfjörð Bjarmason wrote:quoted
On Thu, Jul 15 2021, Ævar Arnfjörð Bjarmason wrote:quoted
On Wed, Jul 14 2021, Felipe Contreras wrote:quoted
[...]@@ -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
?