diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Completion/Unix/Command/_git | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index e5bc3421a..150659968 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-08-18 Clint Adams <clint@zsh.org> + + * 25475: Completion/Unix/Command/_git: determine heads, tags, + and branches through git for-each-ref instead of git tag and + git branch. + 2008-08-17 Clint Adams <clint@zsh.org> * 25469: Completion/Unix/Command/_git: assorted changes diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index f19d5d120..9045479f1 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -2966,7 +2966,7 @@ __git_heads () { local expl declare -a branch_names - branch_names=(${${(f)"$(_call_program heads git branch --no-color -a 2>/dev/null)"}#[* ] }) + branch_names=(${${(f)"$(_call_program headrefs git for-each-ref --format='%(refname)' refs/heads refs/remotes 2>/dev/null)"}#refs/(heads|remotes)/}) __git_command_successful || return _wanted heads expl branch-name compadd $* - $branch_names HEAD @@ -2977,7 +2977,7 @@ __git_tags () { local expl declare -a tag_names - tag_names=(${${(f)"$(_call_program tags git tag -l 2>/dev/null)"}#[* ] }) + tag_names=(${${(f)"$(_call_program tagrefs git for-each-ref --format='%(refname)' refs/tags 2>/dev/null)"}#refs/tags/}) __git_command_successful || return _wanted tags expl tag-name compadd $* - $tag_names @@ -3030,7 +3030,7 @@ __git_branch_names () { local expl declare -a branch_names - branch_names=(${${(f)"$(_call_program branch-names git branch --no-color 2>/dev/null)"}#[* ] }) + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='%(refname)' refs/heads 2>/dev/null)"}#refs/heads/}) __git_command_successful || return _wanted branch-names expl branch-name compadd $* - $branch_names |