git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 resend] bash completion: add basic support for git-reflog
@ 2010-12-16  6:56 Tay Ray Chuan
  2010-12-16  7:15 ` Jonathan Nieder
  0 siblings, 1 reply; 2+ messages in thread
From: Tay Ray Chuan @ 2010-12-16  6:56 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano, SZEDER Gábor, Jonathan Nieder

"Promote" the reflog command out of plumbing, so that we now run
completion for it. After all, it's listed under porcelain (ancillary),
and we do run completion for those commands.

Add basic completion for the three subcommands - show, expire, delete.
Try completing refs for these too.

Helped-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---

resend note:
This didn't seem to have been picked up. FYI, Johnathan
made a comment, but it was non-blocking, so I didn't change anything.

Changed from v1: 
 - picked up Gábor's suggestion on using __git_find_on_cmdline()
   to correctly handle situations where subcommands are used with dashed
   options.
 - don't "hide" reflog anymore - run completion for it too.

Gábor: hmm, it really seems that reflog is treated as plumbing - no completion
is done for it. Even get-tar-commit-id (I've never used this before) is treated
better than reflog. Shall do something about it!

 contrib/completion/git-completion.bash |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f710469..6732b1d 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -735,7 +735,6 @@ __git_list_porcelain_commands ()
 		quiltimport)      : import;;
 		read-tree)        : plumbing;;
 		receive-pack)     : plumbing;;
-		reflog)           : plumbing;;
 		remote-*)         : transport;;
 		repo-config)      : deprecated;;
 		rerere)           : plumbing;;
@@ -1632,6 +1631,18 @@ _git_rebase ()
 	__gitcomp "$(__git_refs)"
 }
 
+_git_reflog ()
+{
+	local subcommands="show delete expire"
+	local subcommand="$(__git_find_on_cmdline "$subcommands")"
+
+	if [ -z "$subcommand" ]; then
+		__gitcomp "$subcommands"
+	else
+		__gitcomp "$(__git_refs)"
+	fi
+}
+
 __git_send_email_confirm_options="always never auto cc compose"
 __git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all"
 
-- 
1.7.3.2.493.g2b058

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2 resend] bash completion: add basic support for git-reflog
  2010-12-16  6:56 [PATCH v2 resend] bash completion: add basic support for git-reflog Tay Ray Chuan
@ 2010-12-16  7:15 ` Jonathan Nieder
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Nieder @ 2010-12-16  7:15 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: Git Mailing List, Junio C Hamano, SZEDER Gábor

Tay Ray Chuan wrote:

> "Promote" the reflog command out of plumbing, so that we now run
> completion for it. After all, it's listed under porcelain (ancillary),
> and we do run completion for those commands.

Good point.

[...]
> Even get-tar-commit-id (I've never used this before) is treated
> better than reflog.

It's handy from time to time. :)

Thanks, and sorry to miss the point before.  The patch looks good.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-12-16  7:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-16  6:56 [PATCH v2 resend] bash completion: add basic support for git-reflog Tay Ray Chuan
2010-12-16  7:15 ` Jonathan Nieder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).