git-maintain 0.2.2.pre.5.g8e0f945 → 0.2.2.pre.13.gd8c159e
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/CHANGELOG +4 -4
- data/lib/branch.rb +31 -17
- data/lib/repo.rb +30 -28
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7378594cddd98d880305ebeaffb40ab8e035d858902475e3338b3496023ce5e6
|
4
|
+
data.tar.gz: ee2afb10e4deb3288f7051d892e225bb9a70d96a232712945d48b799b209110c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b917954dc36f6e9996c6b54753642e9cc6fbf62622b2998f4cb8e521d3e5c7f59abc6b9226846fd13b5bf024a55272ce4a9eb135b1b54a8cf106f5cf84491fae
|
7
|
+
data.tar.gz: a15089ca11769891cc645415af31f7ac0e41dbd13e8d908bbf7fc3d39a83b012a8f07e28a0afadb2552f105665bbf23f66feabc14007d145c2415a92e63f7876
|
data/CHANGELOG
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
------------------
|
2
|
-
0.2.3
|
3
|
-
------------------
|
4
|
-
|
5
1
|
* Fix support for commit messages containing double quotes
|
6
2
|
* Fix --base-version and --branch-suffix
|
7
3
|
* Add completion support for --version
|
8
4
|
* Fix --no-travis
|
5
|
+
* Customizable behaviour for travis/emails in Addons
|
6
|
+
* Allow branch action to be run on user-specified branches (instead of the stable pattern)
|
7
|
+
* Add hpc-testing addon
|
8
|
+
* Add git-maintain addon
|
9
9
|
|
10
10
|
------------------
|
11
11
|
0.2.2 (2018-07-13)
|
data/lib/branch.rb
CHANGED
@@ -51,7 +51,8 @@ module GitMaintain
|
|
51
51
|
|val| opts[:base_ver] = val}
|
52
52
|
optsParser.on("-V", "--version [regexp]", Regexp, "Regexp to filter versions.") {
|
53
53
|
|val| opts[:version] = val}
|
54
|
-
|
54
|
+
optsParser.on("-B", "--manual-branch <branch name>", "Work on a specific (non-stable) branch.") {
|
55
|
+
|val| opts[:manual_branch] = val}
|
55
56
|
case action
|
56
57
|
when :cp
|
57
58
|
optsParser.banner += "-c <sha1> [-c <sha1> ...]"
|
@@ -89,17 +90,24 @@ module GitMaintain
|
|
89
90
|
repo.stableUpdate()
|
90
91
|
end
|
91
92
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
93
|
+
branchList=[]
|
94
|
+
if opts[:manual_branch] == nil then
|
95
|
+
branchList = repo.getStableList(opts[:br_suff]).map(){|br|
|
96
|
+
branch = Branch::load(repo, br, travis, opts[:br_suff])
|
97
|
+
case branch.is_targetted?(opts)
|
98
|
+
when :too_old
|
99
|
+
puts "# Skipping older v#{branch.version}"
|
100
|
+
next
|
101
|
+
when :no_match
|
102
|
+
puts "# Skipping v#{branch.version} not matching #{opts[:version].to_s()}"
|
103
|
+
next
|
104
|
+
end
|
105
|
+
branch
|
106
|
+
}.compact()
|
107
|
+
else
|
108
|
+
branchList = [ Branch::load(repo, opts[:manual_branch], travis, opts[:br_suff]) ]
|
109
|
+
end
|
110
|
+
branchList.each(){|branch|
|
103
111
|
puts "###############################"
|
104
112
|
puts "# Working on v#{branch.version}"
|
105
113
|
puts "###############################"
|
@@ -115,21 +123,27 @@ module GitMaintain
|
|
115
123
|
GitMaintain::checkDirectConstructor(self.class)
|
116
124
|
|
117
125
|
@repo = repo
|
118
|
-
@version = version
|
119
126
|
@travis = travis
|
127
|
+
@version = version
|
120
128
|
@branch_suff = branch_suff
|
121
129
|
|
122
|
-
|
123
|
-
|
130
|
+
if version =~ /^[0-9]$/
|
131
|
+
@local_branch = "dev/stable-v#{@version}/#{@branch_suff}"
|
132
|
+
@remote_branch ="stable-v#{@version}"
|
133
|
+
else
|
134
|
+
@remote_branch = @local_branch = version
|
135
|
+
end
|
124
136
|
|
125
|
-
@
|
137
|
+
@head = @repo.runGit("rev-parse #{@local_branch}")
|
126
138
|
@remote_ref = "#{Repo::STABLE_REPO}/#{@remote_branch}"
|
127
139
|
@stable_head = @repo.runGit("rev-parse #{@remote_ref}")
|
128
140
|
@stable_base = @repo.findStableBase(@local_branch)
|
141
|
+
|
129
142
|
end
|
130
143
|
attr_reader :version, :local_branch, :head, :remote_branch, :remote_ref, :stable_head
|
131
144
|
|
132
145
|
def is_targetted?(opts)
|
146
|
+
return true if @version !~ /^[0-9]$/
|
133
147
|
if @version.to_i < opts[:base_ver] then
|
134
148
|
return :too_old
|
135
149
|
end
|
@@ -216,7 +230,7 @@ module GitMaintain
|
|
216
230
|
|
217
231
|
# Push branch to the stable repo
|
218
232
|
def push_stable(opts)
|
219
|
-
if opts[:no_travis] != true &&
|
233
|
+
if (opts[:no_travis] != true && @NO_TRAVIS != true) &&
|
220
234
|
@travis.checkValidState(@head) != true then
|
221
235
|
puts "Build is not passed on travis. Skipping push to stable"
|
222
236
|
return
|
data/lib/repo.rb
CHANGED
@@ -110,7 +110,7 @@ module GitMaintain
|
|
110
110
|
return @suffix_list
|
111
111
|
end
|
112
112
|
|
113
|
-
def submitReleases()
|
113
|
+
def submitReleases(opts)
|
114
114
|
remote_tags=runGit("ls-remote --tags #{STABLE_REPO} |
|
115
115
|
egrep 'refs/tags/v[0-9.]*$'").split("\n").map(){
|
116
116
|
|x| x.gsub(/.*refs\/tags\//, '')
|
@@ -124,39 +124,41 @@ module GitMaintain
|
|
124
124
|
end
|
125
125
|
|
126
126
|
puts "This will officially release these tags: #{new_tags.join(", ")}"
|
127
|
-
rep = GitMaintain::confirm("release them")
|
127
|
+
rep = GitMaintain::confirm(opts, "release them")
|
128
128
|
if rep != 'y' then
|
129
129
|
raise "Aborting.."
|
130
130
|
end
|
131
131
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
mail.puts "Here's the information from the tags:"
|
146
|
-
new_tags.sort().each(){|tag|
|
147
|
-
mail.puts `git show #{tag} --no-decorate -q | awk '!p;/^-----END PGP SIGNATURE-----/{p=1}'`
|
132
|
+
if @NOTIFY_RELEASE != false
|
133
|
+
mail_path=`mktemp`.chomp()
|
134
|
+
mail = File.open(mail_path, "w+")
|
135
|
+
mail.puts "From " + runGit("rev-parse HEAD") + " " + `date`.chomp()
|
136
|
+
mail.puts "From: " + runGit("config user.name") +
|
137
|
+
" <" + runGit("config user.email") +">"
|
138
|
+
mail.puts "To: " + runGit("config patch.target")
|
139
|
+
mail.puts "Date: " + `date -R`.chomp()
|
140
|
+
mail.puts "Subject: [ANNOUNCE] " + File.basename(@path) + " " +
|
141
|
+
(new_tags.length > 1 ?
|
142
|
+
(new_tags[0 .. -2].join(", ") + " and " + new_tags[-1]) :
|
143
|
+
new_tags.join(" ")) +
|
144
|
+
" has been tagged/released"
|
148
145
|
mail.puts ""
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
146
|
+
mail.puts "Here's the information from the tags:"
|
147
|
+
new_tags.sort().each(){|tag|
|
148
|
+
mail.puts `git show #{tag} --no-decorate -q | awk '!p;/^-----END PGP SIGNATURE-----/{p=1}'`
|
149
|
+
mail.puts ""
|
150
|
+
}
|
151
|
+
mail.puts "It's available at the normal places:"
|
152
|
+
mail.puts ""
|
153
|
+
mail.puts "git://github.com/#{@remote_stable}"
|
154
|
+
mail.puts "https://github.com/#{@remote_stable}/releases"
|
155
|
+
mail.close()
|
155
156
|
|
156
|
-
|
157
|
+
puts runGitImap("< #{mail_path}; rm -f #{mail_path}")
|
158
|
+
end
|
157
159
|
|
158
160
|
puts "Last chance to cancel before submitting"
|
159
|
-
rep= GitMaintain::confirm("submit these releases")
|
161
|
+
rep= GitMaintain::confirm(opts, "submit these releases")
|
160
162
|
if rep != 'y' then
|
161
163
|
raise "Aborting.."
|
162
164
|
end
|
@@ -164,7 +166,7 @@ module GitMaintain
|
|
164
166
|
end
|
165
167
|
def findStableBase(branch)
|
166
168
|
@stable_base_patterns.each(){|pattern, base|
|
167
|
-
return base if branch =~ /#{pattern}\//
|
169
|
+
return base if branch =~ /#{pattern}\// || branch =~ /#{pattern}$/
|
168
170
|
}
|
169
171
|
raise("Could not a find a stable base for branch #{branch}")
|
170
172
|
end
|
@@ -176,7 +178,7 @@ module GitMaintain
|
|
176
178
|
puts getSuffixList()
|
177
179
|
end
|
178
180
|
def submit_release(opts)
|
179
|
-
submitReleases()
|
181
|
+
submitReleases(opts)
|
180
182
|
end
|
181
183
|
end
|
182
184
|
end
|