Skip to content

Commit

Permalink
Add skipHookPrefix to config
Browse files Browse the repository at this point in the history
allows a user to specify a commit message prefix that will tell lazygit to skip
the pre-commit hook. This defaults to WIP. Setting it to the empty string will
disable the feature.

So if my message goes 'WIP: do the thing' then the pre-commit hook will not run
  • Loading branch information
jesseduffield committed Apr 13, 2019
1 parent cadc74e commit ab9fa29
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 3 deletions.
1 change: 1 addition & 0 deletions docs/Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
merging:
# only applicable to unix users
manualCommit: false
skipHookPrefix: WIP
update:
method: prompt # can be: prompt | background | never
days: 14 # how often an update is checked for
Expand Down
4 changes: 2 additions & 2 deletions pkg/commands/git.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,8 @@ func (c *GitCommand) usingGpg() bool {
}

// Commit commits to git
func (c *GitCommand) Commit(message string) (*exec.Cmd, error) {
command := fmt.Sprintf("git commit -m %s", c.OSCommand.Quote(message))
func (c *GitCommand) Commit(message string, flags string) (*exec.Cmd, error) {
command := fmt.Sprintf("git commit %s -m %s", flags, c.OSCommand.Quote(message))
if c.usingGpg() {
return c.OSCommand.PrepareSubProcess(c.OSCommand.Platform.shell, c.OSCommand.Platform.shellArg, command), nil
}
Expand Down
1 change: 1 addition & 0 deletions pkg/config/app_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ func GetDefaultConfig() []byte {
git:
merging:
manualCommit: false
skipHookPrefix: 'WIP'
update:
method: prompt # can be: prompt | background | never
days: 14 # how often a update is checked for
Expand Down
7 changes: 6 additions & 1 deletion pkg/gui/commit_message_panel.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,12 @@ func (gui *Gui) handleCommitConfirm(g *gocui.Gui, v *gocui.View) error {
if message == "" {
return gui.createErrorPanel(g, gui.Tr.SLocalize("CommitWithoutMessageErr"))
}
ok, err := gui.runSyncOrAsyncCommand(gui.GitCommand.Commit(message))
flags := ""
skipHookPrefix := gui.Config.GetUserConfig().GetString("git.skipHookPrefix")
if skipHookPrefix != "" && strings.HasPrefix(message, skipHookPrefix) {
flags = "--no-verify"
}
ok, err := gui.runSyncOrAsyncCommand(gui.GitCommand.Commit(message, flags))
if err != nil {
return err
}
Expand Down

0 comments on commit ab9fa29

Please sign in to comment.