summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-03-26 09:18:52 +1100
committerJesse Duffield <jessedduffield@gmail.com>2020-03-26 18:30:02 +1100
commit37acc17cf3dc7df94aef5ee5a2c62763ea655bf2 (patch)
tree9068aa4ea52e4eaac020ea2d468f4b3b8ce41cd1
parent569ec5919cc1801783082d326d279f153fc806c8 (diff)
more lenient getting of short shas
-rw-r--r--pkg/commands/commit.go7
-rw-r--r--pkg/commands/commit_list_builder.go2
-rw-r--r--pkg/gui/presentation/commits.go4
-rw-r--r--pkg/gui/presentation/reflog_commits.go4
4 files changed, 12 insertions, 5 deletions
diff --git a/pkg/commands/commit.go b/pkg/commands/commit.go
index 4d440d5e3..32daeaa23 100644
--- a/pkg/commands/commit.go
+++ b/pkg/commands/commit.go
@@ -13,3 +13,10 @@ type Commit struct {
Author string
Date string
}
+
+func (c *Commit) ShortSha() string {
+ if len(c.Sha) < 8 {
+ return c.Sha
+ }
+ return c.Sha[:8]
+}
diff --git a/pkg/commands/commit_list_builder.go b/pkg/commands/commit_list_builder.go
index a31657b34..cab1b714d 100644
--- a/pkg/commands/commit_list_builder.go
+++ b/pkg/commands/commit_list_builder.go
@@ -105,7 +105,7 @@ func (c *CommitListBuilder) GetCommits(limit bool) ([]*Commit, error) {
// now we can split it up and turn it into commits
for _, line := range utils.SplitLines(log) {
commit := c.extractCommitFromLine(line)
- _, unpushed := unpushedCommits[commit.Sha[:8]]
+ _, unpushed := unpushedCommits[commit.ShortSha()]
commit.Status = map[bool]string{true: "unpushed", false: "pushed"}[unpushed]
commits = append(commits, commit)
}
diff --git a/pkg/gui/presentation/commits.go b/pkg/gui/presentation/commits.go
index 740abab78..00b8e7f34 100644
--- a/pkg/gui/presentation/commits.go
+++ b/pkg/gui/presentation/commits.go
@@ -74,7 +74,7 @@ func getFullDescriptionDisplayStringsForCommit(c *commands.Commit) []string {
truncatedAuthor := utils.TruncateWithEllipsis(c.Author, 17)
- return []string{shaColor.Sprint(c.Sha[:8]), secondColumnString, yellow.Sprint(truncatedAuthor), tagString + defaultColor.Sprint(c.Name)}
+ return []string{shaColor.Sprint(c.ShortSha()), secondColumnString, yellow.Sprint(truncatedAuthor), tagString + defaultColor.Sprint(c.Name)}
}
func getDisplayStringsForCommit(c *commands.Commit) []string {
@@ -122,5 +122,5 @@ func getDisplayStringsForCommit(c *commands.Commit) []string {
tagString = utils.ColoredStringDirect(strings.Join(c.Tags, " "), tagColor) + " "
}
- return []string{shaColor.Sprint(c.Sha[:8]), actionString + tagString + defaultColor.Sprint(c.Name)}
+ return []string{shaColor.Sprint(c.ShortSha()), actionString + tagString + defaultColor.Sprint(c.Name)}
}
diff --git a/pkg/gui/presentation/reflog_commits.go b/pkg/gui/presentation/reflog_commits.go
index 9ec325fb3..a3e39a70d 100644
--- a/pkg/gui/presentation/reflog_commits.go
+++ b/pkg/gui/presentation/reflog_commits.go
@@ -27,11 +27,11 @@ func GetReflogCommitListDisplayStrings(commits []*commands.Commit, fullDescripti
func getFullDescriptionDisplayStringsForReflogCommit(c *commands.Commit) []string {
defaultColor := color.New(theme.DefaultTextColor)
- return []string{utils.ColoredString(c.Sha[:8], color.FgBlue), utils.ColoredString(c.Date, color.FgMagenta), defaultColor.Sprint(c.Name)}
+ return []string{utils.ColoredString(c.ShortSha(), color.FgBlue), utils.ColoredString(c.Date, color.FgMagenta), defaultColor.Sprint(c.Name)}
}
func getDisplayStringsForReflogCommit(c *commands.Commit) []string {
defaultColor := color.New(theme.DefaultTextColor)
- return []string{utils.ColoredString(c.Sha[:8], color.FgBlue), defaultColor.Sprint(c.Name)}
+ return []string{utils.ColoredString(c.ShortSha(), color.FgBlue), defaultColor.Sprint(c.Name)}
}