Merge branch 'tb/complete-sequencing'
authorJunio C Hamano <gitster@pobox.com>
Thu, 11 Jun 2015 16:29:59 +0000 (09:29 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 11 Jun 2015 16:29:59 +0000 (09:29 -0700)
The bash completion script (in contrib/) learned a few options that
"git revert" takes.

* tb/complete-sequencing:
completion: suggest sequencer commands for revert

1  2 
contrib/completion/git-completion.bash
index bfc74e9d57a5293fce39362c68e7490888ec08e6,83f90a048cea28027088405493adfb6d78a9d445..3c00acda630b0baadd06123381f0ae3cb7d7d1c1
@@@ -665,8 -665,8 +665,8 @@@ __git_list_porcelain_commands (
                checkout-index)   : plumbing;;
                commit-tree)      : plumbing;;
                count-objects)    : infrequent;;
 -              credential-cache) : credentials helper;;
 -              credential-store) : credentials helper;;
 +              credential)       : credentials;;
 +              credential-*)     : credentials helper;;
                cvsexportcommit)  : export;;
                cvsimport)        : import;;
                cvsserver)        : daemon;;
  __git_porcelain_commands=
  __git_compute_porcelain_commands ()
  {
 -      __git_compute_all_commands
        test -n "$__git_porcelain_commands" ||
        __git_porcelain_commands=$(__git_list_porcelain_commands)
  }
  
 -__git_pretty_aliases ()
 +# Lists all set config variables starting with the given section prefix,
 +# with the prefix removed.
 +__git_get_config_variables ()
  {
 -      local i IFS=$'\n'
 -      for i in $(git --git-dir="$(__gitdir)" config --get-regexp "pretty\..*" 2>/dev/null); do
 -              case "$i" in
 -              pretty.*)
 -                      i="${i#pretty.}"
 -                      echo "${i/ */}"
 -                      ;;
 -              esac
 +      local section="$1" i IFS=$'\n'
 +      for i in $(git --git-dir="$(__gitdir)" config --get-regexp "^$section\..*" 2>/dev/null); do
 +              i="${i#$section.}"
 +              echo "${i/ */}"
        done
  }
  
 +__git_pretty_aliases ()
 +{
 +      __git_get_config_variables "pretty"
 +}
 +
  __git_aliases ()
  {
 -      local i IFS=$'\n'
 -      for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do
 -              case "$i" in
 -              alias.*)
 -                      i="${i#alias.}"
 -                      echo "${i/ */}"
 -                      ;;
 -              esac
 -      done
 +      __git_get_config_variables "alias"
  }
  
  # __git_aliased_command requires 1 argument
@@@ -1442,7 -1448,7 +1442,7 @@@ _git_log (
                return
                ;;
        --decorate=*)
 -              __gitcomp "long short" "" "${cur##--decorate=}"
 +              __gitcomp "full short no" "" "${cur##--decorate=}"
                return
                ;;
        --*)
@@@ -2117,7 -2123,6 +2117,7 @@@ _git_config (
                http.noEPSV
                http.postBuffer
                http.proxy
 +              http.sslCipherList
                http.sslCAInfo
                http.sslCAPath
                http.sslCert
@@@ -2255,7 -2260,12 +2255,7 @@@ _git_remote (
                __git_complete_remote_or_refspec
                ;;
        update)
 -              local i c='' IFS=$'\n'
 -              for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do
 -                      i="${i#remotes.}"
 -                      c="$c ${i/ */}"
 -              done
 -              __gitcomp "$c"
 +              __gitcomp "$(__git_get_config_variables "remotes")"
                ;;
        *)
                ;;
@@@ -2282,6 -2292,11 +2282,11 @@@ _git_reset (
  
  _git_revert ()
  {
+       local dir="$(__gitdir)"
+       if [ -f "$dir"/REVERT_HEAD ]; then
+               __gitcomp "--continue --quit --abort"
+               return
+       fi
        case "$cur" in
        --*)
                __gitcomp "--edit --mainline --no-edit --no-commit --signoff"