milestoner 2.2.0 → 3.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.tar.gz.sig +0 -0
- data/README.md +15 -12
- data/lib/milestoner.rb +1 -1
- data/lib/milestoner/cli.rb +29 -17
- data/lib/milestoner/configuration.rb +8 -0
- data/lib/milestoner/git.rb +18 -0
- data/lib/milestoner/identity.rb +1 -1
- data/lib/milestoner/pusher.rb +7 -8
- data/lib/milestoner/tagger.rb +30 -46
- metadata +74 -4
- metadata.gz.sig +0 -0
- data/lib/milestoner/aids/git.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9aa59dc5b98238b6b0f20689142e7926443d0fd8
|
4
|
+
data.tar.gz: 87653a11e6ecf0f2f74f605188ebe20ac63c1ab7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38595bb8f085651035d26b5440cd86e1656a4b35acdfaf7e8ab788cd7cca5a7047cf8813d16fba0eabc4f59756fcb17903254bad7541d33903204a8a90ab2f49
|
7
|
+
data.tar.gz: ccdf5a94d6b5189cfc2555e1bab248fcbe0bb9ad1869f3ba015518ce12e43e2b2bc6ca1911a8d31434f986c68f33c8898dc1dbc7e14a0db273e19b3bd5b09f5d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.md
CHANGED
@@ -33,7 +33,7 @@ A command line interface for releasing Git repository milestones.
|
|
33
33
|
|
34
34
|
# Features
|
35
35
|
|
36
|
-
-
|
36
|
+
- Uses [Versionaire](https://github.com/bkuhlmann/versionaire) for [Semantic Versioning](http://semver.org).
|
37
37
|
- Format: `v<major>.<minor>.<maintenance>`.
|
38
38
|
- Example: `v0.1.0`.
|
39
39
|
- Ensures Git commits since last tag (or initialization of repository) are included within each Git tag message.
|
@@ -52,7 +52,7 @@ A command line interface for releasing Git repository milestones.
|
|
52
52
|
|
53
53
|
# Screencasts
|
54
54
|
|
55
|
-
[![asciicast](https://asciinema.org/a/
|
55
|
+
[![asciicast](https://asciinema.org/a/41207.png)](https://asciinema.org/a/41207)
|
56
56
|
|
57
57
|
# Requirements
|
58
58
|
|
@@ -80,19 +80,23 @@ For an insecure install, type the following (not recommended):
|
|
80
80
|
|
81
81
|
From the command line, type: `milestoner help`
|
82
82
|
|
83
|
+
milestoner -C, [--commits] # Show commits for next milestone.
|
83
84
|
milestoner -P, [--publish=PUBLISH] # Tag and push milestone to remote repository.
|
84
|
-
milestoner -c, [--
|
85
|
-
milestoner -e, [--edit] # Edit Milestoner settings in default editor.
|
85
|
+
milestoner -c, [--config] # Show/manage gem configuration.
|
86
86
|
milestoner -h, [--help=HELP] # Show this message or get help for a command.
|
87
87
|
milestoner -p, [--push] # Push local tag to remote repository.
|
88
88
|
milestoner -t, [--tag=TAG] # Tag local repository with new version.
|
89
|
-
milestoner -v, [--version] # Show
|
89
|
+
milestoner -v, [--version] # Show gem version.
|
90
90
|
|
91
|
-
For
|
91
|
+
For config options, type: `milestoner help --config`
|
92
|
+
|
93
|
+
-e, [--edit], [--no-edit] # Edit gem configuration.
|
94
|
+
|
95
|
+
For tag options, type: `milestoner help --tag`
|
92
96
|
|
93
97
|
-s, [--sign], [--no-sign] # Sign tag with GPG key.
|
94
98
|
|
95
|
-
For publish options, type: `milestoner help publish`
|
99
|
+
For publish options, type: `milestoner help --publish`
|
96
100
|
|
97
101
|
-s, [--sign], [--no-sign] # Sign tag with GPG key.
|
98
102
|
|
@@ -121,7 +125,7 @@ no inheritance when local *and* global settings exist at the same time.
|
|
121
125
|
|
122
126
|
The `.milestonerrc` uses the following default settings:
|
123
127
|
|
124
|
-
:version: ""
|
128
|
+
:version: "0.1.0"
|
125
129
|
:git_commit_prefixes:
|
126
130
|
- Fixed
|
127
131
|
- Added
|
@@ -132,10 +136,9 @@ The `.milestonerrc` uses the following default settings:
|
|
132
136
|
|
133
137
|
Each `.milestonerrc` setting can be configured as follows:
|
134
138
|
|
135
|
-
- `version`:
|
136
|
-
|
137
|
-
|
138
|
-
version, use this format: `<major>.<minor>.<maintenance>`. Example: `0.1.0`.
|
139
|
+
- `version`: Useful if desired to have the current version checked into source code per project. The version, if set,
|
140
|
+
will be used to tag the repository. If the version is a duplicate, an error will be thrown. When supplying a version,
|
141
|
+
it *must* be semantic: `<major>.<minor>.<maintenance>`. Example: `0.1.0`.
|
139
142
|
- `git_commit_prefixes`: Should the default prefixes not be desired, you can define Git commit prefixes that match your
|
140
143
|
style. *NOTE: Prefix order is important with the first prefix defined taking precedence over the second and so forth.*
|
141
144
|
Special characters are allowed for prefixes but should be enclosed in quotes if used. To disable prefix usage
|
data/lib/milestoner.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "milestoner/aids/git"
|
4
3
|
require "milestoner/errors/base"
|
5
4
|
require "milestoner/errors/configuration"
|
6
5
|
require "milestoner/errors/duplicate_tag"
|
7
6
|
require "milestoner/errors/git"
|
8
7
|
require "milestoner/errors/version"
|
9
8
|
require "milestoner/configuration"
|
9
|
+
require "milestoner/git"
|
10
10
|
require "milestoner/identity"
|
11
11
|
require "milestoner/publisher"
|
12
12
|
require "milestoner/pusher"
|
data/lib/milestoner/cli.rb
CHANGED
@@ -22,12 +22,12 @@ module Milestoner
|
|
22
22
|
@publisher = Publisher.new tagger: tagger, pusher: pusher
|
23
23
|
end
|
24
24
|
|
25
|
-
desc "-
|
26
|
-
map %w(-
|
25
|
+
desc "-C, [--commits]", "Show commits for next milestone."
|
26
|
+
map %w(-C --commits) => :commits
|
27
27
|
def commits
|
28
28
|
tagger.commit_list.each { |commit| say commit }
|
29
|
-
rescue
|
30
|
-
error
|
29
|
+
rescue StandardError => exception
|
30
|
+
error exception.message
|
31
31
|
end
|
32
32
|
|
33
33
|
desc "-t, [--tag=TAG]", "Tag local repository with new version."
|
@@ -36,8 +36,8 @@ module Milestoner
|
|
36
36
|
def tag version = configuration.settings[:version]
|
37
37
|
tagger.create version, sign: sign_tag?(options[:sign])
|
38
38
|
say "Repository tagged: #{tagger.version_label}."
|
39
|
-
rescue
|
40
|
-
error
|
39
|
+
rescue StandardError => exception
|
40
|
+
error exception.message
|
41
41
|
end
|
42
42
|
|
43
43
|
desc "-p, [--push]", "Push local tag to remote repository."
|
@@ -45,8 +45,8 @@ module Milestoner
|
|
45
45
|
def push
|
46
46
|
pusher.push
|
47
47
|
info "Tags pushed to remote repository."
|
48
|
-
rescue
|
49
|
-
error
|
48
|
+
rescue StandardError => exception
|
49
|
+
error exception.message
|
50
50
|
end
|
51
51
|
|
52
52
|
desc "-P, [--publish=PUBLISH]", "Tag and push milestone to remote repository."
|
@@ -56,18 +56,22 @@ module Milestoner
|
|
56
56
|
publisher.publish version, sign: sign_tag?(options[:sign])
|
57
57
|
info "Repository tagged and pushed: #{tagger.version_label}."
|
58
58
|
info "Milestone published!"
|
59
|
-
rescue
|
60
|
-
error
|
59
|
+
rescue StandardError => exception
|
60
|
+
error exception.message
|
61
61
|
end
|
62
62
|
|
63
|
-
desc "-
|
64
|
-
map %w(-
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
desc "-c, [--config]", "Show/manage gem configuration."
|
64
|
+
map %w(-c --config) => :config
|
65
|
+
method_option :edit, aliases: "-e", desc: "Edit gem configuration.", type: :boolean, default: false
|
66
|
+
def config
|
67
|
+
if options[:edit]
|
68
|
+
`#{editor} #{configuration.computed_file_path}`
|
69
|
+
else
|
70
|
+
print_config_info
|
71
|
+
end
|
68
72
|
end
|
69
73
|
|
70
|
-
desc "-v, [--version]", "Show
|
74
|
+
desc "-v, [--version]", "Show gem version."
|
71
75
|
map %w(-v --version) => :version
|
72
76
|
def version
|
73
77
|
say Identity.version_label
|
@@ -85,7 +89,7 @@ module Milestoner
|
|
85
89
|
|
86
90
|
def defaults
|
87
91
|
{
|
88
|
-
version: "",
|
92
|
+
version: "0.1.0",
|
89
93
|
git_commit_prefixes: %w(Fixed Added Updated Removed Refactored),
|
90
94
|
git_tag_sign: false
|
91
95
|
}
|
@@ -94,5 +98,13 @@ module Milestoner
|
|
94
98
|
def sign_tag? sign
|
95
99
|
sign | configuration.settings[:git_tag_sign]
|
96
100
|
end
|
101
|
+
|
102
|
+
def print_config_info
|
103
|
+
case
|
104
|
+
when configuration.local? then say("Use local configuration: #{configuration.computed_file_path}.")
|
105
|
+
when configuration.global? then say("Using global configuration: #{configuration.computed_file_path}.")
|
106
|
+
else say("Global and local gem configuration not defined, using defaults instead.")
|
107
|
+
end
|
108
|
+
end
|
97
109
|
end
|
98
110
|
end
|
@@ -16,6 +16,14 @@ module Milestoner
|
|
16
16
|
File.join ENV["HOME"], file_name
|
17
17
|
end
|
18
18
|
|
19
|
+
def global?
|
20
|
+
File.exist? global_file_path
|
21
|
+
end
|
22
|
+
|
23
|
+
def local?
|
24
|
+
File.exist? local_file_path
|
25
|
+
end
|
26
|
+
|
19
27
|
def computed_file_path
|
20
28
|
File.exist?(local_file_path) ? local_file_path : global_file_path
|
21
29
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Milestoner
|
4
|
+
# A lightweight Git wrapper.
|
5
|
+
class Git
|
6
|
+
def supported?
|
7
|
+
File.exist? File.join(Dir.pwd, ".git")
|
8
|
+
end
|
9
|
+
|
10
|
+
def commits?
|
11
|
+
system "git log > /dev/null 2>&1"
|
12
|
+
end
|
13
|
+
|
14
|
+
def remote?
|
15
|
+
system "git config remote.origin.url"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/milestoner/identity.rb
CHANGED
data/lib/milestoner/pusher.rb
CHANGED
@@ -3,20 +3,19 @@
|
|
3
3
|
module Milestoner
|
4
4
|
# Handles publishing of Git tags to remote repository.
|
5
5
|
class Pusher
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
@kernel = kernel
|
6
|
+
def initialize git: Git.new, shell: Kernel
|
7
|
+
@git = git
|
8
|
+
@shell = shell
|
10
9
|
end
|
11
10
|
|
12
11
|
def push
|
13
|
-
fail(Errors::Git) unless
|
14
|
-
fail(Errors::Git, "Git remote repository
|
15
|
-
|
12
|
+
fail(Errors::Git) unless git.supported?
|
13
|
+
fail(Errors::Git, "Git remote repository not configured.") unless git.remote?
|
14
|
+
fail(Errors::Git, "Git tags could not be pushed to remote repository.") unless shell.system("git push --tags")
|
16
15
|
end
|
17
16
|
|
18
17
|
private
|
19
18
|
|
20
|
-
attr_reader :
|
19
|
+
attr_reader :git, :shell
|
21
20
|
end
|
22
21
|
end
|
data/lib/milestoner/tagger.rb
CHANGED
@@ -1,29 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "forwardable"
|
3
4
|
require "open3"
|
5
|
+
require "versionaire"
|
4
6
|
|
5
7
|
module Milestoner
|
6
8
|
# Handles the tagging of a project repository.
|
7
9
|
class Tagger
|
8
|
-
|
10
|
+
extend Forwardable
|
9
11
|
|
10
|
-
attr_reader :
|
12
|
+
attr_reader :version, :commit_prefixes
|
11
13
|
|
12
|
-
|
13
|
-
/\A\d+\.\d+\.\d+\z/
|
14
|
-
end
|
14
|
+
def_delegator :version, :label, :version_label
|
15
15
|
|
16
|
-
def initialize version =
|
17
|
-
@
|
16
|
+
def initialize version = "0.1.0", commit_prefixes: [], git: Git.new
|
17
|
+
@version = Versionaire::Version version
|
18
18
|
@commit_prefixes = commit_prefixes
|
19
|
-
|
20
|
-
|
21
|
-
def version_label
|
22
|
-
"v#{version_number}"
|
23
|
-
end
|
24
|
-
|
25
|
-
def version_message
|
26
|
-
"Version #{version_number}."
|
19
|
+
@git = git
|
27
20
|
end
|
28
21
|
|
29
22
|
def commit_prefix_regex
|
@@ -32,18 +25,18 @@ module Milestoner
|
|
32
25
|
end
|
33
26
|
|
34
27
|
def tagged?
|
35
|
-
fail(Errors::Git) unless
|
28
|
+
fail(Errors::Git) unless git.supported?
|
36
29
|
response = `git tag`
|
37
30
|
!(response.nil? || response.empty?)
|
38
31
|
end
|
39
32
|
|
40
33
|
def duplicate?
|
41
|
-
fail(Errors::Git) unless
|
42
|
-
system "git rev-parse #{
|
34
|
+
fail(Errors::Git) unless git.supported?
|
35
|
+
system "git rev-parse #{version.label} > /dev/null 2>&1"
|
43
36
|
end
|
44
37
|
|
45
38
|
def commits
|
46
|
-
fail(Errors::Git) unless
|
39
|
+
fail(Errors::Git) unless git.supported?
|
47
40
|
groups = build_commit_prefix_groups
|
48
41
|
group_by_commit_prefix! groups
|
49
42
|
sort_by_commit_prefix! groups
|
@@ -54,32 +47,23 @@ module Milestoner
|
|
54
47
|
commits.map { |commit| "- #{commit}" }
|
55
48
|
end
|
56
49
|
|
57
|
-
def create
|
58
|
-
@
|
59
|
-
fail(Errors::Git) unless
|
60
|
-
fail(Errors::Git, "Unable to tag without commits.") unless
|
61
|
-
fail(Errors::DuplicateTag, "Duplicate tag exists: #{
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
def delete version = version_number
|
66
|
-
@version_number = validate_version version
|
67
|
-
fail(Errors::Git) unless git_supported?
|
68
|
-
Open3.capture3 "git tag --delete #{version_label}" if duplicate?
|
50
|
+
def create raw_version = version, sign: false
|
51
|
+
@version = Versionaire::Version raw_version
|
52
|
+
fail(Errors::Git) unless git.supported?
|
53
|
+
fail(Errors::Git, "Unable to tag without commits.") unless git.commits?
|
54
|
+
fail(Errors::DuplicateTag, "Duplicate tag exists: #{version.label}.") if duplicate?
|
55
|
+
git_tag sign: sign
|
69
56
|
end
|
70
57
|
|
71
|
-
def
|
72
|
-
|
73
|
-
|
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?
|
74
62
|
end
|
75
63
|
|
76
64
|
private
|
77
65
|
|
78
|
-
|
79
|
-
message = "Invalid version: #{version}. Use: <major>.<minor>.<maintenance>."
|
80
|
-
fail(Errors::Version, message) unless version.match(self.class.version_regex)
|
81
|
-
version
|
82
|
-
end
|
66
|
+
attr_reader :git
|
83
67
|
|
84
68
|
def raw_commits
|
85
69
|
log_command = "git log --oneline --no-merges --format='%s'"
|
@@ -110,20 +94,20 @@ module Milestoner
|
|
110
94
|
groups.each { |_, values| values.sort! }
|
111
95
|
end
|
112
96
|
|
113
|
-
def
|
114
|
-
%(#{
|
97
|
+
def git_message
|
98
|
+
%(Version #{version}.\n\n#{commit_list.join "\n"}\n\n)
|
115
99
|
end
|
116
100
|
|
117
|
-
def
|
118
|
-
options = %(--sign --annotate "#{
|
101
|
+
def git_options message_file, sign: false
|
102
|
+
options = %(--sign --annotate "#{version.label}" --cleanup verbatim --file "#{message_file.path}")
|
119
103
|
return options.gsub("--sign ", "") unless sign
|
120
104
|
options
|
121
105
|
end
|
122
106
|
|
123
|
-
def
|
107
|
+
def git_tag sign: false
|
124
108
|
message_file = Tempfile.new Identity.name
|
125
|
-
File.open(message_file, "w") { |file| file.write
|
126
|
-
`git tag #{
|
109
|
+
File.open(message_file, "w") { |file| file.write git_message }
|
110
|
+
`git tag #{git_options message_file, sign: sign}`
|
127
111
|
ensure
|
128
112
|
message_file.close
|
129
113
|
message_file.unlink
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milestoner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
|
31
31
|
xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2016-
|
33
|
+
date: 2016-04-04 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: thor
|
@@ -60,6 +60,20 @@ dependencies:
|
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '3.0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: versionaire
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.1'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '1.1'
|
63
77
|
- !ruby/object:Gem::Dependency
|
64
78
|
name: rake
|
65
79
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,6 +186,62 @@ dependencies:
|
|
172
186
|
- - ">="
|
173
187
|
- !ruby/object:Gem::Version
|
174
188
|
version: '0'
|
189
|
+
- !ruby/object:Gem::Dependency
|
190
|
+
name: bond
|
191
|
+
requirement: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: '0'
|
196
|
+
type: :development
|
197
|
+
prerelease: false
|
198
|
+
version_requirements: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- - ">="
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '0'
|
203
|
+
- !ruby/object:Gem::Dependency
|
204
|
+
name: wirb
|
205
|
+
requirement: !ruby/object:Gem::Requirement
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
210
|
+
type: :development
|
211
|
+
prerelease: false
|
212
|
+
version_requirements: !ruby/object:Gem::Requirement
|
213
|
+
requirements:
|
214
|
+
- - ">="
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
- !ruby/object:Gem::Dependency
|
218
|
+
name: hirb
|
219
|
+
requirement: !ruby/object:Gem::Requirement
|
220
|
+
requirements:
|
221
|
+
- - ">="
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0'
|
224
|
+
type: :development
|
225
|
+
prerelease: false
|
226
|
+
version_requirements: !ruby/object:Gem::Requirement
|
227
|
+
requirements:
|
228
|
+
- - ">="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '0'
|
231
|
+
- !ruby/object:Gem::Dependency
|
232
|
+
name: awesome_print
|
233
|
+
requirement: !ruby/object:Gem::Requirement
|
234
|
+
requirements:
|
235
|
+
- - ">="
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '0'
|
238
|
+
type: :development
|
239
|
+
prerelease: false
|
240
|
+
version_requirements: !ruby/object:Gem::Requirement
|
241
|
+
requirements:
|
242
|
+
- - ">="
|
243
|
+
- !ruby/object:Gem::Version
|
244
|
+
version: '0'
|
175
245
|
- !ruby/object:Gem::Dependency
|
176
246
|
name: rspec
|
177
247
|
requirement: !ruby/object:Gem::Requirement
|
@@ -312,7 +382,6 @@ files:
|
|
312
382
|
- README.md
|
313
383
|
- bin/milestoner
|
314
384
|
- lib/milestoner.rb
|
315
|
-
- lib/milestoner/aids/git.rb
|
316
385
|
- lib/milestoner/cli.rb
|
317
386
|
- lib/milestoner/configuration.rb
|
318
387
|
- lib/milestoner/errors/base.rb
|
@@ -320,6 +389,7 @@ files:
|
|
320
389
|
- lib/milestoner/errors/duplicate_tag.rb
|
321
390
|
- lib/milestoner/errors/git.rb
|
322
391
|
- lib/milestoner/errors/version.rb
|
392
|
+
- lib/milestoner/git.rb
|
323
393
|
- lib/milestoner/identity.rb
|
324
394
|
- lib/milestoner/publisher.rb
|
325
395
|
- lib/milestoner/pusher.rb
|
@@ -347,7 +417,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
347
417
|
version: '0'
|
348
418
|
requirements: []
|
349
419
|
rubyforge_project:
|
350
|
-
rubygems_version: 2.6.
|
420
|
+
rubygems_version: 2.6.2
|
351
421
|
signing_key:
|
352
422
|
specification_version: 4
|
353
423
|
summary: A command line interface for releasing Git repository milestones.
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/milestoner/aids/git.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Milestoner
|
4
|
-
module Aids
|
5
|
-
# Augments an object with Git support.
|
6
|
-
module Git
|
7
|
-
def git_supported?
|
8
|
-
File.exist? File.join(Dir.pwd, ".git")
|
9
|
-
end
|
10
|
-
|
11
|
-
def git_commits?
|
12
|
-
system "git log > /dev/null 2>&1"
|
13
|
-
end
|
14
|
-
|
15
|
-
def git_remote?
|
16
|
-
system "git config remote.origin.url"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|