motomike-bnr_tools 0.0.5 → 0.0.6
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/bin/taggit +5 -0
- data/lib/bnr_tools/changeset.rb +1 -1
- data/lib/bnr_tools/mergeinator.rb +13 -9
- metadata +2 -2
data/VERSION.yml
CHANGED
data/bin/taggit
CHANGED
@@ -15,6 +15,7 @@ CURRENT_RELEASE_BRANCH="9.4"
|
|
15
15
|
|
16
16
|
opts = Trollop::options do
|
17
17
|
opt :ticket, "A ticket number optionally followed by one or more changesets to merge", :type => :ints, :multi => true
|
18
|
+
opt :deticket, "A ticket number optionally followed by one or more changesets to UN-merge", :type => :ints, :multi => true
|
18
19
|
opt :wc_root_path, "Root path to a working copy of the repository we can do merge gymnastics in", :default => "#{ENV["HOME"]}/diggRepository"
|
19
20
|
opt :release_branch, "Name of the release branch which will be the merge target", :default => CURRENT_RELEASE_BRANCH, :required => true, :multi => true
|
20
21
|
end
|
@@ -25,5 +26,9 @@ Array(opts[:release_branch]).each { |release_branch|
|
|
25
26
|
ticket, *changesets = *ticketRefAndChangesets
|
26
27
|
tickets << Ticket.new(ticket, changesets, opts[:wc_root_path], release_branch)
|
27
28
|
}
|
29
|
+
opts[:deticket].each { |ticketRefAndChangesets|
|
30
|
+
ticket, *changesets = *ticketRefAndChangesets
|
31
|
+
tickets << Ticket.new(ticket, changesets.map { |cs| -cs } , opts[:wc_root_path], release_branch)
|
32
|
+
}
|
28
33
|
Mergeinator.new(opts[:wc_root_path], release_branch, tickets).mergeStuff
|
29
34
|
}
|
data/lib/bnr_tools/changeset.rb
CHANGED
@@ -15,7 +15,7 @@ class Changeset
|
|
15
15
|
|
16
16
|
def modifiedPaths(relativeStartPath = self.wcBasePath)
|
17
17
|
@modified[relativeStartPath] ||= begin
|
18
|
-
SvnCommands::Log.new(relativeStartPath,"-r #{self.revision}", true).entries.first.paths.map {|p| p.to_s}
|
18
|
+
SvnCommands::Log.new(relativeStartPath,"-r #{self.revision.abs}", true).entries.first.paths.map {|p| p.to_s}
|
19
19
|
rescue
|
20
20
|
[]
|
21
21
|
end
|
@@ -48,19 +48,22 @@ class Mergeinator
|
|
48
48
|
def tagLOLCat
|
49
49
|
ref_msg = self.ticketsToMerge ? "Refs #{(self.ticketsToMerge.map {|t| "#{t}"}).join(", ")}" : "No tickets referenced"
|
50
50
|
if agree("Tagging version #{self.version}. #{ref_msg}\nOkay to proceed? (NB: This will commit to SVN) ")
|
51
|
-
SvnCommands.copy("LOLcat/branches/#{self.releaseBranch}","LOLcat/tags/#{version}", nil, nil, "Tagged LOLcat-#{version}. #{ref_msg}")
|
51
|
+
SvnCommands.copy("LOLcat/branches/#{self.releaseBranch}","LOLcat/tags/#{version}", nil, nil, "Tagged LOLcat-#{version}. #{ref_msg}. External links not yet updated.")
|
52
52
|
SvnCommands.copy("LOLz/branches/#{self.releaseBranch}","LOLz/tags/#{version}", nil, nil, "Tagged LOLz-#{version}. #{ref_msg}")
|
53
|
+
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
|
54
|
+
t = Tempfile.new("svn_externals").open { |tempfile|
|
55
|
+
tempfile.puts "modules svn+ssh://svn.digg.internal/repository/LOLz/tags/#{version}"
|
56
|
+
tempfile.puts "build svn+ssh://svn.digg.internal/repository/build/trunk"
|
57
|
+
}
|
58
|
+
cmd = "svn ps svn:externals --file #{t.path} #{SvnCommands::DIGG_DEFAULT_WC_PATH}/LOLcat/tags/#{version}"
|
59
|
+
puts "Running command : #{cmd}"
|
60
|
+
puts IO.popen(cmd).readlines
|
61
|
+
cmd = %Q{svn commit -m"Tagged LOLcat-#{version}. #{ref_msg}. Updated external links."}
|
62
|
+
puts "Running command : #{cmd}"
|
63
|
+
puts IO.popen(cmd).readlines
|
53
64
|
else
|
54
65
|
exit(1) unless agree("Oh. Well, would you like to keep going anyway? ")
|
55
66
|
end
|
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
|
-
t = Tempfile.new("svn_externals").open { |tempfile|
|
58
|
-
tempfile.puts "modules svn+ssh://svn.digg.internal/repository/LOLz/tags/#{version}"
|
59
|
-
tempfile.puts "build svn+ssh://svn.digg.internal/repository/build/trunk"
|
60
|
-
}
|
61
|
-
cmd = "svn ps svn:externals --file #{t.path} #{SvnCommands::DIGG_DEFAULT_WC_PATH}/LOLcat/tags/#{version}"
|
62
|
-
puts "Running command : #{cmd}"
|
63
|
-
puts IO.popen(cmd).readlines
|
64
67
|
end
|
65
68
|
|
66
69
|
def mergeStuff
|
@@ -106,6 +109,7 @@ class Mergeinator
|
|
106
109
|
tagLOLCat
|
107
110
|
if agree("Upload modified modules now? ")
|
108
111
|
@module_upload_cmds.each { |cmd|
|
112
|
+
puts "Running #{cmd} ..."
|
109
113
|
puts IO.popen(cmd).readlines
|
110
114
|
}
|
111
115
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motomike-bnr_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Ashmore
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-03-04 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|