aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
Diffstat (limited to 'commands')
-rw-r--r--commands/label.go3
-rw-r--r--commands/label_ls.go33
-rw-r--r--commands/ls-id.go7
-rw-r--r--commands/ls-labels.go18
-rw-r--r--commands/ls.go14
-rw-r--r--commands/ls_test.go1
6 files changed, 62 insertions, 14 deletions
diff --git a/commands/label.go b/commands/label.go
index 906974a5..ff4d0151 100644
--- a/commands/label.go
+++ b/commands/label.go
@@ -20,13 +20,14 @@ func newLabelCommand() *cobra.Command {
}
cmd.AddCommand(newLabelAddCommand())
+ cmd.AddCommand(newLabelLsCommand())
cmd.AddCommand(newLabelRmCommand())
return cmd
}
func runLabel(env *Env, args []string) error {
- b, args, err := _select.ResolveBug(env.backend, args)
+ b, _, err := _select.ResolveBug(env.backend, args)
if err != nil {
return err
}
diff --git a/commands/label_ls.go b/commands/label_ls.go
new file mode 100644
index 00000000..242eb00c
--- /dev/null
+++ b/commands/label_ls.go
@@ -0,0 +1,33 @@
+package commands
+
+import (
+ "github.com/spf13/cobra"
+)
+
+func newLabelLsCommand() *cobra.Command {
+ env := newEnv()
+
+ cmd := &cobra.Command{
+ Use: "ls",
+ Short: "List valid labels.",
+ Long: `List valid labels.
+
+Note: in the future, a proper label policy could be implemented where valid labels are defined in a configuration file. Until that, the default behavior is to return the list of labels already used.`,
+ PreRunE: loadBackend(env),
+ RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error {
+ return runLabelLs(env)
+ }),
+ }
+
+ return cmd
+}
+
+func runLabelLs(env *Env) error {
+ labels := env.backend.ValidLabels()
+
+ for _, l := range labels {
+ env.out.Println(l)
+ }
+
+ return nil
+}
diff --git a/commands/ls-id.go b/commands/ls-id.go
index 41f017e8..31107e87 100644
--- a/commands/ls-id.go
+++ b/commands/ls-id.go
@@ -14,6 +14,13 @@ func newLsIdCommand() *cobra.Command {
RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error {
return runLsId(env, args)
}),
+ Deprecated: `and will be removed in v1.0.
+
+Please use the "ls" command which allows filtering and sorting of the resulting
+list of ids. The following example would print a new-line separated list containing
+the ids of all open bugs:
+git-bug ls --format id --status open
+`,
}
return cmd
diff --git a/commands/ls-labels.go b/commands/ls-labels.go
index 086943a9..00fc3fe6 100644
--- a/commands/ls-labels.go
+++ b/commands/ls-labels.go
@@ -15,19 +15,15 @@ func newLsLabelCommand() *cobra.Command {
Note: in the future, a proper label policy could be implemented where valid labels are defined in a configuration file. Until that, the default behavior is to return the list of labels already used.`,
PreRunE: loadBackend(env),
RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error {
- return runLsLabel(env)
+ return runLabelLs(env)
}),
- }
-
- return cmd
-}
-
-func runLsLabel(env *Env) error {
- labels := env.backend.ValidLabels()
+ Deprecated: ` and will be removed in v1.0.
- for _, l := range labels {
- env.out.Println(l)
+The functionality provided by this command is now provided by
+the following (equivalent) command:
+git-bug label ls
+`,
}
- return nil
+ return cmd
}
diff --git a/commands/ls.go b/commands/ls.go
index 6ec06f39..7ed897fa 100644
--- a/commands/ls.go
+++ b/commands/ls.go
@@ -92,9 +92,9 @@ git bug ls status:open --by creation "foo bar" baz
"Select the sorting direction. Valid values are [asc,desc]")
cmd.RegisterFlagCompletionFunc("direction", completeFrom([]string{"asc", "desc"}))
flags.StringVarP(&options.outputFormat, "format", "f", "default",
- "Select the output formatting style. Valid values are [default,plain,compact,json,org-mode]")
+ "Select the output formatting style. Valid values are [default,plain,compact,id,json,org-mode]")
cmd.RegisterFlagCompletionFunc("format",
- completeFrom([]string{"default", "plain", "compact", "json", "org-mode"}))
+ completeFrom([]string{"default", "plain", "compact", "id", "json", "org-mode"}))
return cmd
}
@@ -143,6 +143,8 @@ func runLs(env *Env, opts lsOptions, args []string) error {
return lsJsonFormatter(env, bugExcerpt)
case "compact":
return lsCompactFormatter(env, bugExcerpt)
+ case "id":
+ return lsIDFormatter(env, bugExcerpt)
case "default":
return lsDefaultFormatter(env, bugExcerpt)
default:
@@ -252,6 +254,14 @@ func lsCompactFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error {
return nil
}
+func lsIDFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error {
+ for _, b := range bugExcerpts {
+ env.out.Println(b.Id.String())
+ }
+
+ return nil
+}
+
func lsDefaultFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error {
for _, b := range bugExcerpts {
author, err := env.backend.ResolveIdentityExcerpt(b.AuthorId)
diff --git a/commands/ls_test.go b/commands/ls_test.go
index 5759f9d0..22adc1ce 100644
--- a/commands/ls_test.go
+++ b/commands/ls_test.go
@@ -61,6 +61,7 @@ $`
{"default", "^[0-9a-f]{7}\topen\tthis is a bug title \tJohn Doe \t\n$"},
{"plain", "^[0-9a-f]{7} \\[open\\] this is a bug title\n$"},
{"compact", "^[0-9a-f]{7} open this is a bug title John Doe\n$"},
+ {"id", "^[0-9a-f]{64}\n$"},
{"org-mode", expOrgMode},
}