git-lint 6.2.1 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +234 -104
- data/git-lint.gemspec +12 -12
- data/lib/git/lint/analyzer.rb +8 -4
- data/lib/git/lint/analyzers/abstract.rb +3 -3
- data/lib/git/lint/analyzers/commit_author_capitalization.rb +1 -1
- data/lib/git/lint/analyzers/commit_body_bullet_capitalization.rb +1 -1
- data/lib/git/lint/analyzers/commit_body_bullet_delimiter.rb +1 -1
- data/lib/git/lint/analyzers/{commit_body_single_bullet.rb → commit_body_bullet_only.rb} +4 -4
- data/lib/git/lint/analyzers/commit_body_phrase.rb +2 -5
- data/lib/git/lint/analyzers/commit_body_presence.rb +3 -3
- data/lib/git/lint/analyzers/commit_body_tracker_shorthand.rb +2 -2
- data/lib/git/lint/analyzers/commit_body_word_repeat.rb +31 -0
- data/lib/git/lint/analyzers/commit_signature.rb +2 -2
- data/lib/git/lint/analyzers/commit_subject_prefix.rb +3 -3
- data/lib/git/lint/analyzers/commit_subject_suffix.rb +2 -2
- data/lib/git/lint/analyzers/commit_subject_word_repeat.rb +20 -0
- data/lib/git/lint/analyzers/commit_trailer_collaborator_capitalization.rb +2 -2
- data/lib/git/lint/analyzers/commit_trailer_collaborator_email.rb +3 -4
- data/lib/git/lint/analyzers/commit_trailer_collaborator_key.rb +4 -6
- data/lib/git/lint/analyzers/commit_trailer_collaborator_name.rb +2 -2
- data/lib/git/lint/analyzers/commit_trailer_format_key.rb +4 -6
- data/lib/git/lint/analyzers/commit_trailer_format_value.rb +4 -4
- data/lib/git/lint/analyzers/commit_trailer_issue_key.rb +4 -6
- data/lib/git/lint/analyzers/commit_trailer_issue_value.rb +4 -4
- data/lib/git/lint/analyzers/commit_trailer_milestone_key.rb +33 -0
- data/lib/git/lint/analyzers/commit_trailer_milestone_value.rb +35 -0
- data/lib/git/lint/analyzers/commit_trailer_order.rb +38 -0
- data/lib/git/lint/analyzers/commit_trailer_reviewer_key.rb +33 -0
- data/lib/git/lint/analyzers/commit_trailer_reviewer_value.rb +35 -0
- data/lib/git/lint/analyzers/commit_trailer_signer_capitalization.rb +2 -2
- data/lib/git/lint/analyzers/commit_trailer_signer_email.rb +3 -4
- data/lib/git/lint/analyzers/commit_trailer_signer_key.rb +4 -4
- data/lib/git/lint/analyzers/commit_trailer_signer_name.rb +2 -2
- data/lib/git/lint/analyzers/commit_trailer_tracker_key.rb +4 -6
- data/lib/git/lint/analyzers/commit_trailer_tracker_value.rb +4 -4
- data/lib/git/lint/commits/{systems → hosts}/circle_ci.rb +2 -2
- data/lib/git/lint/commits/{systems → hosts}/container.rb +2 -2
- data/lib/git/lint/commits/{systems → hosts}/git_hub_action.rb +2 -2
- data/lib/git/lint/commits/{systems → hosts}/import.rb +1 -1
- data/lib/git/lint/commits/{systems → hosts}/local.rb +2 -2
- data/lib/git/lint/commits/{systems → hosts}/netlify_ci.rb +2 -2
- data/lib/git/lint/commits/loader.rb +6 -6
- data/lib/git/lint/configuration/contract.rb +19 -11
- data/lib/git/lint/configuration/defaults.yml +43 -22
- data/lib/git/lint/configuration/model.rb +19 -11
- data/lib/git/lint/configuration/trailer.rb +10 -0
- data/lib/git/lint/container.rb +28 -6
- data/lib/git/lint/errors/severity.rb +6 -1
- data/lib/git/lint/kit/filter_list.rb +9 -4
- data/lib/git/lint/reporters/branch.rb +5 -5
- data/lib/git/lint/validators/name.rb +2 -2
- data/lib/git/lint/validators/repeated_word.rb +36 -0
- data.tar.gz.sig +0 -0
- metadata +40 -35
- metadata.gz.sig +0 -0
- data/lib/git/lint/analyzers/commit_body_bullet.rb +0 -34
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Git
|
4
|
+
module Lint
|
5
|
+
module Analyzers
|
6
|
+
# Analyzes commit trailer reviewer value.
|
7
|
+
class CommitTrailerReviewerValue < Abstract
|
8
|
+
include Import[setting: "trailers.reviewer"]
|
9
|
+
|
10
|
+
def valid? = affected_commit_trailers.empty?
|
11
|
+
|
12
|
+
def issue
|
13
|
+
return {} if valid?
|
14
|
+
|
15
|
+
{
|
16
|
+
hint: "Use: #{filter_list.to_usage "or"}.",
|
17
|
+
lines: affected_commit_trailers
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
def load_filter_list
|
24
|
+
Kit::FilterList.new configuration.commits_trailer_reviewer_value_includes
|
25
|
+
end
|
26
|
+
|
27
|
+
def invalid_line? trailer
|
28
|
+
trailer.key.match?(setting.pattern) && !trailer.value.match?(value_pattern)
|
29
|
+
end
|
30
|
+
|
31
|
+
def value_pattern = /\A#{Regexp.union filter_list}\Z/
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -6,7 +6,7 @@ module Git
|
|
6
6
|
# Analyzes commit trailer signer name capitalization.
|
7
7
|
class CommitTrailerSignerCapitalization < Abstract
|
8
8
|
include Import[
|
9
|
-
|
9
|
+
setting: "trailers.signer",
|
10
10
|
parser: "parsers.person",
|
11
11
|
validator: "validators.capitalization"
|
12
12
|
]
|
@@ -26,7 +26,7 @@ module Git
|
|
26
26
|
|
27
27
|
def invalid_line? trailer
|
28
28
|
parser.call(trailer.value).then do |person|
|
29
|
-
trailer.key.match?(pattern) && !validator.call(person.name)
|
29
|
+
trailer.key.match?(setting.pattern) && !validator.call(person.name)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -6,9 +6,8 @@ module Git
|
|
6
6
|
# Analyzes commit trailer signer email address format.
|
7
7
|
class CommitTrailerSignerEmail < Abstract
|
8
8
|
include Import[
|
9
|
-
|
9
|
+
setting: "trailers.signer",
|
10
10
|
parser: "parsers.person",
|
11
|
-
sanitizer: "sanitizers.email",
|
12
11
|
validator: "validators.email"
|
13
12
|
]
|
14
13
|
|
@@ -26,8 +25,8 @@ module Git
|
|
26
25
|
protected
|
27
26
|
|
28
27
|
def invalid_line? trailer
|
29
|
-
email =
|
30
|
-
trailer.key.match?(pattern) && !validator.call(email)
|
28
|
+
email = parser.call(trailer.value).email
|
29
|
+
trailer.key.match?(setting.pattern) && !validator.call(email)
|
31
30
|
end
|
32
31
|
|
33
32
|
private
|
@@ -5,7 +5,7 @@ module Git
|
|
5
5
|
module Analyzers
|
6
6
|
# Analyzes commit trailer signer key usage.
|
7
7
|
class CommitTrailerSignerKey < Abstract
|
8
|
-
include Import[
|
8
|
+
include Import[setting: "trailers.signer"]
|
9
9
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
11
11
|
|
@@ -13,7 +13,7 @@ module Git
|
|
13
13
|
return {} if valid?
|
14
14
|
|
15
15
|
{
|
16
|
-
hint: "Use format: #{filter_list.
|
16
|
+
hint: "Use format: #{filter_list.to_usage}.",
|
17
17
|
lines: affected_commit_trailers
|
18
18
|
}
|
19
19
|
end
|
@@ -21,12 +21,12 @@ module Git
|
|
21
21
|
protected
|
22
22
|
|
23
23
|
def load_filter_list
|
24
|
-
Kit::FilterList.new
|
24
|
+
Kit::FilterList.new setting.name
|
25
25
|
end
|
26
26
|
|
27
27
|
def invalid_line? trailer
|
28
28
|
trailer.key.then do |key|
|
29
|
-
key.match?(pattern) && !key.match?(/\A#{Regexp.union filter_list
|
29
|
+
key.match?(setting.pattern) && !key.match?(/\A#{Regexp.union filter_list}\Z/)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -6,7 +6,7 @@ module Git
|
|
6
6
|
# Analyzes commit trailer signer name construction.
|
7
7
|
class CommitTrailerSignerName < Abstract
|
8
8
|
include Import[
|
9
|
-
|
9
|
+
setting: "trailers.signer",
|
10
10
|
parser: "parsers.person",
|
11
11
|
validator: "validators.name"
|
12
12
|
]
|
@@ -26,7 +26,7 @@ module Git
|
|
26
26
|
|
27
27
|
def invalid_line? trailer
|
28
28
|
parser.call(trailer.value).then do |person|
|
29
|
-
trailer.key.match?(pattern) && !validator.call(person.name, minimum:)
|
29
|
+
trailer.key.match?(setting.pattern) && !validator.call(person.name, minimum:)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -5,7 +5,7 @@ module Git
|
|
5
5
|
module Analyzers
|
6
6
|
# Analyzes commit trailer tracker key usage.
|
7
7
|
class CommitTrailerTrackerKey < Abstract
|
8
|
-
include Import[
|
8
|
+
include Import[setting: "trailers.tracker"]
|
9
9
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
11
11
|
|
@@ -13,20 +13,18 @@ module Git
|
|
13
13
|
return {} if valid?
|
14
14
|
|
15
15
|
{
|
16
|
-
hint: "Use format: #{filter_list.
|
16
|
+
hint: "Use format: #{filter_list.to_usage}.",
|
17
17
|
lines: affected_commit_trailers
|
18
18
|
}
|
19
19
|
end
|
20
20
|
|
21
21
|
protected
|
22
22
|
|
23
|
-
def load_filter_list
|
24
|
-
Kit::FilterList.new configuration.commits_trailer_tracker_key_includes
|
25
|
-
end
|
23
|
+
def load_filter_list = Kit::FilterList.new setting.name
|
26
24
|
|
27
25
|
def invalid_line? trailer
|
28
26
|
trailer.key.then do |key|
|
29
|
-
key.match?(pattern) && !key.match?(/\A#{Regexp.union filter_list
|
27
|
+
key.match?(setting.pattern) && !key.match?(/\A#{Regexp.union filter_list}\Z/)
|
30
28
|
end
|
31
29
|
end
|
32
30
|
end
|
@@ -5,7 +5,7 @@ module Git
|
|
5
5
|
module Analyzers
|
6
6
|
# Analyzes commit trailer tracker value.
|
7
7
|
class CommitTrailerTrackerValue < Abstract
|
8
|
-
include Import[
|
8
|
+
include Import[setting: "trailers.tracker"]
|
9
9
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
11
11
|
|
@@ -13,7 +13,7 @@ module Git
|
|
13
13
|
return {} if valid?
|
14
14
|
|
15
15
|
{
|
16
|
-
hint: "Use format: #{filter_list.
|
16
|
+
hint: "Use format: #{filter_list.to_usage}.",
|
17
17
|
lines: affected_commit_trailers
|
18
18
|
}
|
19
19
|
end
|
@@ -25,10 +25,10 @@ module Git
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def invalid_line? trailer
|
28
|
-
trailer.key.match?(pattern) && !trailer.value.match?(value_pattern)
|
28
|
+
trailer.key.match?(setting.pattern) && !trailer.value.match?(value_pattern)
|
29
29
|
end
|
30
30
|
|
31
|
-
def value_pattern = /\A#{Regexp.union filter_list
|
31
|
+
def value_pattern = /\A#{Regexp.union filter_list}\Z/
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -5,8 +5,8 @@ require "dry/container"
|
|
5
5
|
module Git
|
6
6
|
module Lint
|
7
7
|
module Commits
|
8
|
-
module
|
9
|
-
# Provides a single container with application and
|
8
|
+
module Hosts
|
9
|
+
# Provides a single container with application and host specific dependencies.
|
10
10
|
module Container
|
11
11
|
extend Dry::Container::Mixin
|
12
12
|
|
@@ -3,8 +3,8 @@
|
|
3
3
|
module Git
|
4
4
|
module Lint
|
5
5
|
module Commits
|
6
|
-
module
|
7
|
-
# Provides Netlify CI
|
6
|
+
module Hosts
|
7
|
+
# Provides Netlify CI feature branch information.
|
8
8
|
class NetlifyCI
|
9
9
|
include Git::Lint::Import[:git, :environment]
|
10
10
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/string"
|
4
4
|
|
5
5
|
module Git
|
6
6
|
module Lint
|
7
7
|
module Commits
|
8
|
-
# Automatically detects and loads
|
8
|
+
# Automatically detects and loads host.
|
9
9
|
class Loader
|
10
|
-
include
|
10
|
+
include Hosts::Import[
|
11
11
|
:circle_ci,
|
12
12
|
:git,
|
13
13
|
:git_hub_action,
|
@@ -16,18 +16,18 @@ module Git
|
|
16
16
|
:environment
|
17
17
|
]
|
18
18
|
|
19
|
-
using
|
19
|
+
using Refinements::String
|
20
20
|
|
21
21
|
def call
|
22
22
|
message = "Invalid repository. Are you within a Git repository?"
|
23
23
|
fail Errors::Base, message unless git.exist?
|
24
24
|
|
25
|
-
|
25
|
+
host.call
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
-
def
|
30
|
+
def host
|
31
31
|
if key? "CIRCLECI" then circle_ci
|
32
32
|
elsif key? "GITHUB_ACTIONS" then git_hub_action
|
33
33
|
elsif key? "NETLIFY" then netlify_ci
|
@@ -16,15 +16,15 @@ module Git
|
|
16
16
|
required(:commits_author_name_enabled).filled :bool
|
17
17
|
required(:commits_author_name_severity).filled :string
|
18
18
|
required(:commits_author_name_minimum).filled :integer
|
19
|
-
required(:commits_body_bullet_enabled).filled :bool
|
20
|
-
required(:commits_body_bullet_severity).filled :string
|
21
|
-
required(:commits_body_bullet_excludes).array :string
|
22
19
|
required(:commits_body_bullet_capitalization_enabled).filled :bool
|
23
20
|
required(:commits_body_bullet_capitalization_severity).filled :string
|
24
21
|
required(:commits_body_bullet_capitalization_includes).array :string
|
25
22
|
required(:commits_body_bullet_delimiter_enabled).filled :bool
|
26
23
|
required(:commits_body_bullet_delimiter_severity).filled :string
|
27
24
|
required(:commits_body_bullet_delimiter_includes).array :string
|
25
|
+
required(:commits_body_bullet_only_enabled).filled :bool
|
26
|
+
required(:commits_body_bullet_only_severity).filled :string
|
27
|
+
required(:commits_body_bullet_only_includes).array :string
|
28
28
|
required(:commits_body_leading_line_enabled).filled :bool
|
29
29
|
required(:commits_body_leading_line_severity).filled :string
|
30
30
|
required(:commits_body_line_length_enabled).filled :bool
|
@@ -38,9 +38,8 @@ module Git
|
|
38
38
|
required(:commits_body_presence_enabled).filled :bool
|
39
39
|
required(:commits_body_presence_severity).filled :string
|
40
40
|
required(:commits_body_presence_minimum).filled :integer
|
41
|
-
required(:
|
42
|
-
required(:
|
43
|
-
required(:commits_body_single_bullet_includes).array :string
|
41
|
+
required(:commits_body_word_repeat_enabled).filled :bool
|
42
|
+
required(:commits_body_word_repeat_severity).filled :string
|
44
43
|
required(:commits_body_tracker_shorthand_enabled).filled :bool
|
45
44
|
required(:commits_body_tracker_shorthand_severity).filled :string
|
46
45
|
required(:commits_body_tracker_shorthand_excludes).array :string
|
@@ -57,13 +56,14 @@ module Git
|
|
57
56
|
required(:commits_subject_suffix_enabled).filled :bool
|
58
57
|
required(:commits_subject_suffix_severity).filled :string
|
59
58
|
required(:commits_subject_suffix_excludes).array :string
|
59
|
+
required(:commits_subject_word_repeat_enabled).filled :bool
|
60
|
+
required(:commits_subject_word_repeat_severity).filled :string
|
60
61
|
required(:commits_trailer_collaborator_capitalization_enabled).filled :bool
|
61
62
|
required(:commits_trailer_collaborator_capitalization_severity).filled :string
|
62
63
|
required(:commits_trailer_collaborator_email_enabled).filled :bool
|
63
64
|
required(:commits_trailer_collaborator_email_severity).filled :string
|
64
65
|
required(:commits_trailer_collaborator_key_enabled).filled :bool
|
65
66
|
required(:commits_trailer_collaborator_key_severity).filled :string
|
66
|
-
required(:commits_trailer_collaborator_key_includes).array :string
|
67
67
|
required(:commits_trailer_collaborator_name_enabled).filled :bool
|
68
68
|
required(:commits_trailer_collaborator_name_severity).filled :string
|
69
69
|
required(:commits_trailer_collaborator_name_minimum).filled :integer
|
@@ -71,29 +71,37 @@ module Git
|
|
71
71
|
required(:commits_trailer_duplicate_severity).filled :string
|
72
72
|
required(:commits_trailer_format_key_enabled).filled :bool
|
73
73
|
required(:commits_trailer_format_key_severity).filled :string
|
74
|
-
required(:commits_trailer_format_key_includes).array :string
|
75
74
|
required(:commits_trailer_format_value_enabled).filled :bool
|
76
75
|
required(:commits_trailer_format_value_severity).filled :string
|
77
76
|
required(:commits_trailer_format_value_includes).array :string
|
78
77
|
required(:commits_trailer_issue_key_enabled).filled :bool
|
79
78
|
required(:commits_trailer_issue_key_severity).filled :string
|
80
|
-
required(:commits_trailer_issue_key_includes).array :string
|
81
79
|
required(:commits_trailer_issue_value_enabled).filled :bool
|
82
80
|
required(:commits_trailer_issue_value_severity).filled :string
|
83
81
|
required(:commits_trailer_issue_value_includes).array :string
|
82
|
+
required(:commits_trailer_milestone_key_enabled).filled :bool
|
83
|
+
required(:commits_trailer_milestone_key_severity).filled :string
|
84
|
+
required(:commits_trailer_milestone_value_enabled).filled :bool
|
85
|
+
required(:commits_trailer_milestone_value_severity).filled :string
|
86
|
+
required(:commits_trailer_milestone_value_includes).array :string
|
87
|
+
required(:commits_trailer_order_enabled).filled :bool
|
88
|
+
required(:commits_trailer_order_severity).filled :string
|
89
|
+
required(:commits_trailer_reviewer_key_enabled).filled :bool
|
90
|
+
required(:commits_trailer_reviewer_key_severity).filled :string
|
91
|
+
required(:commits_trailer_reviewer_value_enabled).filled :bool
|
92
|
+
required(:commits_trailer_reviewer_value_severity).filled :string
|
93
|
+
required(:commits_trailer_reviewer_value_includes).array :string
|
84
94
|
required(:commits_trailer_signer_capitalization_enabled).filled :bool
|
85
95
|
required(:commits_trailer_signer_capitalization_severity).filled :string
|
86
96
|
required(:commits_trailer_signer_email_enabled).filled :bool
|
87
97
|
required(:commits_trailer_signer_email_severity).filled :string
|
88
98
|
required(:commits_trailer_signer_key_enabled).filled :bool
|
89
99
|
required(:commits_trailer_signer_key_severity).filled :string
|
90
|
-
required(:commits_trailer_signer_key_includes).array :string
|
91
100
|
required(:commits_trailer_signer_name_enabled).filled :bool
|
92
101
|
required(:commits_trailer_signer_name_severity).filled :string
|
93
102
|
required(:commits_trailer_signer_name_minimum).filled :integer
|
94
103
|
required(:commits_trailer_tracker_key_enabled).filled :bool
|
95
104
|
required(:commits_trailer_tracker_key_severity).filled :string
|
96
|
-
required(:commits_trailer_tracker_key_includes).array :string
|
97
105
|
required(:commits_trailer_tracker_value_enabled).filled :bool
|
98
106
|
required(:commits_trailer_tracker_value_severity).filled :string
|
99
107
|
required(:commits_trailer_tracker_value_includes).array :string
|
@@ -11,22 +11,24 @@ commits:
|
|
11
11
|
severity: error
|
12
12
|
minimum: 2
|
13
13
|
body:
|
14
|
-
|
14
|
+
bullet_capitalization:
|
15
15
|
enabled: true
|
16
16
|
severity: error
|
17
|
-
|
17
|
+
includes:
|
18
|
+
- "\\-"
|
18
19
|
- "\\*"
|
19
|
-
|
20
|
-
bullet_capitalization:
|
20
|
+
bullet_delimiter:
|
21
21
|
enabled: true
|
22
22
|
severity: error
|
23
23
|
includes:
|
24
24
|
- "\\-"
|
25
|
-
|
25
|
+
- "\\*"
|
26
|
+
bullet_only:
|
26
27
|
enabled: true
|
27
28
|
severity: error
|
28
29
|
includes:
|
29
30
|
- "\\-"
|
31
|
+
- "\\*"
|
30
32
|
leading_line:
|
31
33
|
enabled: true
|
32
34
|
severity: warn
|
@@ -47,6 +49,7 @@ commits:
|
|
47
49
|
- "along the lines"
|
48
50
|
- "at this moment in time"
|
49
51
|
- "basically"
|
52
|
+
- "blacklist"
|
50
53
|
- "each and every one"
|
51
54
|
- "everyone knows"
|
52
55
|
- "fact of the matter"
|
@@ -61,6 +64,7 @@ commits:
|
|
61
64
|
- "really"
|
62
65
|
- "simply"
|
63
66
|
- "things being equal"
|
67
|
+
- "whitelist"
|
64
68
|
- "would like to"
|
65
69
|
- "\\beasy\\b"
|
66
70
|
- "\\bjust\\b"
|
@@ -71,11 +75,6 @@ commits:
|
|
71
75
|
enabled: true
|
72
76
|
severity: warn
|
73
77
|
minimum: 1
|
74
|
-
single_bullet:
|
75
|
-
enabled: true
|
76
|
-
severity: error
|
77
|
-
includes:
|
78
|
-
- "\\-"
|
79
78
|
tracker_shorthand:
|
80
79
|
enabled: true
|
81
80
|
severity: error
|
@@ -83,6 +82,9 @@ commits:
|
|
83
82
|
- "(f|F)ix(es|ed)?\\s\\#\\d+"
|
84
83
|
- "(c|C)lose(s|d)?\\s\\#\\d+"
|
85
84
|
- "(r|R)esolve(s|d)?\\s\\#\\d+"
|
85
|
+
word_repeat:
|
86
|
+
enabled: true
|
87
|
+
severity: error
|
86
88
|
signature:
|
87
89
|
enabled: false
|
88
90
|
severity: error
|
@@ -110,6 +112,9 @@ commits:
|
|
110
112
|
- "\\."
|
111
113
|
- "\\?"
|
112
114
|
- "\\!"
|
115
|
+
word_repeat:
|
116
|
+
enabled: true
|
117
|
+
severity: error
|
113
118
|
trailer:
|
114
119
|
collaborator_capitalization:
|
115
120
|
enabled: true
|
@@ -120,8 +125,6 @@ commits:
|
|
120
125
|
collaborator_key:
|
121
126
|
enabled: true
|
122
127
|
severity: error
|
123
|
-
includes:
|
124
|
-
- Co-Authored-By
|
125
128
|
collaborator_name:
|
126
129
|
enabled: true
|
127
130
|
severity: error
|
@@ -132,24 +135,46 @@ commits:
|
|
132
135
|
format_key:
|
133
136
|
enabled: true
|
134
137
|
severity: error
|
135
|
-
includes:
|
136
|
-
- Format
|
137
138
|
format_value:
|
138
139
|
enabled: true
|
139
140
|
severity: error
|
140
141
|
includes:
|
141
|
-
-
|
142
|
-
-
|
142
|
+
- asciidoc
|
143
|
+
- markdown
|
143
144
|
issue_key:
|
144
145
|
enabled: true
|
145
146
|
severity: error
|
146
|
-
includes:
|
147
|
-
- Issue
|
148
147
|
issue_value:
|
149
148
|
enabled: true
|
150
149
|
severity: error
|
151
150
|
includes:
|
152
151
|
- "[\\w-]+"
|
152
|
+
milestone_key:
|
153
|
+
enabled: true
|
154
|
+
severity: error
|
155
|
+
milestone_value:
|
156
|
+
enabled: true
|
157
|
+
severity: error
|
158
|
+
includes:
|
159
|
+
- major
|
160
|
+
- minor
|
161
|
+
- patch
|
162
|
+
order:
|
163
|
+
enabled: true
|
164
|
+
severity: error
|
165
|
+
reviewer_key:
|
166
|
+
enabled: true
|
167
|
+
severity: error
|
168
|
+
reviewer_value:
|
169
|
+
enabled: true
|
170
|
+
severity: error
|
171
|
+
includes:
|
172
|
+
- clickup
|
173
|
+
- github
|
174
|
+
- jira
|
175
|
+
- linear
|
176
|
+
- shortcut
|
177
|
+
- tana
|
153
178
|
signer_capitalization:
|
154
179
|
enabled: true
|
155
180
|
severity: error
|
@@ -159,8 +184,6 @@ commits:
|
|
159
184
|
signer_key:
|
160
185
|
enabled: true
|
161
186
|
severity: error
|
162
|
-
includes:
|
163
|
-
- Signed-By
|
164
187
|
signer_name:
|
165
188
|
enabled: true
|
166
189
|
severity: error
|
@@ -168,8 +191,6 @@ commits:
|
|
168
191
|
tracker_key:
|
169
192
|
enabled: true
|
170
193
|
severity: error
|
171
|
-
includes:
|
172
|
-
- Tracker
|
173
194
|
tracker_value:
|
174
195
|
enabled: true
|
175
196
|
severity: error
|
@@ -11,15 +11,15 @@ module Git
|
|
11
11
|
:commits_author_name_enabled,
|
12
12
|
:commits_author_name_severity,
|
13
13
|
:commits_author_name_minimum,
|
14
|
-
:commits_body_bullet_enabled,
|
15
|
-
:commits_body_bullet_severity,
|
16
|
-
:commits_body_bullet_excludes,
|
17
14
|
:commits_body_bullet_capitalization_enabled,
|
18
15
|
:commits_body_bullet_capitalization_severity,
|
19
16
|
:commits_body_bullet_capitalization_includes,
|
20
17
|
:commits_body_bullet_delimiter_enabled,
|
21
18
|
:commits_body_bullet_delimiter_severity,
|
22
19
|
:commits_body_bullet_delimiter_includes,
|
20
|
+
:commits_body_bullet_only_enabled,
|
21
|
+
:commits_body_bullet_only_severity,
|
22
|
+
:commits_body_bullet_only_includes,
|
23
23
|
:commits_body_leading_line_enabled,
|
24
24
|
:commits_body_leading_line_severity,
|
25
25
|
:commits_body_line_length_enabled,
|
@@ -33,9 +33,8 @@ module Git
|
|
33
33
|
:commits_body_presence_enabled,
|
34
34
|
:commits_body_presence_severity,
|
35
35
|
:commits_body_presence_minimum,
|
36
|
-
:
|
37
|
-
:
|
38
|
-
:commits_body_single_bullet_includes,
|
36
|
+
:commits_body_word_repeat_enabled,
|
37
|
+
:commits_body_word_repeat_severity,
|
39
38
|
:commits_body_tracker_shorthand_enabled,
|
40
39
|
:commits_body_tracker_shorthand_severity,
|
41
40
|
:commits_body_tracker_shorthand_excludes,
|
@@ -52,13 +51,14 @@ module Git
|
|
52
51
|
:commits_subject_suffix_enabled,
|
53
52
|
:commits_subject_suffix_severity,
|
54
53
|
:commits_subject_suffix_excludes,
|
54
|
+
:commits_subject_word_repeat_enabled,
|
55
|
+
:commits_subject_word_repeat_severity,
|
55
56
|
:commits_trailer_collaborator_capitalization_enabled,
|
56
57
|
:commits_trailer_collaborator_capitalization_severity,
|
57
58
|
:commits_trailer_collaborator_email_enabled,
|
58
59
|
:commits_trailer_collaborator_email_severity,
|
59
60
|
:commits_trailer_collaborator_key_enabled,
|
60
61
|
:commits_trailer_collaborator_key_severity,
|
61
|
-
:commits_trailer_collaborator_key_includes,
|
62
62
|
:commits_trailer_collaborator_name_enabled,
|
63
63
|
:commits_trailer_collaborator_name_severity,
|
64
64
|
:commits_trailer_collaborator_name_minimum,
|
@@ -66,29 +66,37 @@ module Git
|
|
66
66
|
:commits_trailer_duplicate_severity,
|
67
67
|
:commits_trailer_format_key_enabled,
|
68
68
|
:commits_trailer_format_key_severity,
|
69
|
-
:commits_trailer_format_key_includes,
|
70
69
|
:commits_trailer_format_value_enabled,
|
71
70
|
:commits_trailer_format_value_severity,
|
72
71
|
:commits_trailer_format_value_includes,
|
73
72
|
:commits_trailer_issue_key_enabled,
|
74
73
|
:commits_trailer_issue_key_severity,
|
75
|
-
:commits_trailer_issue_key_includes,
|
76
74
|
:commits_trailer_issue_value_enabled,
|
77
75
|
:commits_trailer_issue_value_severity,
|
78
76
|
:commits_trailer_issue_value_includes,
|
77
|
+
:commits_trailer_milestone_key_enabled,
|
78
|
+
:commits_trailer_milestone_key_severity,
|
79
|
+
:commits_trailer_milestone_value_enabled,
|
80
|
+
:commits_trailer_milestone_value_severity,
|
81
|
+
:commits_trailer_milestone_value_includes,
|
82
|
+
:commits_trailer_order_enabled,
|
83
|
+
:commits_trailer_order_severity,
|
84
|
+
:commits_trailer_reviewer_key_enabled,
|
85
|
+
:commits_trailer_reviewer_key_severity,
|
86
|
+
:commits_trailer_reviewer_value_enabled,
|
87
|
+
:commits_trailer_reviewer_value_severity,
|
88
|
+
:commits_trailer_reviewer_value_includes,
|
79
89
|
:commits_trailer_signer_capitalization_enabled,
|
80
90
|
:commits_trailer_signer_capitalization_severity,
|
81
91
|
:commits_trailer_signer_email_enabled,
|
82
92
|
:commits_trailer_signer_email_severity,
|
83
93
|
:commits_trailer_signer_key_enabled,
|
84
94
|
:commits_trailer_signer_key_severity,
|
85
|
-
:commits_trailer_signer_key_includes,
|
86
95
|
:commits_trailer_signer_name_enabled,
|
87
96
|
:commits_trailer_signer_name_severity,
|
88
97
|
:commits_trailer_signer_name_minimum,
|
89
98
|
:commits_trailer_tracker_key_enabled,
|
90
99
|
:commits_trailer_tracker_key_severity,
|
91
|
-
:commits_trailer_tracker_key_includes,
|
92
100
|
:commits_trailer_tracker_value_enabled,
|
93
101
|
:commits_trailer_tracker_value_severity,
|
94
102
|
:commits_trailer_tracker_value_includes
|