milestoner 0.5.0 → 1.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 +3 -2
- data/README.md +3 -2
- data/lib/milestoner/cli.rb +13 -13
- data/lib/milestoner/identity.rb +1 -1
- data/lib/milestoner/publisher.rb +1 -3
- data/lib/milestoner/tagger.rb +2 -2
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +1 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4be67179d9456910d256093754d8b06ccab7f23f
|
4
|
+
data.tar.gz: 870de2e35828142279bd63f2b3f9565f370d1891
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5a2a2e4461c492aa888e3f123911f77c51a2a8dd7eacbfb5faa9e897ba4a2597edab27d39d8865c2f9a98197efa1531e5d82847e002ef49a1d78dc7ef182748
|
7
|
+
data.tar.gz: 6273c5f171647a3d6551a1718f812a033eb1ef0e04defa478b032d0f08b415d906db388dd9b1a1853f06fbaaa56ada2603fa306e020069375a76de362158c14c
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
��8;��0١]҉
���4I����]ԓւ��Z���!�`Մ9"�|��������D�ʌ�OW2 �U�D�4_�To�E8��jn
|
2
|
+
0�p�πڔ#kvYdu�9+�P��"4q��?=���{ҍX��@�gI��\����`��(�K�O�-�M`�!W%�~�S�r�9p�ɽ���7�d�
|
3
|
+
?Ϋ$@.�+�Ro�9��Jo�ڹ/X�,+�����c�N숼+�L]�=�����c_t����Oh+�
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
[![Gemnasium Status](https://gemnasium.com/bkuhlmann/milestoner.svg)](https://gemnasium.com/bkuhlmann/milestoner)
|
7
7
|
[![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/milestoner.svg)](http://travis-ci.org/bkuhlmann/milestoner)
|
8
8
|
|
9
|
-
A
|
9
|
+
A command line interface for releasing Git repository milestones.
|
10
10
|
|
11
11
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
12
12
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
@@ -37,12 +37,13 @@ A tool for automating and releasing Git repository milestones.
|
|
37
37
|
Git tag message.
|
38
38
|
- Ensures Git commit messages are grouped by prefix, in order defined, for each Git tag message (prefixes can be
|
39
39
|
customized): "Fixed", "Added", "Updated", "Removed", "Refactored".
|
40
|
+
- Ensures Git commit merge messages are excluded within each Git tag message.
|
40
41
|
- Ensures Git commit messages are alphabetically sorted within each Git tag message.
|
41
42
|
- Ensures duplicate Git commit messages are removed (if any) within each Git tag message.
|
42
43
|
- Ensures Git commit messages are sanitized by removing extra spaces and `[ci skip]` text within each Git tag message.
|
43
44
|
- Provides optional security for signing Git tags with [GnuPG](https://www.gnupg.org) signing key.
|
44
45
|
|
45
|
-
[![asciicast](https://asciinema.org/a/
|
46
|
+
[![asciicast](https://asciinema.org/a/ay79m2qsfc2z15zdlw7w6r5fv.png)](https://asciinema.org/a/ay79m2qsfc2z15zdlw7w6r5fv)
|
46
47
|
|
47
48
|
# Requirements
|
48
49
|
|
data/lib/milestoner/cli.rb
CHANGED
@@ -9,22 +9,22 @@ module Milestoner
|
|
9
9
|
include Thor::Actions
|
10
10
|
include ThorPlus::Actions
|
11
11
|
|
12
|
-
package_name
|
12
|
+
package_name Identity.version_label
|
13
13
|
|
14
14
|
def initialize args = [], options = {}, config = {}
|
15
15
|
super args, options, config
|
16
|
-
@configuration =
|
17
|
-
@tagger =
|
18
|
-
|
19
|
-
@pusher =
|
20
|
-
@publisher =
|
16
|
+
@configuration = Configuration.new Identity.file_name, defaults: defaults
|
17
|
+
@tagger = Tagger.new configuration.settings[:version],
|
18
|
+
commit_prefixes: configuration.settings[:git_commit_prefixes]
|
19
|
+
@pusher = Pusher.new
|
20
|
+
@publisher = Publisher.new tagger: tagger, pusher: pusher
|
21
21
|
end
|
22
22
|
|
23
23
|
desc "-c, [--commits]", "Show commits for next milestone."
|
24
24
|
map %w(-c --commits) => :commits
|
25
25
|
def commits
|
26
26
|
tagger.commit_list.each { |commit| say commit }
|
27
|
-
rescue
|
27
|
+
rescue Errors::Base => base_error
|
28
28
|
error base_error.message
|
29
29
|
end
|
30
30
|
|
@@ -34,7 +34,7 @@ module Milestoner
|
|
34
34
|
def tag version = configuration.settings[:version]
|
35
35
|
tagger.create version, sign: sign_tag?(options[:sign])
|
36
36
|
say "Repository tagged: #{tagger.version_label}."
|
37
|
-
rescue
|
37
|
+
rescue Errors::Base => base_error
|
38
38
|
error base_error.message
|
39
39
|
end
|
40
40
|
|
@@ -43,7 +43,7 @@ module Milestoner
|
|
43
43
|
def push
|
44
44
|
pusher.push
|
45
45
|
info "Tags pushed to remote repository."
|
46
|
-
rescue
|
46
|
+
rescue Errors::Base => base_error
|
47
47
|
error base_error.message
|
48
48
|
end
|
49
49
|
|
@@ -54,21 +54,21 @@ module Milestoner
|
|
54
54
|
publisher.publish version, sign: sign_tag?(options[:sign])
|
55
55
|
info "Repository tagged and pushed: #{tagger.version_label}."
|
56
56
|
info "Milestone published!"
|
57
|
-
rescue
|
57
|
+
rescue Errors::Base => base_error
|
58
58
|
error base_error.message
|
59
59
|
end
|
60
60
|
|
61
|
-
desc "-e, [--edit]", "Edit #{
|
61
|
+
desc "-e, [--edit]", "Edit #{Identity.label} settings in default editor."
|
62
62
|
map %w(-e --edit) => :edit
|
63
63
|
def edit
|
64
64
|
info "Editing: #{configuration.computed_file_path}..."
|
65
65
|
`#{editor} #{configuration.computed_file_path}`
|
66
66
|
end
|
67
67
|
|
68
|
-
desc "-v, [--version]", "Show #{
|
68
|
+
desc "-v, [--version]", "Show #{Identity.label} version."
|
69
69
|
map %w(-v --version) => :version
|
70
70
|
def version
|
71
|
-
say
|
71
|
+
say Identity.version_label
|
72
72
|
end
|
73
73
|
|
74
74
|
desc "-h, [--help=HELP]", "Show this message or get help for a command."
|
data/lib/milestoner/identity.rb
CHANGED
data/lib/milestoner/publisher.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Milestoner
|
2
2
|
# Handles the tagging and pushing of a milestone to a remote repository.
|
3
3
|
class Publisher
|
4
|
-
def initialize tagger, pusher
|
4
|
+
def initialize tagger: Tagger.new, pusher: Pusher.new
|
5
5
|
@tagger = tagger
|
6
6
|
@pusher = pusher
|
7
7
|
end
|
@@ -9,8 +9,6 @@ module Milestoner
|
|
9
9
|
def publish version, sign: false
|
10
10
|
tagger.create version, sign: sign
|
11
11
|
pusher.push
|
12
|
-
ensure
|
13
|
-
tagger.destroy
|
14
12
|
end
|
15
13
|
|
16
14
|
private
|
data/lib/milestoner/tagger.rb
CHANGED
@@ -74,7 +74,7 @@ module Milestoner
|
|
74
74
|
|
75
75
|
def raw_commits
|
76
76
|
tag_command = "$(git describe --abbrev=0 --tags --always)..HEAD"
|
77
|
-
full_command = "git log --oneline --
|
77
|
+
full_command = "git log --oneline --no-merges --format='%s' #{tag_command}"
|
78
78
|
full_command.gsub!(tag_command, "") unless tagged?
|
79
79
|
|
80
80
|
`#{full_command}`.split("\n")
|
@@ -112,7 +112,7 @@ module Milestoner
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def create_tag sign: false
|
115
|
-
message_file = Tempfile.new
|
115
|
+
message_file = Tempfile.new Identity.name
|
116
116
|
File.open(message_file, "w") { |file| file.write tag_message }
|
117
117
|
`git tag #{tag_options message_file, sign: sign}`
|
118
118
|
ensure
|
data.tar.gz.sig
CHANGED
Binary file
|
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: 0.
|
4
|
+
version: 1.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: 2015-09-
|
33
|
+
date: 2015-09-20 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: thor
|
metadata.gz.sig
CHANGED
@@ -1,3 +1 @@
|
|
1
|
-
|
2
|
-
Q���`JqX;���i���p{D�:�"
|
3
|
-
��y���^�f����<����_sR꒜U�@�@|i��ϛj=�����^и�$�Y�i;�Z�
|
1
|
+
q.�NH(;]��0���F�K����W)�L�x��e�ȵ���D0��Zש�t8��wH!�e��3 �ȟ��@�p��L�jX�ÉaL��c����>i�@n$����/�)�tU��{�-�N�5T!�h�%.v
|