Merge branch 'ss/completion-rec-sub-fetch-push'
authorJunio C Hamano <gitster@pobox.com>
Fri, 14 Mar 2014 21:24:15 +0000 (14:24 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Mar 2014 21:24:15 +0000 (14:24 -0700)
* ss/completion-rec-sub-fetch-push:
completion: teach --recurse-submodules to fetch, pull and push

1  2 
contrib/completion/git-completion.bash
index 9525343fcd34ce5009fcfd9b2bf2c6356282e259,c044a68d229aab6d15b9c0ae00334bb9f4f03575..87de809d23146c2cee818555028cf8a24dc6c908
@@@ -1221,14 -1221,20 +1221,20 @@@ _git_difftool (
        __git_complete_revlist_file
  }
  
+ __git_fetch_recurse_submodules="yes on-demand no"
  __git_fetch_options="
        --quiet --verbose --append --upload-pack --force --keep --depth=
-       --tags --no-tags --all --prune --dry-run
+       --tags --no-tags --all --prune --dry-run --recurse-submodules=
  "
  
  _git_fetch ()
  {
        case "$cur" in
+       --recurse-submodules=*)
+               __gitcomp "$__git_fetch_recurse_submodules" "" "${cur##--recurse-submodules=}"
+               return
+               ;;
        --*)
                __gitcomp "$__git_fetch_options"
                return
@@@ -1499,12 -1505,6 +1505,12 @@@ _git_mergetool (
  
  _git_merge_base ()
  {
 +      case "$cur" in
 +      --*)
 +              __gitcomp "--octopus --independent --is-ancestor --fork-point"
 +              return
 +              ;;
 +      esac
        __gitcomp_nl "$(__git_refs)"
  }
  
@@@ -1583,6 -1583,10 +1589,10 @@@ _git_pull (
        __git_complete_strategy && return
  
        case "$cur" in
+       --recurse-submodules=*)
+               __gitcomp "$__git_fetch_recurse_submodules" "" "${cur##--recurse-submodules=}"
+               return
+               ;;
        --*)
                __gitcomp "
                        --rebase --no-rebase
        __git_complete_remote_or_refspec
  }
  
+ __git_push_recurse_submodules="check on-demand"
  _git_push ()
  {
        case "$prev" in
                __gitcomp_nl "$(__git_remotes)" "" "${cur##--repo=}"
                return
                ;;
+       --recurse-submodules=*)
+               __gitcomp "$__git_push_recurse_submodules" "" "${cur##--recurse-submodules=}"
+               return
+               ;;
        --*)
                __gitcomp "
                        --all --mirror --tags --dry-run --force --verbose
                        --receive-pack= --repo= --set-upstream
+                       --recurse-submodules=
                "
                return
                ;;
@@@ -1637,7 -1648,7 +1654,7 @@@ _git_rebase (
                        --preserve-merges --stat --no-stat
                        --committer-date-is-author-date --ignore-date
                        --ignore-whitespace --whitespace=
 -                      --autosquash
 +                      --autosquash --fork-point --no-fork-point
                        "
  
                return