mirror of https://github.com/perkeep/perkeep.git
devcam/hook: handle 'verbose' commits
See https://github.com/golang/go/issues/16376, and the related https://go-review.googlesource.com/#/c/25342/. Prior to this change, `git commit -v` would result in a nonsensical commit message. Change-Id: Ib11de27488b01fccff07b9385f7fa988bc6fe165
This commit is contained in:
parent
1951498e63
commit
23ef425564
|
@ -41,6 +41,8 @@ var hookFiles = []string{
|
|||
"commit-msg",
|
||||
}
|
||||
|
||||
var ignoreBelow = []byte("\n# ------------------------ >8 ------------------------\n")
|
||||
|
||||
func (c *hookCmd) installHook() error {
|
||||
root, err := repoRoot()
|
||||
if err != nil {
|
||||
|
@ -131,8 +133,12 @@ func (c *hookCmd) RunCommand(args []string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// stripComments strips lines that begin with "#".
|
||||
// stripComments strips lines that begin with "#" and removes the diff section
|
||||
// contained in verbose commits.
|
||||
func stripComments(in []byte) []byte {
|
||||
if i := bytes.Index(in, ignoreBelow); i >= 0 {
|
||||
in = in[:i+1]
|
||||
}
|
||||
return regexp.MustCompile(`(?m)^#.*\n`).ReplaceAll(in, nil)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue