Thread (6 messages) flat view 6 messages, 4 authors, 2016-06-15
DORMANTno replies

[FYI PATCH] bash completion: alias 'g' to 'git' with completion

From: Thomas Rast <hidden>
Date: 2016-06-15 22:45:26
Subsystem: the rest · Maintainer: Linus Torvalds

---

Rob Sanheim wrote:
On Thu, Oct 2, 2008 at 11:10 PM, Shawn O. Pearce [off-list ref] wrote:
quoted
No, you'll need to alias 'g' to git in bash, and then if you still
want completion you'll need to also register the compgen to call
_git completion routine.  Its two lines:

       alias g=git
       complete -o default -o nospace -F _git g
Thanks, that did it.
Actually it's not enough, you need to teach fetch, pull and push to
recognise the new alias too, as in this patch.  I do wonder if there's
a better approach to those functions however, so that the "obvious"
fix suggested by Shawn would work.

- Thomas


 contrib/completion/git-completion.bash |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7284c3b..547e735 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -789,7 +789,7 @@ _git_fetch ()
 	git-fetch*,1)
 		__gitcomp "$(__git_remotes)"
 		;;
-	git,2)
+	git,2|g,2)
 		__gitcomp "$(__git_remotes)"
 		;;
 	*)
@@ -1053,7 +1053,7 @@ _git_pull ()
 	git-pull*,1)
 		__gitcomp "$(__git_remotes)"
 		;;
-	git,2)
+	git,2|g,2)
 		__gitcomp "$(__git_remotes)"
 		;;
 	*)
@@ -1075,7 +1075,7 @@ _git_push ()
 	git-push*,1)
 		__gitcomp "$(__git_remotes)"
 		;;
-	git,2)
+	git,2|g,2)
 		__gitcomp "$(__git_remotes)"
 		;;
 	*)
@@ -1717,6 +1717,7 @@ _gitk ()
 }
 
 complete -o default -o nospace -F _git git
+complete -o default -o nospace -F _git g
 complete -o default -o nospace -F _gitk gitk
 
 # The following are necessary only for Cygwin, and only are needed
-- 
1.6.0.2.771.g3967
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help