* [PATCH] completion: verify-tag is not plumbing @ 2016-01-31 12:44 John Keeping 2016-01-31 13:37 ` SZEDER Gábor 0 siblings, 1 reply; 4+ messages in thread From: John Keeping @ 2016-01-31 12:44 UTC (permalink / raw) To: git; +Cc: SZEDER Gábor, John Keeping According to command-list.txt, verify-tag is an ancillary interrogator, which means that it should be completed by "git verify-<TAB>" in the same way as verify-commit. Remove it from the list of plumbing commands so that it is treated as porcelain and completed. Signed-off-by: John Keeping <john@keeping.me.uk> --- contrib/completion/git-completion.bash | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 51f5223..250788a 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -728,7 +728,6 @@ __git_list_porcelain_commands () write-tree) : plumbing;; var) : infrequent;; verify-pack) : infrequent;; - verify-tag) : plumbing;; *) echo $i;; esac done -- 2.7.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] completion: verify-tag is not plumbing 2016-01-31 12:44 [PATCH] completion: verify-tag is not plumbing John Keeping @ 2016-01-31 13:37 ` SZEDER Gábor 2016-02-01 10:44 ` John Keeping 0 siblings, 1 reply; 4+ messages in thread From: SZEDER Gábor @ 2016-01-31 13:37 UTC (permalink / raw) To: John Keeping; +Cc: git Quoting John Keeping <john@keeping.me.uk>: > According to command-list.txt, verify-tag is an ancillary interrogator, > which means that it should be completed by "git verify-<TAB>" in the > same way as verify-commit. > > Remove it from the list of plumbing commands so that it is treated as > porcelain and completed. I'm not sure. There are commands among the ancillary interrogators that are basically porcelains (e.g. blame), while some are more like plumbing (e.g. rerere, rev-parse). In general the completion script supports the former but not the latter commands. Now, the real porcelain-ish way to verify a tag is via 'git tag -v|--verify', and according to a925c6f165a3 (bash: Classify more commends out of completion., 2007-02-04), the commit removing verify-tag from the completed commands, verify-tag was kept around for backwards compatibility reasons. OTOH verify-commit was introduced in d07b00b7f31d (verify-commit: scriptable commit signature verification, 2014-06-23), and as the subject line states it was intended more as a plumbing command. So I think we should keep excluding verify-tag from the list of porcelain commands in the completion script, and it was an oversight not to exclude verify-commit as well when it was introduced. Gábor > Signed-off-by: John Keeping <john@keeping.me.uk> > --- > contrib/completion/git-completion.bash | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/contrib/completion/git-completion.bash > b/contrib/completion/git-completion.bash > index 51f5223..250788a 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -728,7 +728,6 @@ __git_list_porcelain_commands () > write-tree) : plumbing;; > var) : infrequent;; > verify-pack) : infrequent;; > - verify-tag) : plumbing;; > *) echo $i;; > esac > done > -- > 2.7.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] completion: verify-tag is not plumbing 2016-01-31 13:37 ` SZEDER Gábor @ 2016-02-01 10:44 ` John Keeping 2016-02-01 18:51 ` Junio C Hamano 0 siblings, 1 reply; 4+ messages in thread From: John Keeping @ 2016-02-01 10:44 UTC (permalink / raw) To: SZEDER Gábor; +Cc: git On Sun, Jan 31, 2016 at 02:37:59PM +0100, SZEDER Gábor wrote: > > Quoting John Keeping <john@keeping.me.uk>: > > > According to command-list.txt, verify-tag is an ancillary interrogator, > > which means that it should be completed by "git verify-<TAB>" in the > > same way as verify-commit. > > > > Remove it from the list of plumbing commands so that it is treated as > > porcelain and completed. > > I'm not sure. There are commands among the ancillary interrogators > that are basically porcelains (e.g. blame), while some are more like > plumbing (e.g. rerere, rev-parse). In general the completion script > supports the former but not the latter commands. > > Now, the real porcelain-ish way to verify a tag is via 'git tag > -v|--verify', and according to a925c6f165a3 (bash: Classify more > commends out of completion., 2007-02-04), the commit removing > verify-tag from the completed commands, verify-tag was kept around for > backwards compatibility reasons. OTOH verify-commit was introduced in > d07b00b7f31d (verify-commit: scriptable commit signature verification, > 2014-06-23), and as the subject line states it was intended more as a > plumbing command. > > So I think we should keep excluding verify-tag from the list of > porcelain commands in the completion script, and it was an oversight > not to exclude verify-commit as well when it was introduced. I can accept that argument about verify-commit and verify-tag, but listing verify-tag as plumbing is incorrect according to command-list.txt (and thus git(1)). If we're going to classify commands, shouldn't we be consistent in how we do so? > > Signed-off-by: John Keeping <john@keeping.me.uk> > > --- > > contrib/completion/git-completion.bash | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/contrib/completion/git-completion.bash > > b/contrib/completion/git-completion.bash > > index 51f5223..250788a 100644 > > --- a/contrib/completion/git-completion.bash > > +++ b/contrib/completion/git-completion.bash > > @@ -728,7 +728,6 @@ __git_list_porcelain_commands () > > write-tree) : plumbing;; > > var) : infrequent;; > > verify-pack) : infrequent;; > > - verify-tag) : plumbing;; > > *) echo $i;; > > esac > > done > > -- > > 2.7.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] completion: verify-tag is not plumbing 2016-02-01 10:44 ` John Keeping @ 2016-02-01 18:51 ` Junio C Hamano 0 siblings, 0 replies; 4+ messages in thread From: Junio C Hamano @ 2016-02-01 18:51 UTC (permalink / raw) To: John Keeping; +Cc: SZEDER Gábor, git John Keeping <john@keeping.me.uk> writes: > I can accept that argument about verify-commit and verify-tag, but > listing verify-tag as plumbing is incorrect according to > command-list.txt (and thus git(1)). If we're going to classify > commands, shouldn't we be consistent in how we do so? These are not meant to be "classifications", but "justifications". When somebody asks "why isn't this command tab-completed?", you can find the explanation e.g. "because it is rarely used". A command being 'plumbing' does not have to make it automatically ineligible from getting tab-completed. For some small tasks, running a plumbing command may be the easiest way to achieve them in the interactive session, and it helps to have tab-completion for such a plumbing command (e.g. "git apply" is completed, IIRC). Also often the line between plumbing and Porcelain is somewhat blurry. I'd consider ancillaryX categories in command-list.txt a cop-out myself. In this particular case, saying "better use 'tag --verify'" there instead of "plumbing" may be more helpful for those who are reading this script. >> > Signed-off-by: John Keeping <john@keeping.me.uk> >> > --- >> > contrib/completion/git-completion.bash | 1 - >> > 1 file changed, 1 deletion(-) >> > >> > diff --git a/contrib/completion/git-completion.bash >> > b/contrib/completion/git-completion.bash >> > index 51f5223..250788a 100644 >> > --- a/contrib/completion/git-completion.bash >> > +++ b/contrib/completion/git-completion.bash >> > @@ -728,7 +728,6 @@ __git_list_porcelain_commands () >> > write-tree) : plumbing;; >> > var) : infrequent;; >> > verify-pack) : infrequent;; >> > - verify-tag) : plumbing;; >> > *) echo $i;; >> > esac >> > done >> > -- >> > 2.7.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-02-01 18:52 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-01-31 12:44 [PATCH] completion: verify-tag is not plumbing John Keeping 2016-01-31 13:37 ` SZEDER Gábor 2016-02-01 10:44 ` John Keeping 2016-02-01 18:51 ` Junio C Hamano
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.