milestoner 5.0.0 → 5.1.0
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 +4 -4
- data/README.md +2 -2
- data/lib/milestoner/cli.rb +3 -4
- data/lib/milestoner/git/kit.rb +31 -3
- data/lib/milestoner/identity.rb +1 -1
- data/lib/milestoner/publisher.rb +2 -4
- data/lib/milestoner/pusher.rb +12 -9
- data/lib/milestoner/tagger.rb +28 -32
- metadata +32 -40
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bad3b3fa0887d91f02df3d8b487033c18c600c90
|
4
|
+
data.tar.gz: 45b0ba79b7ffc1b8822c6eedab278022f7984b68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11e30e044729b2103f6151b3eaab9ba23b47bb0fc012a613e79e3dd2baede011241e6ab58db479c5f0f6a4ba78ade27e278fdaf089e0d311b9752ba90e3ff776
|
7
|
+
data.tar.gz: f08cac0b68798e0b7ac84b9040f140ca143a09b9403c8bcceaebd5e8fb34e3bfcad0e6652542edae9a20b2a8674ce6069e49b03f7edbda7caa3316601fcf4be5
|
data/README.md
CHANGED
@@ -195,9 +195,9 @@ To test, run:
|
|
195
195
|
|
196
196
|
Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
|
197
197
|
|
198
|
-
- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
|
199
|
-
- Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
|
200
198
|
- Major (X.y.z) - Incremented for any backwards incompatible public API changes.
|
199
|
+
- Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
|
200
|
+
- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
|
201
201
|
|
202
202
|
# Code of Conduct
|
203
203
|
|
data/lib/milestoner/cli.rb
CHANGED
@@ -24,8 +24,7 @@ module Milestoner
|
|
24
24
|
# rubocop:disable Metrics/AbcSize
|
25
25
|
def initialize args = [], options = {}, config = {}
|
26
26
|
super args, options, config
|
27
|
-
@tagger = Tagger.new self.class.configuration.to_h[:
|
28
|
-
commit_prefixes: self.class.configuration.to_h[:git_commit_prefixes]
|
27
|
+
@tagger = Tagger.new commit_prefixes: self.class.configuration.to_h[:git_commit_prefixes]
|
29
28
|
@pusher = Pusher.new
|
30
29
|
@publisher = Publisher.new tagger: tagger, pusher: pusher
|
31
30
|
end
|
@@ -54,8 +53,8 @@ module Milestoner
|
|
54
53
|
|
55
54
|
desc "-p, [--push]", "Push local tag to remote repository."
|
56
55
|
map %w[-p --push] => :push
|
57
|
-
def push
|
58
|
-
pusher.push
|
56
|
+
def push version = self.class.configuration.to_h[:version]
|
57
|
+
pusher.push version
|
59
58
|
info "Tags pushed to remote repository."
|
60
59
|
rescue StandardError => exception
|
61
60
|
error exception.message
|
data/lib/milestoner/git/kit.rb
CHANGED
@@ -4,16 +4,44 @@ module Milestoner
|
|
4
4
|
module Git
|
5
5
|
# A lightweight Git wrapper.
|
6
6
|
class Kit
|
7
|
+
def initialize
|
8
|
+
@git_dir = File.join Dir.pwd, ".git"
|
9
|
+
end
|
10
|
+
|
7
11
|
def supported?
|
8
|
-
File.exist?
|
12
|
+
File.exist? git_dir
|
9
13
|
end
|
10
14
|
|
11
15
|
def commits?
|
12
|
-
|
16
|
+
!shell("git log").empty?
|
17
|
+
end
|
18
|
+
|
19
|
+
def push_tags
|
20
|
+
shell "git push --tags"
|
21
|
+
end
|
22
|
+
|
23
|
+
def tagged?
|
24
|
+
!shell("git tag").empty?
|
25
|
+
end
|
26
|
+
|
27
|
+
def tag_local? tag
|
28
|
+
shell("git tag --list #{tag}").match?(/\A#{tag}\Z/)
|
29
|
+
end
|
30
|
+
|
31
|
+
def tag_remote? tag
|
32
|
+
shell("git ls-remote --tags origin #{tag}").match?(%r(.+tags\/#{tag}\Z))
|
13
33
|
end
|
14
34
|
|
15
35
|
def remote?
|
16
|
-
|
36
|
+
!shell("git config remote.origin.url").empty?
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
attr_reader :git_dir
|
42
|
+
|
43
|
+
def shell command
|
44
|
+
String `#{command}`
|
17
45
|
end
|
18
46
|
end
|
19
47
|
end
|
data/lib/milestoner/identity.rb
CHANGED
data/lib/milestoner/publisher.rb
CHANGED
@@ -8,12 +8,10 @@ module Milestoner
|
|
8
8
|
@pusher = pusher
|
9
9
|
end
|
10
10
|
|
11
|
+
# :reek:BooleanParameter
|
11
12
|
def publish version, sign: false
|
12
13
|
tagger.create version, sign: sign
|
13
|
-
pusher.push
|
14
|
-
rescue Errors::Git => error
|
15
|
-
tagger.delete version
|
16
|
-
raise error.class, error.message
|
14
|
+
pusher.push version
|
17
15
|
end
|
18
16
|
|
19
17
|
private
|
data/lib/milestoner/pusher.rb
CHANGED
@@ -3,22 +3,25 @@
|
|
3
3
|
module Milestoner
|
4
4
|
# Handles publishing of Git tags to remote repository.
|
5
5
|
class Pusher
|
6
|
-
def initialize git: Git::Kit.new
|
6
|
+
def initialize git: Git::Kit.new
|
7
7
|
@git = git
|
8
|
-
@shell = shell
|
9
8
|
end
|
10
9
|
|
11
|
-
def push
|
12
|
-
|
13
|
-
fail(Errors::Git, "Git remote repository not configured.") unless git.remote?
|
10
|
+
def push version
|
11
|
+
version = Versionaire::Version version
|
14
12
|
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
fail(Errors::Git, "Remote repository not configured.") unless git.remote?
|
14
|
+
fail(Errors::Git, "Remote tag exists: #{version.label}.") if tag_exists?(version)
|
15
|
+
return if git.push_tags.empty?
|
16
|
+
fail(Errors::Git, "Tags could not be pushed to remote repository.")
|
18
17
|
end
|
19
18
|
|
20
19
|
private
|
21
20
|
|
22
|
-
attr_reader :git, :
|
21
|
+
attr_reader :git, :version
|
22
|
+
|
23
|
+
def tag_exists? version
|
24
|
+
git.tag_remote? version.label
|
25
|
+
end
|
23
26
|
end
|
24
27
|
end
|
data/lib/milestoner/tagger.rb
CHANGED
@@ -2,10 +2,12 @@
|
|
2
2
|
|
3
3
|
require "forwardable"
|
4
4
|
require "open3"
|
5
|
+
require "thor"
|
5
6
|
require "versionaire"
|
6
7
|
|
7
8
|
module Milestoner
|
8
9
|
# Handles the tagging of a project repository.
|
10
|
+
# :reek:TooManyMethods
|
9
11
|
class Tagger
|
10
12
|
extend Forwardable
|
11
13
|
|
@@ -13,10 +15,10 @@ module Milestoner
|
|
13
15
|
|
14
16
|
def_delegator :version, :label, :version_label
|
15
17
|
|
16
|
-
def initialize
|
17
|
-
@version = Versionaire::Version version
|
18
|
+
def initialize commit_prefixes: [], git: Git::Kit.new
|
18
19
|
@commit_prefixes = commit_prefixes
|
19
20
|
@git = git
|
21
|
+
@shell = Thor::Shell::Color.new
|
20
22
|
end
|
21
23
|
|
22
24
|
def commit_prefix_regex
|
@@ -24,22 +26,10 @@ module Milestoner
|
|
24
26
|
Regexp.union commit_prefixes
|
25
27
|
end
|
26
28
|
|
27
|
-
def tagged?
|
28
|
-
fail(Errors::Git) unless git.supported?
|
29
|
-
response = `git tag`
|
30
|
-
!(response.nil? || response.empty?)
|
31
|
-
end
|
32
|
-
|
33
|
-
def duplicate?
|
34
|
-
fail(Errors::Git) unless git.supported?
|
35
|
-
system "git rev-parse #{version.label} > /dev/null 2>&1"
|
36
|
-
end
|
37
|
-
|
38
29
|
def commits
|
39
|
-
fail(Errors::Git) unless git.supported?
|
40
30
|
groups = build_commit_prefix_groups
|
41
|
-
group_by_commit_prefix
|
42
|
-
sort_by_commit_prefix
|
31
|
+
group_by_commit_prefix groups
|
32
|
+
sort_by_commit_prefix groups
|
43
33
|
groups.values.flatten.uniq
|
44
34
|
end
|
45
35
|
|
@@ -47,23 +37,17 @@ module Milestoner
|
|
47
37
|
commits.map { |commit| "- #{commit}" }
|
48
38
|
end
|
49
39
|
|
50
|
-
|
51
|
-
|
52
|
-
|
40
|
+
# :reek:BooleanParameter
|
41
|
+
def create version, sign: false
|
42
|
+
@version = Versionaire::Version version
|
53
43
|
fail(Errors::Git, "Unable to tag without commits.") unless git.commits?
|
54
|
-
|
44
|
+
return if existing_tag?
|
55
45
|
git_tag sign: sign
|
56
46
|
end
|
57
47
|
|
58
|
-
def delete raw_version = version
|
59
|
-
@version = Versionaire::Version raw_version
|
60
|
-
fail(Errors::Git) unless git.supported?
|
61
|
-
Open3.capture3 "git tag --delete #{version.label}" if duplicate?
|
62
|
-
end
|
63
|
-
|
64
48
|
private
|
65
49
|
|
66
|
-
attr_reader :git
|
50
|
+
attr_reader :git, :shell
|
67
51
|
|
68
52
|
def git_log_command
|
69
53
|
"git log --oneline --no-merges --format='%s'"
|
@@ -74,7 +58,7 @@ module Milestoner
|
|
74
58
|
end
|
75
59
|
|
76
60
|
def git_commits_command
|
77
|
-
return "#{git_log_command} #{git_tag_command}" if tagged?
|
61
|
+
return "#{git_log_command} #{git_tag_command}" if git.tagged?
|
78
62
|
git_log_command
|
79
63
|
end
|
80
64
|
|
@@ -87,11 +71,12 @@ module Milestoner
|
|
87
71
|
groups.merge! "Other" => []
|
88
72
|
end
|
89
73
|
|
74
|
+
# :reek:UtilityFunction
|
90
75
|
def sanitize_commit commit
|
91
76
|
commit.gsub(/\[ci\sskip\]/, "").squeeze(" ").strip
|
92
77
|
end
|
93
78
|
|
94
|
-
def group_by_commit_prefix
|
79
|
+
def group_by_commit_prefix groups = {}
|
95
80
|
raw_commits.each do |commit|
|
96
81
|
prefix = commit[commit_prefix_regex]
|
97
82
|
key = groups.key?(prefix) ? prefix : "Other"
|
@@ -99,7 +84,8 @@ module Milestoner
|
|
99
84
|
end
|
100
85
|
end
|
101
86
|
|
102
|
-
|
87
|
+
# :reek:UtilityFunction
|
88
|
+
def sort_by_commit_prefix groups = {}
|
103
89
|
groups.each { |_, values| values.sort! }
|
104
90
|
end
|
105
91
|
|
@@ -107,18 +93,28 @@ module Milestoner
|
|
107
93
|
%(Version #{version}.\n\n#{commit_list.join "\n"}\n\n)
|
108
94
|
end
|
109
95
|
|
96
|
+
# :reek:BooleanParameter
|
97
|
+
# :reek:ControlParameter
|
110
98
|
def git_options message_file, sign: false
|
111
|
-
options = %(--sign --annotate "#{
|
99
|
+
options = %(--sign --annotate "#{version_label}" ) +
|
112
100
|
%(--cleanup verbatim --file "#{message_file.path}")
|
113
101
|
return options.gsub("--sign ", "") unless sign
|
114
102
|
options
|
115
103
|
end
|
116
104
|
|
105
|
+
def existing_tag?
|
106
|
+
return false unless git.tag_local?(version_label)
|
107
|
+
shell.say_status :warn, "Local tag exists: #{version_label}. Skipped.", :yellow
|
108
|
+
true
|
109
|
+
end
|
110
|
+
|
111
|
+
# :reek:BooleanParameter
|
112
|
+
# :reek:TooManyStatements
|
117
113
|
def git_tag sign: false
|
118
114
|
message_file = Tempfile.new Identity.name
|
119
115
|
File.open(message_file, "w") { |file| file.write git_message }
|
120
116
|
status = system "git tag #{git_options message_file, sign: sign}"
|
121
|
-
fail(Errors::Git, "Unable to create tag: #{
|
117
|
+
fail(Errors::Git, "Unable to create tag: #{version_label}.") unless status
|
122
118
|
ensure
|
123
119
|
message_file.close
|
124
120
|
message_file.unlink
|
metadata
CHANGED
@@ -1,36 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milestoner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZicm9v
|
14
|
-
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
15
|
-
aW8wHhcNMTYxMDE5MTY0NDEzWhcNMTcxMDE5MTY0NDEzWjBBMQ8wDQYDVQQDDAZi
|
16
|
-
cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
|
17
|
-
GRYCaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgryPL4/IbWDcL
|
18
|
-
fnqpnoJALqj+ega7hSsvvD8sac57HPNLeKcOmSafFiQLAnTmmE132ZlFc8kyZRVn
|
19
|
-
zmqSESowO5jd+ggFuy1ySqQJXhwgik04KedKRUjpIDZePrjw+M5UJT1qzKCKL2xI
|
20
|
-
nx5cOKP1fSWJ1RRu8JhaDeSloGtYMdw2c28wnKPNIsWDood4xhbLcY9IqeISft2e
|
21
|
-
oTAHTHandHbvt24X3/n67ceNjLBbsVZPXCC1C8C8ccjHjA4Tm2uiFoDwThMcPggg
|
22
|
-
90H6fh0vLFcNAobdPEchbge8tWtfmMPz2+C4yklANn81GA+ANsBS1uwx6mxJoMQU
|
23
|
-
BNVp0aLvAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
24
|
-
BBRS85Rn1BaqeIONByw4t46DMDMzHDAfBgNVHREEGDAWgRRicm9va2VAYWxjaGVt
|
25
|
-
aXN0cy5pbzAfBgNVHRIEGDAWgRRicm9va2VAYWxjaGVtaXN0cy5pbzANBgkqhkiG
|
26
|
-
9w0BAQUFAAOCAQEAZMb57Y4wdpbX8XxTukEO7VC1pndccUsxdbziGsAOiuHET3Aq
|
27
|
-
ygLvrfdYrN88/w+qxncW5bxbO3a6UGkuhIFUPM8zRSE/rh6bCcJljTJrExVt42eV
|
28
|
-
aYCb7WJNsx3eNXHn3uQodq3tD+lmNJzz2bFeT3smGSKEnALBjqorO/2mpDh4FJ3S
|
29
|
-
4CcDYsJ1ywep8LDJDBBGdKz9moL+axryzpeTpgTT/fFYFzRzWrURPyDvPOikh9TX
|
30
|
-
n/LUZ1dKhIHzfKx1B4+TEIefArObGfkLIDM8+Dq1RX7TF1k81Men7iu4MgE9bYBn
|
31
|
-
3dE+xI3FdB5gWcdWxdtgRCmWjtXeYYyb4z6NQQ==
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2017-01-22 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-05-07 00:00:00.000000000 Z
|
34
12
|
dependencies:
|
35
13
|
- !ruby/object:Gem::Dependency
|
36
14
|
name: thor
|
@@ -52,42 +30,42 @@ dependencies:
|
|
52
30
|
requirements:
|
53
31
|
- - "~>"
|
54
32
|
- !ruby/object:Gem::Version
|
55
|
-
version: '5.
|
33
|
+
version: '5.1'
|
56
34
|
type: :runtime
|
57
35
|
prerelease: false
|
58
36
|
version_requirements: !ruby/object:Gem::Requirement
|
59
37
|
requirements:
|
60
38
|
- - "~>"
|
61
39
|
- !ruby/object:Gem::Version
|
62
|
-
version: '5.
|
40
|
+
version: '5.1'
|
63
41
|
- !ruby/object:Gem::Dependency
|
64
42
|
name: runcom
|
65
43
|
requirement: !ruby/object:Gem::Requirement
|
66
44
|
requirements:
|
67
45
|
- - "~>"
|
68
46
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0.
|
47
|
+
version: '0.6'
|
70
48
|
type: :runtime
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
51
|
requirements:
|
74
52
|
- - "~>"
|
75
53
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0.
|
54
|
+
version: '0.6'
|
77
55
|
- !ruby/object:Gem::Dependency
|
78
56
|
name: versionaire
|
79
57
|
requirement: !ruby/object:Gem::Requirement
|
80
58
|
requirements:
|
81
59
|
- - "~>"
|
82
60
|
- !ruby/object:Gem::Version
|
83
|
-
version: '3.
|
61
|
+
version: '3.1'
|
84
62
|
type: :runtime
|
85
63
|
prerelease: false
|
86
64
|
version_requirements: !ruby/object:Gem::Requirement
|
87
65
|
requirements:
|
88
66
|
- - "~>"
|
89
67
|
- !ruby/object:Gem::Version
|
90
|
-
version: '3.
|
68
|
+
version: '3.1'
|
91
69
|
- !ruby/object:Gem::Dependency
|
92
70
|
name: rake
|
93
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,6 +80,20 @@ dependencies:
|
|
102
80
|
- - "~>"
|
103
81
|
- !ruby/object:Gem::Version
|
104
82
|
version: '12.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: gemsmith
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '9.4'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '9.4'
|
105
97
|
- !ruby/object:Gem::Dependency
|
106
98
|
name: pry
|
107
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,14 +198,14 @@ dependencies:
|
|
206
198
|
requirements:
|
207
199
|
- - "~>"
|
208
200
|
- !ruby/object:Gem::Version
|
209
|
-
version: '3.
|
201
|
+
version: '3.6'
|
210
202
|
type: :development
|
211
203
|
prerelease: false
|
212
204
|
version_requirements: !ruby/object:Gem::Requirement
|
213
205
|
requirements:
|
214
206
|
- - "~>"
|
215
207
|
- !ruby/object:Gem::Version
|
216
|
-
version: '3.
|
208
|
+
version: '3.6'
|
217
209
|
- !ruby/object:Gem::Dependency
|
218
210
|
name: guard-rspec
|
219
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,42 +226,42 @@ dependencies:
|
|
234
226
|
requirements:
|
235
227
|
- - "~>"
|
236
228
|
- !ruby/object:Gem::Version
|
237
|
-
version: '0.
|
229
|
+
version: '0.1'
|
238
230
|
type: :development
|
239
231
|
prerelease: false
|
240
232
|
version_requirements: !ruby/object:Gem::Requirement
|
241
233
|
requirements:
|
242
234
|
- - "~>"
|
243
235
|
- !ruby/object:Gem::Version
|
244
|
-
version: '0.
|
236
|
+
version: '0.1'
|
245
237
|
- !ruby/object:Gem::Dependency
|
246
238
|
name: reek
|
247
239
|
requirement: !ruby/object:Gem::Requirement
|
248
240
|
requirements:
|
249
241
|
- - "~>"
|
250
242
|
- !ruby/object:Gem::Version
|
251
|
-
version: '4.
|
243
|
+
version: '4.6'
|
252
244
|
type: :development
|
253
245
|
prerelease: false
|
254
246
|
version_requirements: !ruby/object:Gem::Requirement
|
255
247
|
requirements:
|
256
248
|
- - "~>"
|
257
249
|
- !ruby/object:Gem::Version
|
258
|
-
version: '4.
|
250
|
+
version: '4.6'
|
259
251
|
- !ruby/object:Gem::Dependency
|
260
252
|
name: rubocop
|
261
253
|
requirement: !ruby/object:Gem::Requirement
|
262
254
|
requirements:
|
263
255
|
- - "~>"
|
264
256
|
- !ruby/object:Gem::Version
|
265
|
-
version: '0.
|
257
|
+
version: '0.48'
|
266
258
|
type: :development
|
267
259
|
prerelease: false
|
268
260
|
version_requirements: !ruby/object:Gem::Requirement
|
269
261
|
requirements:
|
270
262
|
- - "~>"
|
271
263
|
- !ruby/object:Gem::Version
|
272
|
-
version: '0.
|
264
|
+
version: '0.48'
|
273
265
|
- !ruby/object:Gem::Dependency
|
274
266
|
name: codeclimate-test-reporter
|
275
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -328,7 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
328
320
|
version: '0'
|
329
321
|
requirements: []
|
330
322
|
rubyforge_project:
|
331
|
-
rubygems_version: 2.6.
|
323
|
+
rubygems_version: 2.6.12
|
332
324
|
signing_key:
|
333
325
|
specification_version: 4
|
334
326
|
summary: A command line interface for releasing Git repository milestones.
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
metadata.gz.sig
DELETED
Binary file
|