mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-12 04:45:47 +02:00
[FEAT] Add Recursive Bulk Initialize and Update for Submodules (#4259)
- **PR Description** This PR adds a new bulk action for submodules. As I often work with a lot of submodules that are hierarchically structured, the flag "--recursive" saves a lot of work.
This commit is contained in:
commit
ab9f4af636
3 changed files with 25 additions and 0 deletions
|
@ -258,6 +258,13 @@ func (self *SubmoduleCommands) ForceBulkUpdateCmdObj() oscommands.ICmdObj {
|
||||||
return self.cmd.New(cmdArgs)
|
return self.cmd.New(cmdArgs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *SubmoduleCommands) BulkUpdateRecursivelyCmdObj() oscommands.ICmdObj {
|
||||||
|
cmdArgs := NewGitCmd("submodule").Arg("update", "--init", "--recursive").
|
||||||
|
ToArgv()
|
||||||
|
|
||||||
|
return self.cmd.New(cmdArgs)
|
||||||
|
}
|
||||||
|
|
||||||
func (self *SubmoduleCommands) BulkDeinitCmdObj() oscommands.ICmdObj {
|
func (self *SubmoduleCommands) BulkDeinitCmdObj() oscommands.ICmdObj {
|
||||||
cmdArgs := NewGitCmd("submodule").Arg("deinit", "--all", "--force").
|
cmdArgs := NewGitCmd("submodule").Arg("deinit", "--all", "--force").
|
||||||
ToArgv()
|
ToArgv()
|
||||||
|
|
|
@ -247,6 +247,20 @@ func (self *SubmodulesController) openBulkActionsMenu() error {
|
||||||
},
|
},
|
||||||
Key: 'u',
|
Key: 'u',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
LabelColumns: []string{self.c.Tr.BulkUpdateRecursiveSubmodules, style.FgYellow.Sprint(self.c.Git().Submodule.BulkUpdateRecursivelyCmdObj().ToString())},
|
||||||
|
OnPress: func() error {
|
||||||
|
return self.c.WithWaitingStatus(self.c.Tr.RunningCommand, func(gocui.Task) error {
|
||||||
|
self.c.LogAction(self.c.Tr.Actions.BulkUpdateRecursiveSubmodules)
|
||||||
|
if err := self.c.Git().Submodule.BulkUpdateRecursivelyCmdObj().Run(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.SUBMODULES}})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
Key: 'r',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
LabelColumns: []string{self.c.Tr.BulkDeinitSubmodules, style.FgRed.Sprint(self.c.Git().Submodule.BulkDeinitCmdObj().ToString())},
|
LabelColumns: []string{self.c.Tr.BulkDeinitSubmodules, style.FgRed.Sprint(self.c.Git().Submodule.BulkDeinitCmdObj().ToString())},
|
||||||
OnPress: func() error {
|
OnPress: func() error {
|
||||||
|
|
|
@ -673,6 +673,7 @@ type TranslationSet struct {
|
||||||
BulkInitSubmodules string
|
BulkInitSubmodules string
|
||||||
BulkUpdateSubmodules string
|
BulkUpdateSubmodules string
|
||||||
BulkDeinitSubmodules string
|
BulkDeinitSubmodules string
|
||||||
|
BulkUpdateRecursiveSubmodules string
|
||||||
ViewBulkSubmoduleOptions string
|
ViewBulkSubmoduleOptions string
|
||||||
BulkSubmoduleOptions string
|
BulkSubmoduleOptions string
|
||||||
RunningCommand string
|
RunningCommand string
|
||||||
|
@ -982,6 +983,7 @@ type Actions struct {
|
||||||
BulkInitialiseSubmodules string
|
BulkInitialiseSubmodules string
|
||||||
BulkUpdateSubmodules string
|
BulkUpdateSubmodules string
|
||||||
BulkDeinitialiseSubmodules string
|
BulkDeinitialiseSubmodules string
|
||||||
|
BulkUpdateRecursiveSubmodules string
|
||||||
UpdateSubmodule string
|
UpdateSubmodule string
|
||||||
CreateLightweightTag string
|
CreateLightweightTag string
|
||||||
CreateAnnotatedTag string
|
CreateAnnotatedTag string
|
||||||
|
@ -1718,6 +1720,7 @@ func EnglishTranslationSet() *TranslationSet {
|
||||||
BulkInitSubmodules: "Bulk init submodules",
|
BulkInitSubmodules: "Bulk init submodules",
|
||||||
BulkUpdateSubmodules: "Bulk update submodules",
|
BulkUpdateSubmodules: "Bulk update submodules",
|
||||||
BulkDeinitSubmodules: "Bulk deinit submodules",
|
BulkDeinitSubmodules: "Bulk deinit submodules",
|
||||||
|
BulkUpdateRecursiveSubmodules: "Bulk init and update submodules recursively",
|
||||||
ViewBulkSubmoduleOptions: "View bulk submodule options",
|
ViewBulkSubmoduleOptions: "View bulk submodule options",
|
||||||
BulkSubmoduleOptions: "Bulk submodule options",
|
BulkSubmoduleOptions: "Bulk submodule options",
|
||||||
RunningCommand: "Running command",
|
RunningCommand: "Running command",
|
||||||
|
@ -1989,6 +1992,7 @@ func EnglishTranslationSet() *TranslationSet {
|
||||||
BulkInitialiseSubmodules: "Bulk initialise submodules",
|
BulkInitialiseSubmodules: "Bulk initialise submodules",
|
||||||
BulkUpdateSubmodules: "Bulk update submodules",
|
BulkUpdateSubmodules: "Bulk update submodules",
|
||||||
BulkDeinitialiseSubmodules: "Bulk deinitialise submodules",
|
BulkDeinitialiseSubmodules: "Bulk deinitialise submodules",
|
||||||
|
BulkUpdateRecursiveSubmodules: "Bulk initialise and update submodules recursively",
|
||||||
UpdateSubmodule: "Update submodule",
|
UpdateSubmodule: "Update submodule",
|
||||||
DeleteLocalTag: "Delete local tag",
|
DeleteLocalTag: "Delete local tag",
|
||||||
DeleteRemoteTag: "Delete remote tag",
|
DeleteRemoteTag: "Delete remote tag",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue