bake-modernize 0.17.3 → 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 184e24f86a0a681ca38a59b54e78d61eed0494880d8d7ca1e8003c45a759caba
4
- data.tar.gz: 5af9b347cfd4618c6fdfe06a08f3dc93a33a06ff1e529ea9918d4cb025cecc73
3
+ metadata.gz: 65d6b9a42133ae86ab48a97a908f5539b0223f1bf7fec948f5f3cd20d178e043
4
+ data.tar.gz: 7390a861caca26af8389d00da3409722eb08632f4a2e7f0db4c6938ba12e2c42
5
5
  SHA512:
6
- metadata.gz: 728803e53abe00984a92208e0da5dd137c24311c0f3c1ba52d740524dfcab82c8932d6f8f00a72c0eb2e03975d819ff90d8758dcf813bfbf05c1f90b107dcb80
7
- data.tar.gz: 5963dfa6c4519cd50ccf4f6b2e1b85442d1722533c96a0dee3520141873cc47511accef685781411fa065906f4dc8a86f8bd074db8101bc38b90b73064f18601
6
+ metadata.gz: 44a727be6bc7dd4e3a4edd7b6d4b022139314fecd9b8305cdc2e573f5eee726cedb81873cb25362900038c851a6e8bf483f218ae043479069110a61cd5cd81fc
7
+ data.tar.gz: 7dc3a78ad44ce97113ca1e63558e059c14c168a9b6ef6563f899b5ad14695a661aabd57f6457df5f404b37002d2b8a22f38cb0a8b0f41d0635498061f92ad83c
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,6 +9,39 @@ require 'yaml'
9
9
  module Bake
10
10
  module Modernize
11
11
  module License
12
+ GIT_BLAME_IGNORE_REVS = ".git-blame-ignore-revs"
13
+
14
+ class SkipList
15
+ def self.for(root)
16
+ full_path = File.join(root, GIT_BLAME_IGNORE_REVS)
17
+
18
+ if File.exist?(full_path)
19
+ skip_list = self.new
20
+ skip_list.extract(full_path)
21
+ return skip_list
22
+ end
23
+ end
24
+
25
+ def initialize(revisions = [])
26
+ @revisions = Set.new(revisions)
27
+ end
28
+
29
+ def extract(path)
30
+ File.open(path, 'r') do |file|
31
+ file.each_line do |line|
32
+ # Skip empty lines and comments
33
+ next if line =~ /^\s*(#|$)/
34
+ # Parse line
35
+ @revisions << line.strip
36
+ end
37
+ end
38
+ end
39
+
40
+ def ignore?(commit)
41
+ @revisions.include?(commit.oid)
42
+ end
43
+ end
44
+
12
45
  class Mailmap
13
46
  def self.for(root)
14
47
  full_path = File.join(root, '.mailmap')
@@ -119,6 +152,7 @@ module Bake
119
152
 
120
153
  def extract(root = Dir.pwd)
121
154
  mailmap = Mailmap.for(root)
155
+ skip_list = SkipList.for(root)
122
156
 
123
157
  if contributors = Contributors.for(root)
124
158
  contributors.each do |path, author, time|
@@ -126,7 +160,7 @@ module Bake
126
160
  end
127
161
  end
128
162
 
129
- walk(Rugged::Repository.discover(root), mailmap: mailmap)
163
+ walk(Rugged::Repository.discover(root), mailmap: mailmap, skip_list: skip_list)
130
164
 
131
165
  return self
132
166
  end
@@ -151,8 +185,10 @@ module Bake
151
185
 
152
186
  DEFAULT_SORT = Rugged::SORT_DATE | Rugged::SORT_TOPO | Rugged::SORT_REVERSE
153
187
 
154
- def walk(repository, mailmap: nil, show: "HEAD")
188
+ def walk(repository, mailmap: nil, skip_list: nil, show: "HEAD")
155
189
  Rugged::Walker.walk(repository, show: show, sort: DEFAULT_SORT) do |commit|
190
+ next if skip_list&.ignore?(commit)
191
+
156
192
  diff = commit.diff
157
193
 
158
194
  # We relax the threshold for copy and rename detection because we want to detect files that have been moved and modified more generously.
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Bake
7
7
  module Modernize
8
- VERSION = "0.17.3"
8
+ VERSION = "0.17.4"
9
9
  end
10
10
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bake-modernize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.3
4
+ version: 0.17.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
metadata.gz.sig CHANGED
Binary file