podman
39 строк · 1.0 Кб
1package danglingwhitespace
2
3import (
4"github.com/vbatts/git-validation/git"
5"github.com/vbatts/git-validation/validate"
6)
7
8var (
9// DanglingWhitespace is the rule for checking the presence of dangling
10// whitespaces on line endings.
11DanglingWhitespace = validate.Rule{
12Name: "dangling-whitespace",
13Description: "checking the presence of dangling whitespaces on line endings",
14Run: ValidateDanglingWhitespace,
15Default: true,
16}
17)
18
19func init() {
20validate.RegisterRule(DanglingWhitespace)
21}
22
23// ValidateDanglingWhitespace runs Git's check to look for whitespace errors.
24func ValidateDanglingWhitespace(r validate.Rule, c git.CommitEntry) (vr validate.Result) {
25vr.CommitEntry = c
26vr.Msg = "commit does not have any whitespace errors"
27vr.Pass = true
28
29_, err := git.Check(c["commit"])
30if err != nil {
31vr.Pass = false
32if err.Error() == "exit status 2" {
33vr.Msg = "has whitespace errors. See `git show --check " + c["commit"] + "`."
34} else {
35vr.Msg = "errored with: " + err.Error()
36}
37}
38return
39}
40