git-lint 4.1.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee738a7ce606f8a291a1dbada5828b3096345062e1c27caee577ab786a06e216
4
- data.tar.gz: 0717bc13c09ec9802e72a599236aa52ab5dce82694289916ea23dc871b0b0f80
3
+ metadata.gz: 84cc740071b4d556103ad86027dceb09a80c1299e1e1aa1ea0841beaba09d7a0
4
+ data.tar.gz: 2aca9f88f2c76158d234692abfcaba96821bd3c59717649448f98ec8df471a66
5
5
  SHA512:
6
- metadata.gz: fc01873bb90afbed6bc8718a29a1142bcf7ba7764eac8efbf183cce1a61aaac62b2fdb2f3ea68ccbefeb690114cef2ff5a6cf5f6c4999e0f3a6df19dc4fcc8cb
7
- data.tar.gz: 0cd9f1449cddb6405b7f27b4ed092db62969be9a0b608e8ead0b5efe668e0e7c33d6053fbd7ec119091713f3c1272b46f3a60d90abbbf0cf3294d854aae46a64
6
+ metadata.gz: cad3cec7f427739b74f97ce506c2fc7505366aa1eca4a3b9d1546d57918ce9be3f2e1eb74582e88189908c73029adc50be1b2fe9e8df064410ab018e05f0ac21
7
+ data.tar.gz: b413925ae9f72316e527fd9984cef9e1580d8889ab092d718153568719fbaddd05b7d570f183bd97edd3ff75752a9d44482019313db87510f358a3732613619f
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -25,6 +25,7 @@ toc::[]
25
25
 
26
26
  == Requirements
27
27
 
28
+ . link:https://git-scm.com[Git]
28
29
  . link:https://www.ruby-lang.org[Ruby]
29
30
 
30
31
  == Setup
@@ -36,23 +37,6 @@ To install, run:
36
37
  gem install git-lint
37
38
  ----
38
39
 
39
- == Upgrade
40
-
41
- If upgrading from 2.0.0 to 3.0.0, you'll need to make the following changes:
42
-
43
- * The YAML configuration requires a top-level `:analyzers:` key for which all analyzer
44
- configurations should be listed under. See the _Configuration_ section below for more details.
45
- * The `--config` command requires either an `edit` or `view` argument now.
46
- * The `--analyze` command can accept a `--sha` option for passing in the hash of the SHA you want to
47
- analyze. If using this as a post commit Git Hook, you'll need to update your Bash script
48
- accordingly.
49
- * The _Commit Body Line Length_ analyzer configuration has replaced `length` with `maximum` as the
50
- key for defining maximum line length.
51
- * The _Commit Body Issue Tracker Link_ analyzer has been replaced with the _Commit Body Tracker
52
- Shorthand_ analyzer. See documentation below for details.
53
- * The _Commit Subject Length_ analyzer has replaced `length` with `maximum` as the key for defining
54
- maximum subject length.
55
-
56
40
  == Usage
57
41
 
58
42
  === Command Line Interface (CLI)
@@ -234,6 +218,7 @@ variables. The default configuration is:
234
218
  :commit_subject_prefix:
235
219
  :enabled: true
236
220
  :severity: :error
221
+ :delimiter: " "
237
222
  :includes:
238
223
  - Fixed
239
224
  - Added
@@ -717,6 +702,7 @@ Automatically ignores _fixup!_ or _squash!_ commit prefixes when calculating sub
717
702
  |===
718
703
  | Enabled | Severity | Defaults
719
704
  | true | error | includes: (see below)
705
+ | | | delimiter: " "
720
706
  |===
721
707
 
722
708
  Ensures each commit subject uses consistent prefixes that explain _what_ is being committed. The
@@ -751,6 +737,10 @@ milestones and Git tag histories. For a deeper dive on subject prefixes and good
751
737
  general, please read about link:https://www.alchemists.io/articles/git_commit_anatomy[commit anatomy
752
738
  ] to learn more. 🎉
753
739
 
740
+ Each prefix is delimited by a space which is the default setting but can be customized if desired.
741
+ Whatever you choose for a delimiter will not affect Git's special bang prefixes as described in the
742
+ tip below.
743
+
754
744
  💡 This analyzer automatically ignores _amend!_, _fixup!_, or _squash!_ commit prefixes when used as
755
745
  a Git Hook in order to not disturb interactive rebase workflows.
756
746
 
data/git-lint.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "git-lint"
5
- spec.version = "4.1.0"
5
+ spec.version = "4.4.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://www.alchemists.io/projects/git-lint"
@@ -23,15 +23,15 @@ Gem::Specification.new do |spec|
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
25
  spec.required_ruby_version = "~> 3.1"
26
- spec.add_dependency "auto_injector", "~> 0.5"
27
- spec.add_dependency "cogger", "~> 0.1"
28
- spec.add_dependency "dry-container", "~> 0.9"
29
- spec.add_dependency "git_plus", "~> 1.3"
26
+ spec.add_dependency "auto_injector", "~> 0.7"
27
+ spec.add_dependency "cogger", "~> 0.2"
28
+ spec.add_dependency "dry-container", "~> 0.10"
29
+ spec.add_dependency "git_plus", "~> 1.4"
30
30
  spec.add_dependency "pastel", "~> 0.8"
31
- spec.add_dependency "refinements", "~> 9.4"
32
- spec.add_dependency "runcom", "~> 8.4"
33
- spec.add_dependency "spek", "~> 0.3"
34
- spec.add_dependency "zeitwerk", "~> 2.5"
31
+ spec.add_dependency "refinements", "~> 9.6"
32
+ spec.add_dependency "runcom", "~> 8.5"
33
+ spec.add_dependency "spek", "~> 0.5"
34
+ spec.add_dependency "zeitwerk", "~> 2.6"
35
35
 
36
36
  spec.bindir = "exe"
37
37
  spec.executables << "git-lint"
@@ -58,7 +58,6 @@ module Git
58
58
 
59
59
  def affected_commit_body_lines
60
60
  commit.body_lines.each.with_object([]).with_index do |(line, lines), index|
61
- yield if block_given?
62
61
  lines << self.class.build_issue_line(index, line) if invalid_line? line
63
62
  end
64
63
  end
@@ -67,7 +66,6 @@ module Git
67
66
  commit.trailers
68
67
  .each.with_object([])
69
68
  .with_index(commit.trailers_index) do |(line, lines), index|
70
- yield if block_given?
71
69
  lines << self.class.build_issue_line(index, line) if invalid_line? line
72
70
  end
73
71
  end
@@ -26,7 +26,7 @@ module Git
26
26
  klass = self.class
27
27
 
28
28
  commit.body_paragraphs.each.with_object([]).with_index do |(line, lines), index|
29
- lines << klass.build_issue_line(index, line) if klass.invalid? line
29
+ lines << klass.build_issue_line(index, line)
30
30
  end
31
31
  end
32
32
  end
@@ -20,7 +20,11 @@ module Git
20
20
 
21
21
  protected
22
22
 
23
- def load_filter_list = Kit::FilterList.new(settings.includes)
23
+ def load_filter_list
24
+ settings.includes
25
+ .map { |prefix| "#{prefix}#{settings.delimiter}" }
26
+ .then { |list| Kit::FilterList.new list }
27
+ end
24
28
 
25
29
  def locally_prefixed? = !ci? && commit.prefix?
26
30
 
@@ -10,8 +10,6 @@ module Git
10
10
  module Container
11
11
  extend Dry::Container::Mixin
12
12
 
13
- config.registry = ->(container, key, value, _options) { container[key.to_s] = value }
14
-
15
13
  merge Git::Lint::Container
16
14
 
17
15
  register(:analyze_branch) { Analyze::Branch.new }
@@ -10,8 +10,6 @@ module Git
10
10
  module Container
11
11
  extend Dry::Container::Mixin
12
12
 
13
- config.registry = ->(container, key, value, _options) { container[key.to_s] = value }
14
-
15
13
  merge Git::Lint::Container
16
14
 
17
15
  register(:circle_ci) { CircleCI.new }
@@ -85,6 +85,7 @@
85
85
  :commit_subject_prefix:
86
86
  :enabled: true
87
87
  :severity: :error
88
+ :delimiter: " "
88
89
  :includes:
89
90
  - Fixed
90
91
  - Added
@@ -5,6 +5,7 @@ module Git
5
5
  module Configuration
6
6
  # Defines analyzer specific settings.
7
7
  Setting = Struct.new(
8
+ :delimiter,
8
9
  :enabled,
9
10
  :excludes,
10
11
  :id,
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-lint
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
29
  RFE=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-05-07 00:00:00.000000000 Z
31
+ date: 2022-08-13 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: auto_injector
@@ -36,56 +36,56 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.5'
39
+ version: '0.7'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.5'
46
+ version: '0.7'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: cogger
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.1'
53
+ version: '0.2'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.1'
60
+ version: '0.2'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: dry-container
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.9'
67
+ version: '0.10'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '0.9'
74
+ version: '0.10'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: git_plus
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '1.3'
81
+ version: '1.4'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '1.3'
88
+ version: '1.4'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: pastel
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -106,56 +106,56 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '9.4'
109
+ version: '9.6'
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '9.4'
116
+ version: '9.6'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: runcom
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '8.4'
123
+ version: '8.5'
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '8.4'
130
+ version: '8.5'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: spek
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '0.3'
137
+ version: '0.5'
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '0.3'
144
+ version: '0.5'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: zeitwerk
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '2.5'
151
+ version: '2.6'
152
152
  type: :runtime
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '2.5'
158
+ version: '2.6'
159
159
  description:
160
160
  email:
161
161
  - brooke@alchemists.io
@@ -260,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
260
260
  - !ruby/object:Gem::Version
261
261
  version: '0'
262
262
  requirements: []
263
- rubygems_version: 3.3.13
263
+ rubygems_version: 3.3.19
264
264
  signing_key:
265
265
  specification_version: 4
266
266
  summary: A command line interface for linting Git commits.
metadata.gz.sig CHANGED
Binary file