diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2013-04-27 15:10:07 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-27 14:32:29 -0700 |
commit | c29e317994d1077fe3ac9cdeae5a5b35ffaa3440 (patch) | |
tree | 3c79d8960f003623bb7a691056f449f9cf503b97 | |
parent | completion: add space after completed filename (diff) | |
download | tgif-c29e317994d1077fe3ac9cdeae5a5b35ffaa3440.tar.xz |
completion: remove __git_index_file_list_filter()
Refactor the code into the only caller; __git_index_files().
Also, Somehow messing up with the 'path' variable messes up the 'PATH'
variable. So let's not do that.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | contrib/completion/git-completion.bash | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 20c971875d..edb7428266 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -259,23 +259,6 @@ __gitcomp_file () compgen -f /non-existing-dir/ > /dev/null } -# Process path list returned by "ls-files" and "diff-index --name-only" -# commands, in order to list only file names relative to a specified -# directory, and append a slash to directory names. -__git_index_file_list_filter () -{ - local path - - while read -r path; do - case "$path" in - ?*/*) - echo "${path%%/*}" ;; - *) - echo "$path" ;; - esac - done -} - # Execute 'git ls-files', unless the --committable option is specified, in # which case it runs 'git diff-index' to find out the files that can be # committed. It return paths relative to the directory specified in the first @@ -303,11 +286,16 @@ __git_ls_files_helper () # slash. __git_index_files () { - local dir="$(__gitdir)" root="${2-.}" + local dir="$(__gitdir)" root="${2-.}" file if [ -d "$dir" ]; then - __git_ls_files_helper "$root" "$1" | __git_index_file_list_filter | - sort | uniq + __git_ls_files_helper "$root" "$1" | + while read -r file; do + case "$file" in + ?*/*) echo "${file%%/*}" ;; + *) echo "$file" ;; + esac + done | sort | uniq fi } |