fix: ignore pull request nonascii
This commit is contained in:
parent
3cc96821ad
commit
9065d4f824
|
@ -10,17 +10,13 @@ import (
|
|||
"github.com/go-git/go-git/v5/plumbing/object"
|
||||
)
|
||||
|
||||
// nonAsciiMsg checks for non-ASCII characters in the commit message.
|
||||
// If the message starts with "Merge pull request", it skips the non-ASCII characters check.
|
||||
// Otherwise, it iterates over each character in the message and checks if it is a non-ASCII character.
|
||||
// If a non-ASCII character is found, it returns an error indicating not to use non-ASCII characters in commit messages.
|
||||
// Otherwise, it returns nil indicating that the commit message is valid.
|
||||
// NonAsciiMsg checks for non-ASCII characters in the commit message.
|
||||
// It skips the non-ASCII characters check for lines starting with specific keywords like "Co-authored-by", "Reviewed-by", and "Co-committed-by".
|
||||
func NonAsciiMsg(root string) error {
|
||||
// cmd := exec.Command("git", "log", "--encoding=UTF-8", "--format=%B")
|
||||
repo, err := git.PlainOpen(root)
|
||||
if err != nil {
|
||||
slog.Error("openning git repo", "err", err)
|
||||
return fmt.Errorf("error openning git repo: %v", err)
|
||||
slog.Error("opening git repo", "err", err)
|
||||
return fmt.Errorf("error opening git repo: %v", err)
|
||||
}
|
||||
|
||||
ref, err := repo.Head()
|
||||
|
@ -45,16 +41,38 @@ func NonAsciiMsg(root string) error {
|
|||
}
|
||||
|
||||
var nonAsciiMsgs []string
|
||||
// List of prefixes to ignore in the commit message
|
||||
ignoredPrefixes := []string{
|
||||
"Co-authored-by:",
|
||||
"Reviewed-by:",
|
||||
"Co-committed-by:",
|
||||
"Reviewed-on:",
|
||||
}
|
||||
|
||||
for _, msg := range msgs {
|
||||
if msg == "" {
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix(msg, "Merge pull request") {
|
||||
// Split message by lines and ignore specific lines with prefixes
|
||||
lines := strings.Split(msg, "\n")
|
||||
for _, line := range lines {
|
||||
trimmedLine := strings.TrimSpace(line)
|
||||
ignore := false
|
||||
for _, prefix := range ignoredPrefixes {
|
||||
if strings.HasPrefix(trimmedLine, prefix) {
|
||||
ignore = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if ignore {
|
||||
continue
|
||||
}
|
||||
for _, c := range msg {
|
||||
// Check for non-ASCII characters in the rest of the lines
|
||||
for _, c := range line {
|
||||
if c > unicode.MaxASCII {
|
||||
nonAsciiMsgs = append(nonAsciiMsgs, msg)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user