From 43e56692e832bcb4ef39f745ec9fbaf7360052de Mon Sep 17 00:00:00 2001 From: Sladyn Date: Thu, 28 Feb 2019 02:49:35 +0530 Subject: ls.go:`git bug ls` should be faster Added `Title` to BugExcerpt Added `TitleFilter` to `filter.go` Used BugExcerpt in `ls` command to improve performance. Closes https://github.com/MichaelMure/git-bug/issues/98 --- commands/ls.go | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'commands/ls.go') diff --git a/commands/ls.go b/commands/ls.go index 75b7ceaf..e40f3542 100644 --- a/commands/ls.go +++ b/commands/ls.go @@ -5,7 +5,6 @@ import ( "strings" "github.com/MichaelMure/git-bug/cache" - "github.com/MichaelMure/git-bug/identity" "github.com/MichaelMure/git-bug/util/colors" "github.com/MichaelMure/git-bug/util/interrupt" "github.com/spf13/cobra" @@ -14,6 +13,7 @@ import ( var ( lsStatusQuery []string lsAuthorQuery []string + lsTitleQuery []string lsLabelQuery []string lsNoQuery []string lsSortBy string @@ -45,30 +45,22 @@ func runLsBug(cmd *cobra.Command, args []string) error { allIds := backend.QueryBugs(query) for _, id := range allIds { - b, err := backend.ResolveBug(id) + b, err := backend.ResolveBugExcerpt(id) if err != nil { return err } - snapshot := b.Snapshot() - - var author identity.Interface - - if len(snapshot.Comments) > 0 { - create := snapshot.Comments[0] - author = create.Author - } - // truncate + pad if needed - titleFmt := fmt.Sprintf("%-50.50s", snapshot.Title) - authorFmt := fmt.Sprintf("%-15.15s", author.DisplayName()) + titleFmt := fmt.Sprintf("%-50.50s", b.Title) + authorFmt := fmt.Sprintf("%-15.15s", b.Author.Name) - fmt.Printf("%s %s\t%s\t%s\t%s\n", + fmt.Printf("%s %s\t%s\t%s\tC:%d L:%d\n", colors.Cyan(b.HumanId()), - colors.Yellow(snapshot.Status), + colors.Yellow(b.Status), titleFmt, colors.Magenta(authorFmt), - snapshot.Summary(), + b.NoOfComments, + len(b.Labels), ) } @@ -87,6 +79,11 @@ func lsQueryFromFlags() (*cache.Query, error) { query.Status = append(query.Status, f) } + for _, title := range lsTitleQuery { + f := cache.TitleFilter(title) + query.Title = append(query.Title, f) + } + for _, author := range lsAuthorQuery { f := cache.AuthorFilter(author) query.Author = append(query.Author, f) @@ -156,6 +153,8 @@ func init() { "Filter by author") lsCmd.Flags().StringSliceVarP(&lsLabelQuery, "label", "l", nil, "Filter by label") + lsCmd.Flags().StringSliceVarP(&lsTitleQuery, "title", "t", nil, + "Filter by title") lsCmd.Flags().StringSliceVarP(&lsNoQuery, "no", "n", nil, "Filter by absence of something. Valid values are [label]") lsCmd.Flags().StringVarP(&lsSortBy, "by", "b", "creation", -- cgit From beecd2dbe449e551d08668adf0b8ace427d09c49 Mon Sep 17 00:00:00 2001 From: Sladyn Date: Fri, 1 Mar 2019 20:00:07 +0530 Subject: Made requested changes Made changes to the doc files and remaining areas which required updation. --- commands/ls.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'commands/ls.go') diff --git a/commands/ls.go b/commands/ls.go index e40f3542..7dbac96e 100644 --- a/commands/ls.go +++ b/commands/ls.go @@ -55,11 +55,15 @@ func runLsBug(cmd *cobra.Command, args []string) error { authorFmt := fmt.Sprintf("%-15.15s", b.Author.Name) fmt.Printf("%s %s\t%s\t%s\tC:%d L:%d\n", +<<<<<<< HEAD colors.Cyan(b.HumanId()), +======= + colors.Cyan(b.Id), +>>>>>>> Made requested changes colors.Yellow(b.Status), titleFmt, colors.Magenta(authorFmt), - b.NoOfComments, + b.LenComments, len(b.Labels), ) } -- cgit From f1d5ca4ff4e8f20f21e2cdc65fe854d6f9c16fee Mon Sep 17 00:00:00 2001 From: Sladyn Date: Sat, 2 Mar 2019 23:58:15 +0530 Subject: Rebased and updated. --- commands/ls.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'commands/ls.go') diff --git a/commands/ls.go b/commands/ls.go index 7dbac96e..75819f1a 100644 --- a/commands/ls.go +++ b/commands/ls.go @@ -52,14 +52,10 @@ func runLsBug(cmd *cobra.Command, args []string) error { // truncate + pad if needed titleFmt := fmt.Sprintf("%-50.50s", b.Title) - authorFmt := fmt.Sprintf("%-15.15s", b.Author.Name) + authorFmt := fmt.Sprintf("%-15.15s", b.LegacyAuthor.Name) fmt.Printf("%s %s\t%s\t%s\tC:%d L:%d\n", -<<<<<<< HEAD colors.Cyan(b.HumanId()), -======= - colors.Cyan(b.Id), ->>>>>>> Made requested changes colors.Yellow(b.Status), titleFmt, colors.Magenta(authorFmt), -- cgit