bake-modernize 0.17.3 → 0.17.4

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: 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