aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--commands/show.go32
-rw-r--r--doc/man/git-bug-show.14
-rw-r--r--doc/md/git-bug_show.md3
-rw-r--r--misc/bash_completion/git-bug3
-rwxr-xr-xmisc/git_hooks/prepare-commit-msg24
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