[PATCH] completion: ignore chpwd_functions when cding
- From
Brandon Turner <bt@brandonturner.net>
- Date
- Oct 8, 2014, 03:53 UTC
- Message-ID
- <1412740394-34061-1-git-send-email-bt@brandonturner.net>
Software, such as RVM (ruby version manager), may set chpwd functions that result in an endless loop when cding. chpwd functions should be ignored.
Signed-off-by: Brandon Turner <bt@brandonturner.net> --- For an example of this bug, see: https://github.com/wayneeseguin/rvm/issues/3076
contrib/completion/git-completion.bash | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 06bf262..996de31 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -283,7 +283,8 @@ __git_ls_files_helper () { ( test -n "${CDPATH+set}" && unset CDPATH - cd "$1" + (( ${#chpwd_functions} )) && chpwd_functions=() + builtin cd "$1" if [ "$2" == "--committable" ]; then git diff-index --name-only --relative HEAD else
-- 2.1.2