Since commit 518ef8f (completion: Replace config --list with --get-regexp, 2009-09-11) an alias config value containing a newline would break the completion of aliases. Instead of setting the IFS to the newline, use git-config's null termination to separate aliases with the null character. An example .gitconfig causing the breakage. [alias] whowhat = "log -1 --pretty='format:%an <%ae>\n%s'" wont-complete = ... Signed-off-by: Stephen Boyd <bebarino@xxxxxxxxx> --- This is the best I can come up with. I'm not sure about using the d option of read though. contrib/completion/git-completion.bash | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 2c2a0d4..332be99 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -600,10 +600,10 @@ __git_porcelain_commandlist="$(__git_porcelain_commands 2>/dev/null)" __git_aliases () { - local i IFS=$'\n' - for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do - i="${i#alias.}" - echo "${i/ */}" + local i + git --git-dir="$(__gitdir)" config -z --get-regexp "alias\..*" 2>/dev/null | + while IFS= read -rd '' i; do + echo ${i#alias.} | cut -d' ' -f1 done } -- 1.6.5.rc2.17.gdbc1b -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html