Sync with maint
authorJunio C Hamano <gitster@pobox.com>
Wed, 24 Apr 2013 23:30:04 +0000 (16:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Apr 2013 23:30:04 +0000 (16:30 -0700)
* maint:
Update draft release notes to 1.8.2.2
completion: remove duplicate block for "git commit -c"
cherry-pick/revert: make usage say '<commit-ish>...'

1  2 
contrib/completion/git-completion.bash
index 6df62c217321b4f66fd230a1b95f2b3cfe2becd2,f67b0f008b7c7e82612d7d2330cbd6dbf80adf6b..bc3fc9e323564889c2c55013c7286c0cd01615d7
@@@ -53,6 -53,19 +53,6 @@@ __gitdir (
        fi
  }
  
 -__gitcomp_1 ()
 -{
 -      local c IFS=$' \t\n'
 -      for c in $1; do
 -              c="$c$2"
 -              case $c in
 -              --*=*|*.) ;;
 -              *) c="$c " ;;
 -              esac
 -              printf '%s\n' "$c"
 -      done
 -}
 -
  # The following function is based on code from:
  #
  #   bash_completion - programmable completion functions for bash 3.2+
@@@ -182,18 -195,8 +182,18 @@@ _get_comp_words_by_ref (
  }
  fi
  
 -# Generates completion reply with compgen, appending a space to possible
 -# completion words, if necessary.
 +__gitcompadd ()
 +{
 +      local i=0
 +      for x in $1; do
 +              if [[ "$x" == "$3"* ]]; then
 +                      COMPREPLY[i++]="$2$x$4"
 +              fi
 +      done
 +}
 +
 +# Generates completion reply, appending a space to possible completion words,
 +# if necessary.
  # It accepts 1 to 4 arguments:
  # 1: List of possible completion words.
  # 2: A prefix to be added to each possible completion word (optional).
@@@ -205,25 -208,19 +205,25 @@@ __gitcomp (
  
        case "$cur_" in
        --*=)
 -              COMPREPLY=()
                ;;
        *)
 -              local IFS=$'\n'
 -              COMPREPLY=($(compgen -P "${2-}" \
 -                      -W "$(__gitcomp_1 "${1-}" "${4-}")" \
 -                      -- "$cur_"))
 +              local c i=0 IFS=$' \t\n'
 +              for c in $1; do
 +                      c="$c${4-}"
 +                      if [[ $c == "$cur_"* ]]; then
 +                              case $c in
 +                              --*=*|*.) ;;
 +                              *) c="$c " ;;
 +                              esac
 +                              COMPREPLY[i++]="${2-}$c"
 +                      fi
 +              done
                ;;
        esac
  }
  
 -# Generates completion reply with compgen from newline-separated possible
 -# completion words by appending a space to all of them.
 +# Generates completion reply from newline-separated possible completion words
 +# by appending a space to all of them.
  # It accepts 1 to 4 arguments:
  # 1: List of possible completion words, separated by a single newline.
  # 2: A prefix to be added to each possible completion word (optional).
  __gitcomp_nl ()
  {
        local IFS=$'\n'
 -      COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}"))
 +      __gitcompadd "$1" "${2-}" "${3-$cur}" "${4- }"
  }
  
  # Generates completion reply with compgen from newline-separated possible
@@@ -617,6 -614,7 +617,6 @@@ __git_complete_remote_or_refspec (
                        case "$cmd" in
                        push) no_complete_refspec=1 ;;
                        fetch)
 -                              COMPREPLY=()
                                return
                                ;;
                        *) ;;
                return
        fi
        if [ $no_complete_refspec = 1 ]; then
 -              COMPREPLY=()
                return
        fi
        [ "$remote" = "." ] && remote=
@@@ -952,6 -951,7 +952,6 @@@ _git_am (
                        "
                return
        esac
 -      COMPREPLY=()
  }
  
  _git_apply ()
                        "
                return
        esac
 -      COMPREPLY=()
  }
  
  _git_add ()
@@@ -1030,6 -1031,7 +1030,6 @@@ _git_bisect (
                __gitcomp_nl "$(__git_refs)"
                ;;
        *)
 -              COMPREPLY=()
                ;;
        esac
  }
@@@ -1122,14 -1124,9 +1122,14 @@@ _git_cherry (
  
  _git_cherry_pick ()
  {
 +      local dir="$(__gitdir)"
 +      if [ -f "$dir"/CHERRY_PICK_HEAD ]; then
 +              __gitcomp "--continue --quit --abort"
 +              return
 +      fi
        case "$cur" in
        --*)
 -              __gitcomp "--edit --no-commit"
 +              __gitcomp "--edit --no-commit --signoff --strategy= --mainline"
                ;;
        *)
                __gitcomp_nl "$(__git_refs)"
@@@ -1173,6 -1170,7 +1173,6 @@@ _git_clone (
                return
                ;;
        esac
 -      COMPREPLY=()
  }
  
  _git_commit ()
                ;;
        esac
  
-       case "$prev" in
-       -c|-C)
-               __gitcomp_nl "$(__git_refs)" "" "${cur}"
-               return
-               ;;
-       esac
        case "$cur" in
        --cleanup=*)
                __gitcomp "default strip verbatim whitespace
@@@ -1356,6 -1347,7 +1349,6 @@@ _git_fsck (
                return
                ;;
        esac
 -      COMPREPLY=()
  }
  
  _git_gc ()
                return
                ;;
        esac
 -      COMPREPLY=()
  }
  
  _git_gitk ()
@@@ -1442,6 -1435,7 +1435,6 @@@ _git_init (
                return
                ;;
        esac
 -      COMPREPLY=()
  }
  
  _git_ls_files ()
@@@ -1577,6 -1571,7 +1570,6 @@@ _git_mergetool (
                return
                ;;
        esac
 -      COMPREPLY=()
  }
  
  _git_merge_base ()
@@@ -1829,7 -1824,7 +1822,7 @@@ _git_config (
                local remote="${prev#remote.}"
                remote="${remote%.fetch}"
                if [ -z "$cur" ]; then
 -                      COMPREPLY=("refs/heads/")
 +                      __gitcompadd "refs/heads/" "" "" ""
                        return
                fi
                __gitcomp_nl "$(__git_refs_remotes "$remote")"
                return
                ;;
        *.*)
 -              COMPREPLY=()
                return
                ;;
        esac
@@@ -2269,6 -2265,7 +2262,6 @@@ _git_remote (
                __gitcomp "$c"
                ;;
        *)
 -              COMPREPLY=()
                ;;
        esac
  }
@@@ -2384,6 -2381,8 +2377,6 @@@ _git_stash (
                *)
                        if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then
                                __gitcomp "$subcommands"
 -                      else
 -                              COMPREPLY=()
                        fi
                        ;;
                esac
                        __gitcomp "--index --quiet"
                        ;;
                show,--*|drop,--*|branch,--*)
 -                      COMPREPLY=()
                        ;;
                show,*|apply,*|drop,*|pop,*|branch,*)
                        __gitcomp_nl "$(git --git-dir="$(__gitdir)" stash list \
                                        | sed -n -e 's/:.*//p')"
                        ;;
                *)
 -                      COMPREPLY=()
                        ;;
                esac
        fi
@@@ -2411,7 -2412,7 +2404,7 @@@ _git_submodule (
  {
        __git_has_doubledash && return
  
 -      local subcommands="add status init update summary foreach sync"
 +      local subcommands="add status init deinit update summary foreach sync"
        if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then
                case "$cur" in
                --*)
@@@ -2518,6 -2519,7 +2511,6 @@@ _git_svn (
                        __gitcomp "--revision= --parent"
                        ;;
                *)
 -                      COMPREPLY=()
                        ;;
                esac
        fi
@@@ -2542,10 -2544,13 +2535,10 @@@ _git_tag (
  
        case "$prev" in
        -m|-F)
 -              COMPREPLY=()
                ;;
        -*|tag)
                if [ $f = 1 ]; then
                        __gitcomp_nl "$(__git_tags)"
 -              else
 -                      COMPREPLY=()
                fi
                ;;
        *)