diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-22 14:05:42 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-22 14:36:35 +1000 |
commit | 7807b403229cb57f261d97d15a76d0b35b15e19a (patch) | |
tree | 6e243e0a712a644e579e44fe055cd1054bf51523 /pkg | |
parent | b284970bac62364c2cccf6a2408d4584ae93056d (diff) |
Better tag creation UX
Previously we used a single-line prompt for a tag annotation. Now we're using the commit message
prompt.
I've had to update other uses of that prompt to allow the summary and description labels to
be passed in
Diffstat (limited to 'pkg')
27 files changed, 209 insertions, 187 deletions
diff --git a/pkg/cheatsheet/generate.go b/pkg/cheatsheet/generate.go index ec2c84dbd..f1e8a3487 100644 --- a/pkg/cheatsheet/generate.go +++ b/pkg/cheatsheet/generate.go @@ -101,7 +101,7 @@ func localisedTitle(tr *i18n.TranslationSet, str string) string { "reflogCommits": tr.ReflogCommitsTitle, "tags": tr.TagsTitle, "commitFiles": tr.CommitFilesTitle, - "commitMessage": tr.CommitMessageTitle, + "commitMessage": tr.CommitSummaryTitle, "commitDescription": tr.CommitDescriptionTitle, "commits": tr.CommitsTitle, "confirmation": tr.ConfirmationTitle, diff --git a/pkg/commands/git_commands/commit.go b/pkg/commands/git_commands/commit.go index 47490f039..9a37ddb34 100644 --- a/pkg/commands/git_commands/commit.go +++ b/pkg/commands/git_commands/commit.go @@ -50,13 +50,13 @@ func (self *CommitCommands) ResetToCommit(sha string, strength string, envVars [ Run() } -func (self *CommitCommands) CommitCmdObj(message string) oscommands.ICmdObj { - messageArgs := self.commitMessageArgs(message) +func (self *CommitCommands) CommitCmdObj(summary string, description string) oscommands.ICmdObj { + messageArgs := self.commitMessageArgs(summary, description) skipHookPrefix := self.UserConfig.Git.SkipHookPrefix cmdArgs := NewGitCmd("commit"). - ArgIf(skipHookPrefix != "" && strings.HasPrefix(message, skipHookPrefix), "--no-verify"). + ArgIf(skipHookPrefix != "" && strings.HasPrefix(summary, skipHookPrefix), "--no-verify"). ArgIf(self.signoffFlag() != "", self.signoffFlag()). Arg(messageArgs...). ToArgv() @@ -69,8 +69,8 @@ func (self *CommitCommands) RewordLastCommitInEditorCmdObj() oscommands.ICmdObj } // RewordLastCommit rewords the topmost commit with the given message -func (self *CommitCommands) RewordLastCommit(message string) error { - messageArgs := self.commitMessageArgs(message) +func (self *CommitCommands) RewordLastCommit(summary string, description string) error { + messageArgs := self.commitMessageArgs(summary, description) cmdArgs := NewGitCmd("commit"). Arg("--allow-empty", "--amend", "--only"). @@ -80,9 +80,8 @@ func (self *CommitCommands) RewordLastCommit(message string) error { return self.cmd.New(cmdArgs).Run() } -func (self *CommitCommands) commitMessageArgs(message string) []string { - msg, description, _ := strings.Cut(message, "\n") - args := []string{"-m", msg} +func (self *CommitCommands) commitMessageArgs(summary string, description string) []string { + args := []string{"-m", summary} if description != "" { args = append(args, "-m", description) diff --git a/pkg/commands/git_commands/commit_test.go b/pkg/commands/git_commands/commit_test.go index 235a72465..d25d613b2 100644 --- a/pkg/commands/git_commands/commit_test.go +++ b/pkg/commands/git_commands/commit_test.go @@ -10,20 +10,23 @@ import ( func TestCommitRewordCommit(t *testing.T) { type scenario struct { - testName string - runner *oscommands.FakeCmdObjRunner - input string + testName string + runner *oscommands.FakeCmdObjRunner + summary string + description string } scenarios := []scenario{ { "Single line reword", oscommands.NewFakeRunner(t).ExpectGitArgs([]string{"commit", "--allow-empty", "--amend", "--only", "-m", "test"}, "", nil), "test", + "", }, { "Multi line reword", oscommands.NewFakeRunner(t).ExpectGitArgs([]string{"commit", "--allow-empty", "--amend", "--only", "-m", "test", "-m", "line 2\nline 3"}, "", nil), - "test\nline 2\nline 3", + "test", + "line 2\nline 3", }, } for _, s := range scenarios { @@ -31,7 +34,7 @@ func TestCommitRewordCommit(t *testing.T) { t.Run(s.testName, func(t *testing.T) { instance := buildCommitCommands(commonDeps{runner: s.runner}) - assert.NoError(t, instance.RewordLastCommit(s.input)) + assert.NoError(t, instance.RewordLastCommit(s.summary, s.description)) s.runner.CheckForMissingCalls() }) } @@ -50,7 +53,8 @@ func TestCommitResetToCommit(t *testing.T) { func TestCommitCommitCmdObj(t *testing.T) { type scenario struct { testName string - message string + summary string + description string configSignoff bool configSkipHookPrefix string expectedArgs []string @@ -59,35 +63,36 @@ func TestCommitCommitCmdObj(t *testing.T) { scenarios := []scenario{ { testName: "Commit", - message: "test", + summary: "test", configSignoff: false, configSkipHookPrefix: "", expectedArgs: []string{"commit", "-m", "test"}, }, { testName: "Commit with --no-verify flag", - message: "WIP: test", + summary: "WIP: test", configSignoff: false, configSkipHookPrefix: "WIP", expectedArgs: []string{"commit", "--no-verify", "-m", "WIP: test"}, }, { testName: "Commit with multiline message", - message: "line1\nline2", + summary: "line1", + description: "line2", configSignoff: false, configSkipHookPrefix: "", expectedArgs: []string{"commit", "-m", "line1", "-m", "line2"}, }, { testName: "Commit with signoff", - message: "test", + summary: "test", configSignoff: true, configSkipHookPrefix: "", expectedArgs: []string{"commit", "--signoff", "-m", "test"}, }, { testName: "Commit with signoff and no-verify", - message: "WIP: test", + summary: "WIP: test", configSignoff: true, configSkipHookPrefix: "WIP", expectedArgs: []string{"commit", "--no-verify", "--signoff", "-m", "WIP: test"}, @@ -104,7 +109,7 @@ func TestCommitCommitCmdObj(t *testing.T) { runner := oscommands.NewFakeRunner(t).ExpectGitArgs(s.expectedArgs, "", nil) instance := buildCommitCommands(commonDeps{userConfig: userConfig, runner: runner}) - assert.NoError(t, instance.CommitCmdObj(s.message).Run()) + assert.NoError(t, instance.CommitCmdObj(s.summary, s.description).Run()) runner.CheckForMissingCalls() }) } diff --git a/pkg/commands/git_commands/patch.go b/pkg/commands/git_commands/patch.go index 3159ff31d..56747a315 100644 --- a/pkg/commands/git_commands/patch.go +++ b/pkg/commands/git_commands/patch.go @@ -302,7 +302,7 @@ func (self *PatchCommands) PullPatchIntoNewCommit(commits []*models.Commit, comm head_message, _ := self.commit.GetHeadCommitMessage() new_message := fmt.Sprintf("Split from \"%s\"", head_message) - if err := self.commit.CommitCmdObj(new_message).Run(); err != nil { + if err := self.commit.CommitCmdObj(new_message, "").Run(); err != nil { return err } diff --git a/pkg/commands/git_commands/rebase.go b/pkg/commands/git_commands/rebase.go index 5067c167c..74bb3d464 100644 --- a/pkg/commands/git_commands/rebase.go +++ b/pkg/commands/git_commands/rebase.go @@ -35,10 +35,10 @@ func NewRebaseCommands( } } -func (self *RebaseCommands) RewordCommit(commits []*models.Commit, index int, message string) error { +func (self *RebaseCommands) RewordCommit(commits []*models.Commit, index int, summary string, description string) error { if models.IsHeadCommit(commits, index) { // we've selected the top commit so no rebase is required - return self.commit.RewordLastCommit(message) + return self.commit.RewordLastCommit(summary, description) } err := self.BeginInteractiveRebaseForCommit(commits, index, false) @@ -47,7 +47,7 @@ func (self *RebaseCommands) RewordCommit(commits []*models.Commit, index int, me } // now the selected commit should be our head so we'll amend it with the new message - err = self.commit.RewordLastCommit(message) + err = self.commit.RewordLastCommit(summary, description) if err != nil { return err } diff --git a/pkg/gui/context/commit_message_context.go b/pkg/gui/context/commit_message_context.go index 4241f859f..4ad99e12c 100644 --- a/pkg/gui/context/commit_message_context.go +++ b/pkg/gui/context/commit_message_context.go @@ -31,7 +31,7 @@ type CommitMessageViewModel struct { // the full preserved message (combined summary and description) preservedMessage string // invoked when pressing enter in the commit message panel - onConfirm func(string) error + onConfirm func(string, string) error // The message typed in before cycling through history // We store this separately to 'preservedMessage' because 'preservedMessage' @@ -88,15 +88,22 @@ func (self *CommitMessageContext) SetHistoryMessage(message string) { self.viewModel.historyMessage = message } -func (self *CommitMessageContext) OnConfirm(message string) error { - return self.viewModel.onConfirm(message) +func (self *CommitMessageContext) OnConfirm(summary string, description string) error { + return self.viewModel.onConfirm(summary, description) } -func (self *CommitMessageContext) SetPanelState(index int, title string, preserveMessage bool, onConfirm func(string) error) { +func (self *CommitMessageContext) SetPanelState( + index int, + summaryTitle string, + descriptionTitle string, + preserveMessage bool, + onConfirm func(string, string) error, +) { self.viewModel.selectedindex = index self.viewModel.preserveMessage = preserveMessage self.viewModel.onConfirm = onConfirm - self.GetView().Title = title + self.GetView().Title = summaryTitle + self.c.Views().CommitDescription.Title = descriptionTitle } func (self *CommitMessageContext) RenderCommitLength() { diff --git a/pkg/gui/controllers.go b/pkg/gui/controllers.go index a17592513..d2ee837ae 100644 --- a/pkg/gui/controllers.go +++ b/pkg/gui/controllers.go @@ -74,7 +74,7 @@ func (gui *Gui) resetHelpersAndControllers() { Suggestions: suggestionsHelper, Files: helpers.NewFilesHelper(helperCommon), WorkingTree: helpers.NewWorkingTreeHelper(helperCommon, refsHelper, commitsHelper, gpgHelper), - Tags: helpers.NewTagsHelper(helperCommon), + Tags: helpers.NewTagsHelper(helperCommon, commitsHelper), GPG: helpers.NewGpgHelper(helperCommon), MergeAndRebase: rebaseHelper, MergeConflicts: mergeConflictsHelper, diff --git a/pkg/gui/controllers/branches_controller.go b/pkg/gui/controllers/branches_controller.go index c55a39041..a1a791805 100644 --- a/pkg/gui/controllers/branches_controller.go +++ b/pkg/gui/controllers/branches_controller.go @@ -395,7 +395,7 @@ func (self *BranchesController) fastForward(branch *models.Branch) error { } func (self *BranchesController) createTag(branch *models.Branch) error { - return self.c.Helpers().Tags.CreateTagMenu(branch.FullRefName(), func() {}) + return self.c.Helpers().Tags.OpenCreateTagPrompt(branch.FullRefName(), func() {}) } func (self *BranchesController) createResetMenu(selectedBranch *models.Branch) error { diff --git a/pkg/gui/controllers/helpers/commits_helper.go b/pkg/gui/controllers/helpers/commits_helper.go index 262f970de..10a28ad5f 100644 --- a/pkg/gui/controllers/helpers/commits_helper.go +++ b/pkg/gui/controllers/helpers/commits_helper.go @@ -63,33 +63,44 @@ func (self *CommitsHelper) JoinCommitMessageAndDescription() string { } func (self *CommitsHelper) UpdateCommitPanelView(message string) { - // first try the passed in message, if not fallback to context -> view in that order if message != "" { self.SetMessageAndDescriptionInView(message) return } - message = self.c.Contexts().CommitMessage.GetPreservedMessage() - if message != "" { - self.SetMessageAndDescriptionInView(message) - } else { - self.SetMessageAndDescriptionInView(self.getCommitSummary()) + + if self.c.Contexts().CommitMessage.GetPreserveMessage() { + preservedMessage := self.c.Contexts().CommitMessage.GetPreservedMessage() + self.SetMessageAndDescriptionInView(preservedMessage) + return } + + self.SetMessageAndDescriptionInView("") } type OpenCommitMessagePanelOpts struct { - CommitIndex int - Title string - PreserveMessage bool - OnConfirm func(string) error - InitialMessage string + CommitIndex int + SummaryTitle string + DescriptionTitle string + PreserveMessage bool + OnConfirm func(summary string, description string) error + InitialMessage string } func (self *CommitsHelper) OpenCommitMessagePanel(opts *OpenCommitMessagePanelOpts) error { + onConfirm := func(summary string, description string) error { + if err := self.CloseCommitMessagePanel(); err != nil { + return err + } + + return opts.OnConfirm(summary, description) + } + self.c.Contexts().CommitMessage.SetPanelState( opts.CommitIndex, - opts.Title, + opts.SummaryTitle, + opts.DescriptionTitle, opts.PreserveMessage, - opts.OnConfirm, + onConfirm, ) self.UpdateCommitPanelView(opts.InitialMessage) @@ -102,17 +113,16 @@ func (self *CommitsHelper) OnCommitSuccess() { if self.c.Contexts().CommitMessage.GetPreserveMessage() { self.c.Contexts().CommitMessage.SetPreservedMessage("") } - self.SetMessageAndDescriptionInView("") } func (self *CommitsHelper) HandleCommitConfirm() error { - fullMessage := self.JoinCommitMessageAndDescription() + summary, description := self.getCommitSummary(), self.getCommitDescription() - if fullMessage == "" { + if summary == "" { return self.c.ErrorMsg(self.c.Tr.CommitWithoutMessageErr) } - err := self.c.Contexts().CommitMessage.OnConfirm(fullMessage) + err := self.c.Contexts().CommitMessage.OnConfirm(summary, description) if err != nil { return err } diff --git a/pkg/gui/controllers/helpers/tags_helper.go b/pkg/gui/controllers/helpers/tags_helper.go index 96e6b8fc7..47f2115ce 100644 --- a/pkg/gui/controllers/helpers/tags_helper.go +++ b/pkg/gui/controllers/helpers/tags_helper.go @@ -1,77 +1,54 @@ package helpers import ( + "github.com/jesseduffield/gocui" + "github.com/jesseduffield/lazygit/pkg/gui/context" "github.com/jesseduffield/lazygit/pkg/gui/types" ) -// Helper structs are for defining functionality that could be used by multiple contexts. -// For example, here we have a CreateTagMenu which is applicable to both the tags context -// and the commits context. - type TagsHelper struct { - c *HelperCommon + c *HelperCommon + commitsHelper *CommitsHelper } -func NewTagsHelper(c *HelperCommon) *TagsHelper { +func NewTagsHelper(c *HelperCommon, commitsHelper *CommitsHelper) *TagsHelper { return &TagsHelper{ - c: c, + c: c, + commitsHelper: commitsHelper, } } -func (self *TagsHelper) CreateTagMenu(ref string, onCreate func()) error { - return self.c.Menu(types.CreateMenuOptions{ - Title: self.c.Tr.TagMenuTitle, - Items: []*types.MenuItem{ - { - Label: self.c.Tr.LightweightTag, - OnPress: func() error { - return self.handleCreateLightweightTag(ref, onCreate) - }, - }, - { - Label: self.c.Tr.AnnotatedTag, - OnPress: func() error { - return self.handleCreateAnnotatedTag(ref, onCreate) - }, - }, - }, - }) -} +func (self *TagsHelper) OpenCreateTagPrompt(ref string, onCreate func()) error { + onConfirm := func(tagName string, description string) error { + return self.c.WithWaitingStatus(self.c.Tr.CreatingTag, func(gocui.Task) error { + if description != "" { + self.c.LogAction(self.c.Tr.Actions.CreateAnnotatedTag) + if err := self.c.Git().Tag.CreateAnnotated(tagName, ref, description); err != nil { + return self.c.Error(err) + } + } else { + self.c.LogAction(self.c.Tr.Actions.CreateLightweightTag) + if err := self.c.Git().Tag.CreateLightweight(tagName, ref); err != nil { + return self.c.Error(err) + } + } -func (self *TagsHelper) afterTagCreate(onCreate func()) error { - onCreate() - return self.c.Refresh(types.RefreshOptions{ - Mode: types.ASYNC, Scope: []types.RefreshableView{types.COMMITS, types.TAGS}, - }) -} + self.commitsHelper.OnCommitSuccess() -func (self *TagsHelper) handleCreateAnnotatedTag(ref string, onCreate func()) error { - return self.c.Prompt(types.PromptOpts{ - Title: self.c.Tr.TagNameTitle, - HandleConfirm: func(tagName string) error { - return self.c.Prompt(types.PromptOpts{ - Title: self.c.Tr.TagMessageTitle, - HandleConfirm: func(msg string) error { - self.c.LogAction(self.c.Tr.Actions.CreateAnnotatedTag) - if err := self.c.Git().Tag.CreateAnnotated(tagName, ref, msg); err != nil { - return self.c.Error(err) - } - return self.afterTagCreate(onCreate) - }, + return self.c.Refresh(types.RefreshOptions{ + Mode: types.ASYNC, Scope: []types.RefreshableView{types.COMMITS, types.TAGS}, }) - }, - }) -} + }) + } -func (self *TagsHelper) handleCreateLightweightTag(ref string, onCreate func()) error { - return self.c.Prompt(types.PromptOpts{ - Title: self.c.Tr.TagNameTitle, - HandleConfirm: func(tagName string) error { - self.c.LogAction(self.c.Tr.Actions.CreateLightweightTag) - if err := self.c.Git().Tag.CreateLightweight(tagName, ref); err != nil { - return self.c.Error(err) - } - return self.afterTagCreate(onCreate) + return self.commitsHelper.OpenCommitMessagePanel( + &OpenCommitMessagePanelOpts{ + CommitIndex: context.NoCommitIndex, + InitialMessage: "", + SummaryTitle: self.c.Tr.TagNameTitle, + DescriptionTitle: self.c.Tr.TagMessageTitle, + PreserveMessage: false, + OnConfirm: onConfirm, }, - }) + ) } diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index 30b56704b..22d1089c9 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -99,19 +99,19 @@ func (self *WorkingTreeHelper) HandleCommitPressWithMessage(initialMessage strin return self.commitsHelper.OpenCommitMessagePanel( &OpenCommitMessagePanelOpts{ - CommitIndex: context.NoCommitIndex, - InitialMessage: initialMessage, - Title: self.c.Tr.CommitSummary, - PreserveMessage: true, - OnConfirm: self.handleCommit, + CommitIndex: context.NoCommitIndex, + InitialMessage: initialMessage, + SummaryTitle: self.c.Tr.CommitSummaryTitle, + DescriptionTitle: self.c.Tr.CommitDescriptionTitle, + PreserveMessage: true, + OnConfirm: self.handleCommit, }, ) } -func (self *WorkingTreeHelper) handleCommit(message string) error { - cmdObj := self.c.Git().Commit.CommitCmdObj(message) +func (self *WorkingTreeHelper) handleCommit(summary string, description string) error { + cmdObj := self.c.Git().Commit.CommitCmdObj(summary, description) self.c.LogAction(self.c.Tr.Actions.Commit) - _ = self.commitsHelper.PopCommitMessageContexts() return self.gpgHelper.WithGpgHandling(cmdObj, self.c.Tr.CommittingStatus, func() error { self.commitsHelper.OnCommitSuccess() return nil diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 11e1bac24..5d796fca8 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -267,22 +267,22 @@ func (self *LocalCommitsController) reword(commit *models.Commit) error { return self.c.Helpers().Commits.OpenCommitMessagePanel( &helpers.OpenCommitMessagePanelOpts{ - CommitIndex: self.context().GetSelectedLineIdx(), - InitialMessage: commitMessage, - Title: self.c.Tr.Actions.RewordCommit, - PreserveMessage: false, - OnConfirm: self.handleReword, + CommitIndex: self.context().GetSelectedLineIdx(), + InitialMessage: commitMessage, + SummaryTitle: self.c.Tr.Actions.RewordCommit, + DescriptionTitle: self.c.Tr.CommitDescriptionTitle, + PreserveMessage: false, + OnConfirm: self.handleReword, }, ) } -func (self *LocalCommitsController) handleReword(message string) error { - err := self.c.Git().Rebase.RewordCommit(self.c.Model().Commits, self.c.Contexts().LocalCommits.GetSelectedLineIdx(), message) +func (self *LocalCommitsController) handleReword(summary string, description string) error { + err := self.c.Git().Rebase.RewordCommit(self.c.Model().Commits, self.c.Contexts().LocalCommits.GetSelectedLineIdx(), summary, description) if err != nil { return self.c.Error(err) } self.c.Helpers().Commits.OnCommitSuccess() - _ = self.c.Helpers().Commits.PopCommitMessageContexts() return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC}) } @@ -682,7 +682,7 @@ func (self *LocalCommitsController) squashAllAboveFixupCommits(commit *models.Co } func (self *LocalCommitsController) createTag(commit *models.Commit) error { - return self.c.Helpers().Tags.CreateTagMenu(commit.Sha, func() {}) + return self.c.Helpers().Tags.OpenCreateTagPrompt(commit.Sha, func() {}) } func (self *LocalCommitsController) openSearch() error { diff --git a/pkg/gui/controllers/tags_controller.go b/pkg/gui/controllers/tags_controller.go index df43c1f6d..80248391e 100644 --- a/pkg/gui/controllers/tags_controller.go +++ b/pkg/gui/controllers/tags_controller.go @@ -141,7 +141,7 @@ func (self *TagsController) createResetMenu(tag *models.Tag) error { func (self *TagsController) create() error { // leaving commit SHA blank so that we're just creating the tag for the current commit - return self.c.Helpers().Tags.CreateTagMenu("", func() { self.context().SetSelectedLineIdx(0) }) + return self.c.Helpers().Tags.OpenCreateTagPrompt("", func() { self.context().SetSelectedLineIdx(0) }) } func (self *TagsController) withSelectedTag(f func(tag *models.Tag) error) func() error { diff --git a/pkg/i18n/chinese.go b/pkg/i18n/chinese.go index 9d6614761..f6171f68e 100644 --- a/pkg/i18n/chinese.go +++ b/pkg/i18n/chinese.go @@ -181,7 +181,7 @@ func chineseTranslationSet() TranslationSet { RecentRepos: "最近的仓库", MergeOptionsTitle: "合并选项", RebaseOptionsTitle: "变基选项", - CommitMessageTitle: "提交讯息", + CommitSummaryTitle: "提交讯息", LocalBranchesTitle: "分支页面", SearchTitle: "搜索", TagsTitle: "标签页面", @@ -305,8 +305,8 @@ func chineseTranslationSet() TranslationSet { EditRemote: "编辑远程仓库", TagCommit: "标签提交", TagMenuTitle: "创建标签", - TagNameTitle: "标签名称:", - TagMessageTitle: "标签消息:", + TagNameTitle: "标签名称", + TagMessageTitle: "标签消息", AnnotatedTag: "附注标签", LightweightTag: "轻量标签", DeleteTag: "删除标签", @@ -315,7 +315,6 @@ func chineseTranslationSet() TranslationSet { PushTagTitle: "将 {{.tagName}} 推送到远程仓库:", PushTag: "推送标签", CreateTag: "创建标签", - CreateTagTitle: "标签名称:", FetchRemote: "抓取远程仓库", FetchingRemoteStatus: "抓取远程仓库中", CheckoutCommit: "检出提交", diff --git a/pkg/i18n/dutch.go b/pkg/i18n/dutch.go index 63059ee4d..79e1f89ec 100644 --- a/pkg/i18n/dutch.go +++ b/pkg/i18n/dutch.go @@ -146,7 +146,7 @@ func dutchTranslationSet() TranslationSet { RecentRepos: "Recente repositories", MergeOptionsTitle: "Merge opties", RebaseOptionsTitle: "Rebase opties", - CommitMessageTitle: "Commit bericht", + CommitSummaryTitle: "Commit bericht", LocalBranchesTitle: "Branches", SearchTitle: "Zoek", TagsTitle: "Tags", @@ -263,14 +263,13 @@ func dutchTranslationSet() TranslationSet { SetUpstreamMessage: "Weet je zeker dat je de upstream branch van '{{.checkedOut}}' naar '{{.selected}}' wilt zetten", EditRemote: "Wijzig remote", TagCommit: "Tag commit", - TagNameTitle: "Tag naam:", + TagNameTitle: "Tag naam", DeleteTag: "Verwijder tag", |