Subject: [PATCH] completion: add stash import, export

From: "D. Ben Knoble" <[email-masked]>
Date: Sat, 7 Feb 2026 16:59:16 -0500

These newer commands lack completion; implement basic support for
options and arguments.

Signed-off-by: D. Ben Knoble <[email-masked]>
---

Notes (benknoble/commits):
    - t/t9902-completion.sh passes
    - advice on completing the --to-ref argument welcome, but I also think
      it's acceptable to not offer any completion there
    
    I happened to build this off of next, but it applies cleanly to master
    (which is probably the most appropriate base).

 contrib/completion/git-completion.bash | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 538dff1ee5..a8e7c6ddbf 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -3465,7 +3465,7 @@ _git_sparse_checkout ()
 
 _git_stash ()
 {
-	local subcommands='push list show apply clear drop pop create branch'
+	local subcommands='push list show apply clear drop pop create branch import export'
 	local subcommand="$(__git_find_on_cmdline "$subcommands save")"
 
 	if [ -z "$subcommand" ]; then
@@ -3491,6 +3491,9 @@ _git_stash ()
 	show,--*)
 		__gitcomp_builtin stash_show "$__git_diff_common_options"
 		;;
+	export,--*)
+		__gitcomp_builtin stash_export "--print --to-ref"
+		;;
 	*,--*)
 		__gitcomp_builtin "stash_$subcommand"
 		;;
@@ -3502,7 +3505,10 @@ _git_stash ()
 					| sed -n -e 's/:.*//p')"
 		fi
 		;;
-	show,*|apply,*|drop,*|pop,*)
+	import,*)
+		__git_complete_refs
+		;;
+	show,*|apply,*|drop,*|pop,*|export,*)
 		__gitcomp_nl "$(__git stash list \
 				| sed -n -e 's/:.*//p')"
 		;;

base-commit: 2a3d6836805534f45cf545da7be25ce1c759c514
-- 
2.52.0.rc0.971.g305ecc6b61.dirty