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>
This commit is contained in:

committed by
Junio C Hamano

parent
fbe451182e
commit
c29e317994
@ -259,23 +259,6 @@ __gitcomp_file ()
|
|||||||
compgen -f /non-existing-dir/ > /dev/null
|
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
|
# 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
|
# 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
|
# committed. It return paths relative to the directory specified in the first
|
||||||
@ -303,11 +286,16 @@ __git_ls_files_helper ()
|
|||||||
# slash.
|
# slash.
|
||||||
__git_index_files ()
|
__git_index_files ()
|
||||||
{
|
{
|
||||||
local dir="$(__gitdir)" root="${2-.}"
|
local dir="$(__gitdir)" root="${2-.}" file
|
||||||
|
|
||||||
if [ -d "$dir" ]; then
|
if [ -d "$dir" ]; then
|
||||||
__git_ls_files_helper "$root" "$1" | __git_index_file_list_filter |
|
__git_ls_files_helper "$root" "$1" |
|
||||||
sort | uniq
|
while read -r file; do
|
||||||
|
case "$file" in
|
||||||
|
?*/*) echo "${file%%/*}" ;;
|
||||||
|
*) echo "$file" ;;
|
||||||
|
esac
|
||||||
|
done | sort | uniq
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user