diff options
author | Michael Muré <batolettre@gmail.com> | 2019-01-08 16:32:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-08 16:32:55 +0100 |
commit | 44643efedc7c4f2b83e649ba102bd52cb35ec287 (patch) | |
tree | a9d2a8f3574906c4290fbb219ee517746f40b5ab | |
parent | 433c4fc46a7a2cabb69eee5226bb8ea87b6c5661 (diff) | |
parent | 43d0fe5caec529baa348b44f6e1cba49e87754a7 (diff) | |
download | git-bug-44643efedc7c4f2b83e649ba102bd52cb35ec287.tar.gz |
Merge pull request #91 from seeduvax/cmdShowFields
commands: show: change for a single valued --field flag
-rw-r--r-- | commands/show.go | 32 | ||||
-rw-r--r-- | doc/man/git-bug-show.1 | 4 | ||||
-rw-r--r-- | doc/md/git-bug_show.md | 3 | ||||
-rw-r--r-- | misc/bash_completion/git-bug | 3 | ||||
-rwxr-xr-x | misc/git_hooks/prepare-commit-msg | 24 |
5 files changed, 65 insertions, 1 deletions
diff --git a/commands/show.go b/commands/show.go index 935f617c..56717b3b 100644 --- a/commands/show.go +++ b/commands/show.go @@ -12,6 +12,10 @@ import ( "github.com/spf13/cobra" ) +var ( + showFieldsQuery string +) + func runShowBug(cmd *cobra.Command, args []string) error { backend, err := cache.NewRepoCache(repo) if err != nil { @@ -33,6 +37,32 @@ func runShowBug(cmd *cobra.Command, args []string) error { firstComment := snapshot.Comments[0] + if showFieldsQuery != "" { + switch showFieldsQuery { + case "author": + fmt.Printf("%s\n", firstComment.Author.DisplayName()) + case "authorEmail": + fmt.Printf("%s\n", firstComment.Author.Email) + case "createTime": + fmt.Printf("%s\n", firstComment.FormatTime()) + case "id": + fmt.Printf("%s\n", snapshot.Id()) + case "labels": + var labels = make([]string, len(snapshot.Labels)) + fmt.Printf("%s\n", strings.Join(labels, ", ")) + case "shortId": + fmt.Printf("%s\n", snapshot.HumanId()) + case "status": + fmt.Printf("%s\n", snapshot.Status) + case "title": + fmt.Printf("%s\n", snapshot.Title) + default: + return fmt.Errorf("\nUnsupported field: %s\n", showFieldsQuery) + } + + return nil + } + // Header fmt.Printf("[%s] %s %s\n\n", colors.Yellow(snapshot.Status), @@ -90,4 +120,6 @@ var showCmd = &cobra.Command{ func init() { RootCmd.AddCommand(showCmd) + showCmd.Flags().StringVarP(&showFieldsQuery, "field", "f", "", + "Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title]") } diff --git a/doc/man/git-bug-show.1 b/doc/man/git-bug-show.1 index 15344bba..05f856e9 100644 --- a/doc/man/git-bug-show.1 +++ b/doc/man/git-bug-show.1 @@ -20,6 +20,10 @@ Display the details of a bug .SH OPTIONS .PP +\fB\-f\fP, \fB\-\-field\fP="" + Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title] + +.PP \fB\-h\fP, \fB\-\-help\fP[=false] help for show diff --git a/doc/md/git-bug_show.md b/doc/md/git-bug_show.md index 4749e009..677ce9cd 100644 --- a/doc/md/git-bug_show.md +++ b/doc/md/git-bug_show.md @@ -13,7 +13,8 @@ git-bug show [<id>] [flags] ### Options ``` - -h, --help help for show + -f, --field string Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title] + -h, --help help for show ``` ### SEE ALSO diff --git a/misc/bash_completion/git-bug b/misc/bash_completion/git-bug index c5e8ddf3..d6c28214 100644 --- a/misc/bash_completion/git-bug +++ b/misc/bash_completion/git-bug @@ -644,6 +644,9 @@ _git-bug_show() flags_with_completion=() flags_completion=() + flags+=("--field=") + two_word_flags+=("-f") + local_nonpersistent_flags+=("--field=") must_have_one_flag=() must_have_one_noun=() diff --git a/misc/git_hooks/prepare-commit-msg b/misc/git_hooks/prepare-commit-msg new file mode 100755 index 00000000..6066d40e --- /dev/null +++ b/misc/git_hooks/prepare-commit-msg @@ -0,0 +1,24 @@ +#!/bin/sh +# +# Insert selected git-bug issue identifier in the comment. +# if no selected issue, print in comments the list of open issues. +# +cmtChar=`git config --get core.commentchar` +hashChar="#" +if [ "$cmtChar" = "" ] +then + cmtChar="#" +fi +if [ "$cmtChar" = "#" ] +then + hashChar=":" +fi + +ISSUE=`git bug show --field shortId` +if [ "$ISSUE" = "" ] +then + echo "$cmtChar !!!!! insert $hashChar<issue_id> in your comment, pick one in list below." >> "$1" + git bug ls status:open |sed 's/ open\t/ /'| sed "s/^/$cmtChar/" >> "$1" +else + sed -i "1i$hashChar$ISSUE " "$1" +fi |