Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace copy commit SHA with copy commit subject on the y s keybind in the commits view #3188

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions pkg/commands/git_commands/commit.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,15 @@ func (self *CommitCommands) GetCommitMessage(commitSha string) (string, error) {
return strings.TrimSpace(message), err
}

func (self *CommitCommands) GetCommitSubject(commitSha string) (string, error) {
cmdArgs := NewGitCmd("log").
Arg("--format=%s", "--max-count=1", commitSha).
ToArgv()

subject, err := self.cmd.New(cmdArgs).DontLog().RunWithOutput()
return strings.TrimSpace(subject), err
}

func (self *CommitCommands) GetCommitDiff(commitSha string) (string, error) {
cmdArgs := NewGitCmd("show").Arg("--no-color", commitSha).ToArgv()

Expand Down
35 changes: 28 additions & 7 deletions pkg/gui/controllers/basic_commits_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,21 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e
OnPress: func() error {
return self.copyCommitSHAToClipboard(commit)
},
},
{
Label: self.c.Tr.CommitSubject,
OnPress: func() error {
return self.copyCommitSubjectToClipboard(commit)
},
Key: 's',
},
{
Label: self.c.Tr.CommitMessage,
OnPress: func() error {
return self.copyCommitMessageToClipboard(commit)
},
Key: 'm',
},
{
Label: self.c.Tr.CommitURL,
OnPress: func() error {
Expand All @@ -121,13 +134,6 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e
},
Key: 'd',
},
{
Label: self.c.Tr.CommitMessage,
OnPress: func() error {
return self.copyCommitMessageToClipboard(commit)
},
Key: 'm',
},
{
Label: self.c.Tr.CommitAuthor,
OnPress: func() error {
Expand Down Expand Up @@ -211,6 +217,21 @@ func (self *BasicCommitsController) copyCommitMessageToClipboard(commit *models.
return nil
}

func (self *BasicCommitsController) copyCommitSubjectToClipboard(commit *models.Commit) error {
message, err := self.c.Git().Commit.GetCommitSubject(commit.Sha)
if err != nil {
return self.c.Error(err)
}

self.c.LogAction(self.c.Tr.Actions.CopyCommitSubjectToClipboard)
if err := self.c.OS().CopyToClipboard(message); err != nil {
return self.c.Error(err)
}

self.c.Toast(self.c.Tr.CommitSubjectCopiedToClipboard)
return nil
}

func (self *BasicCommitsController) openInBrowser(commit *models.Commit) error {
url, err := self.c.Helpers().Host.GetCommitURL(commit.Sha)
if err != nil {
Expand Down
8 changes: 7 additions & 1 deletion pkg/i18n/english.go
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,7 @@ type TranslationSet struct {
CommitURL string
CopyCommitMessageToClipboard string
CommitMessage string
CommitSubject string
CommitAuthor string
CopyCommitAttributeToClipboard string
CopyBranchNameToClipboard string
Expand Down Expand Up @@ -519,6 +520,7 @@ type TranslationSet struct {
CommitSHACopiedToClipboard string
CommitURLCopiedToClipboard string
CommitMessageCopiedToClipboard string
CommitSubjectCopiedToClipboard string
CommitAuthorCopiedToClipboard string
PatchCopiedToClipboard string
CopiedToClipboard string
Expand Down Expand Up @@ -707,6 +709,7 @@ type Actions struct {
MoveCommitUp string
MoveCommitDown string
CopyCommitMessageToClipboard string
CopyCommitSubjectToClipboard string
CopyCommitDiffToClipboard string
CopyCommitSHAToClipboard string
CopyCommitURLToClipboard string
Expand Down Expand Up @@ -1277,7 +1280,8 @@ func EnglishTranslationSet() TranslationSet {
CommitSha: "Commit SHA",
CommitURL: "Commit URL",
CopyCommitMessageToClipboard: "Copy commit message to clipboard",
CommitMessage: "Commit message",
CommitMessage: "Full commit message",
CommitSubject: "Commit subject",
CommitAuthor: "Commit author",
CopyCommitAttributeToClipboard: "Copy commit attribute",
CopyBranchNameToClipboard: "Copy branch name to clipboard",
Expand Down Expand Up @@ -1334,6 +1338,7 @@ func EnglishTranslationSet() TranslationSet {
CommitSHACopiedToClipboard: "Commit SHA copied to clipboard",
CommitURLCopiedToClipboard: "Commit URL copied to clipboard",
CommitMessageCopiedToClipboard: "Commit message copied to clipboard",
CommitSubjectCopiedToClipboard: "Commit subject copied to clipboard",
CommitAuthorCopiedToClipboard: "Commit author copied to clipboard",
PatchCopiedToClipboard: "Patch copied to clipboard",
CopiedToClipboard: "Copied to clipboard",
Expand Down Expand Up @@ -1478,6 +1483,7 @@ func EnglishTranslationSet() TranslationSet {
CreateLightweightTag: "Create lightweight tag",
CreateAnnotatedTag: "Create annotated tag",
CopyCommitMessageToClipboard: "Copy commit message to clipboard",
CopyCommitSubjectToClipboard: "Copy commit subject to clipboard",
CopyCommitDiffToClipboard: "Copy commit diff to clipboard",
CopyCommitSHAToClipboard: "Copy commit SHA to clipboard",
CopyCommitURLToClipboard: "Copy commit URL to clipboard",
Expand Down
5 changes: 4 additions & 1 deletion pkg/i18n/russian.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,8 @@ func RussianTranslationSet() TranslationSet {
CommitSha: "SHA коммита",
CommitURL: "URL коммита",
CopyCommitMessageToClipboard: "Скопировать сообщение коммита в буфер обмена",
CommitMessage: "Сообщение коммита",
CommitMessage: "Полное сообщение коммита",
CommitSubject: "Тема коммита",
CommitAuthor: "Автор коммита",
CopyCommitAttributeToClipboard: "Скопировать атрибут коммита",
CopyBranchNameToClipboard: "Скопировать название ветки в буфер обмена",
Expand Down Expand Up @@ -492,6 +493,7 @@ func RussianTranslationSet() TranslationSet {
CommitSHACopiedToClipboard: "SHA коммита скопировано в буфер обмена",
CommitURLCopiedToClipboard: "URL коммита скопирован в буфер обмена",
CommitMessageCopiedToClipboard: "Сообщение коммита скопировано в буфер обмена",
CommitSubjectCopiedToClipboard: "Тема коммита скопирована в буфер обмена",
CommitAuthorCopiedToClipboard: "Автор коммита скопирован в буфер обмена",
PatchCopiedToClipboard: "Патч скопирован в буфер обмена",
CopiedToClipboard: "Скопировано в буфер обмена",
Expand Down Expand Up @@ -586,6 +588,7 @@ func RussianTranslationSet() TranslationSet {
CreateLightweightTag: "Создать легковесный тег",
CreateAnnotatedTag: "Создать аннотированный тег",
CopyCommitMessageToClipboard: "Скопировать сообщение коммита в буфер обмена",
CopyCommitSubjectToClipboard: "Скопировать тему коммита в буфер обмена",
CopyCommitDiffToClipboard: "Скопировать сравнения коммита в буфер обмена",
CopyCommitSHAToClipboard: "Скопировать SHA коммита в буфер обмена",
CopyCommitURLToClipboard: "Скопировать URL коммита в буфер обмена",
Expand Down
Loading