zsh-workers
 help / color / mirror / code / Atom feed
From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: zsh-workers@zsh.org
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	[thread overview]
Message-ID: <14081.1501971067@thecus.kiddle.eu> (raw)
In-Reply-To: <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]'
 }


  reply	other threads:[~2017-08-05 22:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-31  0:59 Daniel Shahaf
2017-08-05 22:11 ` Oliver Kiddle [this message]
2017-08-06 17:01   ` Daniel Shahaf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=14081.1501971067@thecus.kiddle.eu \
    --to=okiddle@yahoo.co.uk \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).