motomike-bnr_tools 0.0.3 → 0.0.4
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.
- data/VERSION.yml +1 -1
- data/lib/bnr_tools/mergeinator.rb +13 -16
- metadata +1 -1
data/VERSION.yml
CHANGED
@@ -38,7 +38,7 @@ class Mergeinator
|
|
38
38
|
candidateVersions = preExistingVersions.find_all { |version| version.major == self.releaseBranchVersion.major && version.minor == self.releaseBranchVersion.minor }
|
39
39
|
highestCandidateVersion = candidateVersions.sort.last
|
40
40
|
puts "Highest existing version: #{highestCandidateVersion}"
|
41
|
-
ask("LOL{z,cat} version to tag?") { |q|
|
41
|
+
ask("LOL{z,cat} version to tag? ") { |q|
|
42
42
|
q.default = highestCandidateVersion.next_after_patchlevel_increment.to_s
|
43
43
|
q.validate = /#{self.releaseBranchVersion.major}\.#{self.releaseBranchVersion.minor}\.\d+/
|
44
44
|
}
|
@@ -47,11 +47,11 @@ class Mergeinator
|
|
47
47
|
|
48
48
|
def tagLOLCat
|
49
49
|
ref_msg = self.ticketsToMerge ? "Refs #{(self.ticketsToMerge.map {|t| "#{t}"}).join(", ")}" : "No tickets referenced"
|
50
|
-
if agree("
|
50
|
+
if agree("Tagging version #{self.version}. #{ref_msg}\nOkay to proceed? (NB: This will commit to SVN) ")
|
51
51
|
SvnCommands.copy("LOLcat/branches/#{self.releaseBranch}","LOLcat/tags/#{version}", nil, nil, "Tagged LOLcat-#{version}. #{ref_msg}")
|
52
52
|
SvnCommands.copy("LOLz/branches/#{self.releaseBranch}","LOLz/tags/#{version}", nil, nil, "Tagged LOLz-#{version}. #{ref_msg}")
|
53
53
|
else
|
54
|
-
exit(1) unless agree("Oh. Well, would you like to keep going anyway
|
54
|
+
exit(1) unless agree("Oh. Well, would you like to keep going anyway? ")
|
55
55
|
end
|
56
56
|
SvnCommands::Update.new("LOLcat/tags/#{version}",nil,true,true,self.wcPath) # shallowly checkout the new tag to ~/diggRepository/, no extra args for svn, force update
|
57
57
|
t = Tempfile.new("svn_externals").open { |tempfile|
|
@@ -63,10 +63,6 @@ class Mergeinator
|
|
63
63
|
puts IO.popen(cmd).readlines
|
64
64
|
end
|
65
65
|
|
66
|
-
def svnMergeCommand(project, changeset)
|
67
|
-
"svn merge -c #{changeset.revision} svn+ssh://svn.digg.internal/repository/#{project}/trunk"
|
68
|
-
end
|
69
|
-
|
70
66
|
def mergeStuff
|
71
67
|
modules = Set.new
|
72
68
|
allChangesets = Set.new
|
@@ -75,9 +71,7 @@ class Mergeinator
|
|
75
71
|
allChangesets.merge(ticket.changesets)
|
76
72
|
modules.merge(ticket.affectedModules)
|
77
73
|
}
|
78
|
-
puts "Affected modules: #{modules.to_a.join(", ")}."
|
79
|
-
commitMessage = "Refs #{(ticketsToMerge.sort.map {|ticket| ticket.to_s(false)}).join(", ")} : Merged #{(allChangesets.sort.map {|c| c.to_s }).join(", ")} from trunk"
|
80
|
-
puts "Commit message = #{commitMessage}"
|
74
|
+
#puts "Affected modules: #{modules.to_a.join(", ")}."
|
81
75
|
allChangesets.sort.each { |changeset|
|
82
76
|
# We could check paths and such, but that's just an extra step for the cat ...
|
83
77
|
SvnCommands.merge("LOLcat/trunk",self.catPath,changeset.revision,nil,nil,self.wcPath)
|
@@ -99,25 +93,28 @@ class Mergeinator
|
|
99
93
|
Dir.chdir(self.branchWorkingDir) { |cwd|
|
100
94
|
puts IO.popen(%Q{ svn st && svn diff . modules }).readlines
|
101
95
|
@module_upload_cmds.each { |cmd| puts cmd }
|
102
|
-
|
103
|
-
|
96
|
+
commitMessage = "Refs #{(ticketsToMerge.sort.map {|ticket| ticket.to_s(true)}).join(", ")}"
|
97
|
+
unless modules.empty?
|
98
|
+
commitMessage += ", updated modules : #{(modules.map {|m| "#{m.moduleName}-#{m.getVersion}"}).join(", ")}"
|
99
|
+
end
|
100
|
+
if agree("Commit message: #{commitMessage}\nOkay to proceed? (NB: This will commit to SVN) ")
|
104
101
|
system %Q{ svn st | awk '/^\s?[MAD]/ { print $NF } ' | xargs svn commit -m'#{commitMessage}' }
|
105
102
|
else
|
106
|
-
exit(1) unless agree("Oh. Well, would you like to keep going anyway
|
103
|
+
exit(1) unless agree("Oh. Well, would you like to keep going anyway? ")
|
107
104
|
end
|
108
105
|
}
|
109
106
|
tagLOLCat
|
110
|
-
if agree("Upload modified modules now?")
|
107
|
+
if agree("Upload modified modules now? ")
|
111
108
|
@module_upload_cmds.each { |cmd|
|
112
109
|
puts IO.popen(cmd).readlines
|
113
110
|
}
|
114
111
|
else
|
115
|
-
exit(1) unless agree("Oh. Well, would you like to keep going anyway
|
112
|
+
exit(1) unless agree("Oh. Well, would you like to keep going anyway? ")
|
116
113
|
end
|
117
114
|
end
|
118
115
|
|
119
116
|
def cleanWorkingCopy(force=false)
|
120
|
-
if (force || agree("Clean working copy now?")) then
|
117
|
+
if (force || agree("Clean working copy now? ")) then
|
121
118
|
SvnCommands::Update.new(self.catPath, nil, true, false, self.wcPath) # update the current working copy to be sure the dir is there
|
122
119
|
Dir.chdir(branchWorkingDir) {
|
123
120
|
puts IO.popen(%Q{ svn revert -R . && svn revert -R modules && svn stat | grep "^\?" | cut -c8- | xargs rm -rf }).readlines
|