I tried this:
line 22:
ASF::SVN.multiUpdate (members_txt, message, env, _) do |text|
# default command is empty
command = ""
# remove user's entry
unless text.sub! entry, '' # e.g. if the workspace was out of date
raise Exception.new("Failed to remove existing entry -- try refreshing")
end
# determine where to put the entry
if @action == 'emeritus'
index = text.index(/^\s\*\)\s/, text.index(/^Emeritus/))
entry.sub! %r{\s*/\* deceased, .+?\*/},'' # drop the deceased comment if
necessary
# if pending emeritus request was found, move it to emeritus
extra = []
if @emeritusfilename.index('/emeritus-requests-received/')
emeritus_url = ASF::SVN.svnurl('emeritus')
command = "svn mv #{@emeritusfilename} #{emeritus_url}"
Wunderbar.warn "memstat.json.rb action emeritus commmand: #{command}"
extra << ['mv', @emeritusfilename, emeritus_url]
end
elsif @action == 'active'
index = text.index(/^\s\*\)\s/, text.index(/^Active/))
entry.sub! %r{\s*/\* deceased, .+?\*/},'' # drop the deceased comment if
necessary
# if emeritus file was found, move it to emeritus-reinstated
if @emeritusfilename.index('/emeritus/')
emeritus_reinstated_url = ASF::SVN.svnurl('emeritus-reinstated')
command = "svn mv #{@emeritusfilename} #{emeritus_reinstated_url}"
Wunderbar.warn "memstat.json.rb action emeritus commmand: #{command}"
end
elsif @action == 'deceased'
index = text.index(/^\s\*\)\s/, text.index(/^Deceased/))
entry.sub! %r{\n}, " /* deceased, #{@dod} */\n" # add the deceased comment
# else
# raise Exception.new("invalid action #{action.inspect}")
end
# perform the insertion
text.insert index, entry
# save the updated text
ASF::Member.text = text
# return the updated (and normalized) text and extra svn command
[ASF::Member.text, extra]
end if updmem #only update members.txt for secretary actions
The above is line 66
I got this:
{
"exception": "#<SyntaxError:
/Users/clr/apache/git/whimsy/www/roster/views/actions/memstat.json.rb:22:
syntax error, unexpected ')', expecting '='\n
... (members_txt, message, env, _) do |text|\n...
^\n/
Users/clr/apache/git/whimsy/www/roster/views/actions/memstat.json.rb:66: syntax
error, unexpected `end', expecting end-of-input\n
end if updmem #only update membe...\n^~~\n>",
"backtrace": [
"/Users/clr/apache/git/whimsy/www/roster/main.rb:204:in `block in <top
(required)>'",
"/Users/clr/apache/git/whimsy/lib/whimsy/asf/rack.rb:223:in `call'",
"/Users/clr/apache/git/whimsy/lib/whimsy/asf/rack.rb:48:in `call'",
"/Users/clr/apache/git/whimsy/lib/whimsy/asf/rack.rb:200:in `call'",
"/Users/clr/apache/git/whimsy/lib/whimsy/asf/rack.rb:254:in `call'"
]
}
> On Jun 6, 2020, at 9:04 AM, sebb <[email protected]> wrote:
>
> The full method name is
>
> ASF::SVN.multiUpdate
>
> There's an example call here:
>
> https://lists.apache.org/thread.html/r97d0fc64bf633e643889cba21e18b5bb60c7d068430c36c447119887%40%3Cdev.whimsical.apache.org%3E
>
> On Sat, 6 Jun 2020 at 15:47, Craig Russell <[email protected]> wrote:
>>
>> Is there an example of the use of this method? I cannot seem to call it from
>> the memstat.json.rb code.
>>
>> Thanks,
>> Craig
>>
>>
>>> On Jun 6, 2020, at 7:18 AM, [email protected] wrote:
>>>
>>> This is an automated email from the ASF dual-hosted git repository.
>>>
>>> sebb pushed a commit to branch master
>>> in repository https://gitbox.apache.org/repos/asf/whimsy.git
>>>
>>>
>>> The following commit(s) were added to refs/heads/master by this push:
>>> new de90463 Add dryrun to multiUpdate
>>> de90463 is described below
>>>
>>> commit de904636aedc54e7707d8e2b1858a6930058d737
>>> Author: Sebb <[email protected]>
>>> AuthorDate: Sat Jun 6 15:18:19 2020 +0100
>>>
>>> Add dryrun to multiUpdate
>>> ---
>>> lib/whimsy/asf/svn.rb | 8 ++++++--
>>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/lib/whimsy/asf/svn.rb b/lib/whimsy/asf/svn.rb
>>> index 6f1d722..9af5dbb 100644
>>> --- a/lib/whimsy/asf/svn.rb
>>> +++ b/lib/whimsy/asf/svn.rb
>>> @@ -578,7 +578,7 @@ module ASF
>>> # extra << ['rm',url3]
>>> # [out, extra]
>>> # end
>>> - def self.multiUpdate(path, msg, env, _)
>>> + def self.multiUpdate(path, msg, env, _, options = {})
>>> require 'tempfile'
>>> tmpdir = Dir.mktmpdir.untaint
>>> if File.file? path
>>> @@ -638,7 +638,11 @@ module ASF
>>> end
>>>
>>> # Now commit everything
>>> - ASF::SVN.svnmucc(cmds,msg,env,_,filerev,tmpdir)
>>> + if options[:dryrun]
>>> + puts cmds # TODO: not sure this is correct for Wunderbar
>>> + else
>>> + ASF::SVN.svnmucc(cmds,msg,env,_,filerev,tmpdir)
>>> + end
>>> ensure
>>> FileUtils.rm_rf tmpdir
>>> end
>>>
>>
>> Craig L Russell
>> [email protected]
>>
Craig L Russell
[email protected]