Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH] _git: Complete files after 'reset' when there are no commits, when the 'verbose' style is set.
- X-seq: zsh-workers 41493
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: Re: [PATCH] _git: Complete files after 'reset' when there are no commits, when the 'verbose' style is set.
- Date: Sun, 06 Aug 2017 00:11:07 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1501971068; bh=tv+JdN924/iNecOXukqNA93UNhrKM1ZvYpCQCMIGOm4=; h=In-reply-to:From:References:To:Subject:Date:From:Subject; b=Suj25CG2avjhwmRwoqIXIt4ZVxwPsGQmtmTkV+7kZBj/I6/mB3Q+kgJzdDwOUja0wmAEsC+bG/u8Ck47N10biTFFwPds7B1JICXUuTL2uuvZwTNvTYapWIlU2o2KKZFWz0hXjPPSSl2+qkNQOI9IAw3cmxgBKqaCYdijTQahCp71PwflYC2iYcVJW6VDujTr2o9/UGsDn9aupu5YnAEjDUDT8B5qT7v2uzOSO7u/SIeIAj+VXrq32OhrIVXB53cfzzXkYDLAO0KtNjU8pJoDAIGGYf/EQhcQJHA415gkvjiMrCI0DUqi1QB6LczKgxjJxJTc7XfaxINBtb/AE+0MhQ==
- In-reply-to: <20170731005933.18904-1-danielsh@tarpaulin.shahaf.local2>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <20170731005933.18904-1-danielsh@tarpaulin.shahaf.local2>
On 31 Jul, Daniel Shahaf wrote:
> diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
> index ce8a4049d..032cbad1e 100644
> --- a/Completion/Unix/Command/_git
> +++ b/Completion/Unix/Command/_git
> @@ -1462,6 +1462,12 @@ _git-reset () {
> case $state in
> (file)
> local tree=HEAD
> + if zstyle -t :completion:${curcontext}: verbose; then
> + if ! _call_program headed git rev-parse --verify HEAD 2>/dev/null; then
Was this supposed to assign the output of git rev-parse to $tree
because this is currently spewing the hash into the terminal?
Note _call_program should do the stderr redirection for you.
Patch below does this and adds a few new options for git 2.14.
Oliver
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 032cbad1e..518e6d198 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -628,6 +628,7 @@ _git-clone () {
'*--shallow-exclude=[shallow clone excluding commits reachable from specified remote revision]:revision' \
'(--no-single-branch)--single-branch[clone only history leading up to the main branch or the one specified by -b]' \
'(--single-branch)--no-single-branch[clone history leading up to each branch]' \
+ "--no-tags[don't clone any tags and make later fetches not follow them]" \
'--shallow-submodules[any cloned submodules will be shallow]' \
'--recursive[initialize all contained submodules]' \
'--recurse-submodules=-[initialize submodules in the clone]::file:__git_files' \
@@ -1454,6 +1455,7 @@ _git-reset () {
'(--soft --mixed --merge --keep -p --patch -- *)--hard[match the working tree and index to the given tree]' \
'(--soft --mixed --hard --keep -p --patch -- *)--merge[reset out of a conflicted merge]' \
'(--soft --mixed --hard --merge -p --patch -- *)--keep[like --hard, but keep local working tree changes]' \
+ '--recurse-submodules=-[control recursive updating of submodules]::reset:__git_commits' \
'(-p --patch)'{-p,--patch}'[select diff hunks to remove from the index]' \
'(-q --quiet)'{-q,--quiet}'[suppress all output]' \
'(--soft --mixed --hard --merge --keep):: :__git_commits' \
@@ -1463,7 +1465,7 @@ _git-reset () {
(file)
local tree=HEAD
if zstyle -t :completion:${curcontext}: verbose; then
- if ! _call_program headed git rev-parse --verify HEAD 2>/dev/null; then
+ if ! tree=$(_call_program headed git rev-parse --verify HEAD); then
# well-known sha1 of the empty tree
tree=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
@@ -1721,9 +1723,10 @@ _git-status () {
fi
_arguments -S -s \
- '(-s --short --column --no-column)'{-s,--short}'[output in short format]' \
+ '(-s --short --column --no-column --show-stash)'{-s,--short}'[output in short format]' \
$branch_opts \
'(-s --short)--porcelain=-[produce machine-readable output]:version:(v1)' \
+ '(-s --short)--show-stash[show stash information]' \
'(-u --untracked-files)'{-u-,--untracked-files=-}'[show untracked files]::mode:((no\:"show no untracked files" \
normal\:"show untracked files and directories" \
all\:"also show untracked files in untracked directories (default)"))' \
@@ -3372,6 +3375,7 @@ _git-filter-branch () {
# such.
# TODO: * should be git-rev-arg and git-rev-list arguments.
_arguments -S -A '-*' \
+ '--setup[specify one time setup command]: :_cmdstring' \
'--env-filter[filter for modifying environment in which commit will be performed]: :_cmdstring' \
'--tree-filter[filter for rewriting tree and its contents]: :_cmdstring' \
'--index-filter[filter for rewriting index]: :_cmdstring' \
@@ -3643,6 +3647,7 @@ _git-repack () {
'--window=[number of objects to consider when doing delta compression]:number of objects' \
'--window-memory=[scale window size dynamically to not use more than specified amount of memory]: : __git_guard_bytes' \
'--depth=[maximum delta depth]:maximum delta depth' \
+ '--threads=[limit maximum number of threads]:threads' \
'--max-pack-size=-[maximum size of each output packfile]: : __git_guard_bytes "maximum pack size"' \
'--pack-kept-objects[repack objects in packs marked with .keep]'
}
Messages sorted by:
Reverse Date,
Date,
Thread,
Author