Merge branch 'sg/complete-symmetric-diff'
authorJunio C Hamano <gitster@pobox.com>
Wed, 23 Mar 2011 04:37:47 +0000 (21:37 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Mar 2011 04:37:47 +0000 (21:37 -0700)
* sg/complete-symmetric-diff:
bash: complete 'git diff ...branc<TAB>'
bash: fix misindented esac statement in __git_complete_file()

1  2 
contrib/completion/git-completion.bash
index ccdc172a06bcc55ff5c5c3c1854bb34f84910f90,0c48f1a733700d88332f4afd0d8d6c60b3ee21e1..3b1cc83e2d120b03d0a2fc8ca36078d22b1c9c15
@@@ -246,8 -246,6 +246,8 @@@ __git_ps1 (
                                fi
                        elif [ -f "$g/MERGE_HEAD" ]; then
                                r="|MERGING"
 +                      elif [ -f "$g/CHERRY_PICK_HEAD" ]; then
 +                              r="|CHERRY-PICKING"
                        elif [ -f "$g/BISECT_LOG" ]; then
                                r="|BISECTING"
                        fi
@@@ -664,11 -662,14 +664,14 @@@ __git_compute_merge_strategies (
        : ${__git_merge_strategies:=$(__git_list_merge_strategies)}
  }
  
- __git_complete_file ()
+ __git_complete_revlist_file ()
  {
        local pfx ls ref cur
        _get_comp_words_by_ref -n =: cur
        case "$cur" in
+       *..?*:*)
+               return
+               ;;
        ?*:*)
                ref="${cur%%:*}"
                cur="${cur#*:}"
                *)
                        ls="$ref"
                        ;;
-           esac
+               esac
  
                case "$COMP_WORDBREAKS" in
                *:*) : great ;;
                                       s/^.*    //')" \
                        -- "$cur"))
                ;;
-       *)
-               __gitcomp "$(__git_refs)"
-               ;;
-       esac
- }
- __git_complete_revlist ()
- {
-       local pfx cur
-       _get_comp_words_by_ref -n =: cur
-       case "$cur" in
        *...*)
                pfx="${cur%...*}..."
                cur="${cur#*...}"
        esac
  }
  
+ __git_complete_file ()
+ {
+       __git_complete_revlist_file
+ }
+ __git_complete_revlist ()
+ {
+       __git_complete_revlist_file
+ }
  __git_complete_remote_or_refspec ()
  {
        local cur words cword
@@@ -1356,11 -1357,11 +1359,11 @@@ _git_diff (
                return
                ;;
        esac
-       __git_complete_file
+       __git_complete_revlist_file
  }
  
  __git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
 -                      tkdiff vimdiff gvimdiff xxdiff araxis p4merge
 +                      tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3
  "
  
  _git_difftool ()