Signed-off-by: Felipe Contreras <felipe.contre...@gmail.com>
---
 contrib/completion/git-completion.bash | 35 +++++++++++++++++-----------------
 t/t9902-completion.sh                  | 21 ++++++++++++++++++++
 2 files changed, 39 insertions(+), 17 deletions(-)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index d743e56..2a83504 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1112,6 +1112,14 @@ _git_fetch ()
        __git_complete_remote_or_refspec
 }
 
+__git_format_patch_options="
+       --stdout --attach --no-attach --thread --thread= --output-directory
+       --numbered --start-number --numbered-files --keep-subject --signoff
+       --signature --no-signature --in-reply-to= --cc= --full-index --binary
+       --not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
+       --inline --suffix= --ignore-if-in-upstream --subject-prefix=
+"
+
 _git_format_patch ()
 {
        case "$cur" in
@@ -1122,21 +1130,7 @@ _git_format_patch ()
                return
                ;;
        --*)
-               __gitcomp "
-                       --stdout --attach --no-attach --thread --thread=
-                       --output-directory
-                       --numbered --start-number
-                       --numbered-files
-                       --keep-subject
-                       --signoff --signature --no-signature
-                       --in-reply-to= --cc=
-                       --full-index --binary
-                       --not --all
-                       --cover-letter
-                       --no-prefix --src-prefix= --dst-prefix=
-                       --inline --suffix= --ignore-if-in-upstream
-                       --subject-prefix=
-                       "
+               __gitcomp "$__git_format_patch_options"
                return
                ;;
        esac
@@ -1550,6 +1544,12 @@ _git_send_email ()
                __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}"
                return
                ;;
+       --thread=*)
+               __gitcomp "
+                       deep shallow
+                       " "" "${cur##--thread=}"
+               return
+               ;;
        --*)
                __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
                        --compose --confirm= --dry-run --envelope-sender
@@ -1559,11 +1559,12 @@ _git_send_email ()
                        --signed-off-by-cc --smtp-pass --smtp-server
                        --smtp-server-port --smtp-encryption= --smtp-user
                        --subject --suppress-cc= --suppress-from --thread --to
-                       --validate --no-validate"
+                       --validate --no-validate
+                       $__git_format_patch_options"
                return
                ;;
        esac
-       COMPREPLY=()
+       __git_complete_revlist_file
 }
 
 _git_stage ()
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 92d7eb4..c4b6c13 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -146,6 +146,22 @@ test_expect_success '__gitcomp - suffix' '
        test_cmp expected out
 '
 
+setup_repository ()
+{
+       mkdir "$1" && (
+       cd "$1" &&
+       git init &&
+       test_tick &&
+       git commit --allow-empty -m "Initial"
+       )
+}
+
+test_expect_success 'prepare' '
+       setup_repository one &&
+       git clone one test &&
+       cd test
+'
+
 test_expect_success 'basic' '
        run_completion "git \"\"" &&
        # built-in
@@ -228,4 +244,9 @@ test_expect_success 'general options plus command' '
        test_completion "git --no-replace-objects check" "checkout "
 '
 
+test_expect_success 'send-email' '
+       test_completion "git send-email --cov" "--cover-letter " &&
+       test_completion "git send-email ma" "master "
+'
+
 test_done
-- 
1.7.12.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to