> On May 31, 2020, at 10:36 AM, Craig Russell <apache....@gmail.com> wrote:
> 
> 
> 
>> On May 31, 2020, at 5:55 AM, Sam Ruby <ru...@intertwingly.net 
>> <mailto:ru...@intertwingly.net>> wrote:
>> 
>> On Sun, May 31, 2020 at 12:50 AM Craig Russell <apache....@gmail.com 
>> <mailto:apache....@gmail.com>> wrote:
>>> 
>>> So now I just need an example of svn code executed with no update block and 
>>> some code executed inside the update block.
>> 
>> Publishing minutes after a board meeting involves a number of updates
>> to different svn repositories:
>> 
>> https://github.com/apache/whimsy/blob/master/www/board/agenda/views/actions/publish.json.rb
>>  
>> <https://github.com/apache/whimsy/blob/master/www/board/agenda/views/actions/publish.json.rb>
>> 
>> This example shows issuing svn commands within the block.
>> 
>> A few things to note:
>> 
>> 1) If the block only takes one argument, then it is provided with a
>> tmpdir only.  It is up to you to do any and all svn commands except
>> for the final commit.
> 
>> 
>> 2) While you can spawn any command within the block (svn or otherwise)
>> any way you like, wunderbar provides an _.system method that will
>> capture the stdout and stderr and add it to the transcript provided in
>> the response back to the client.
>> 
>> 3) As sebb points out, a full temporary checkout of a directory like
>> https://svn.apache.org/repos/private//documents 
>> <https://svn.apache.org/repos/private//documents> would be impractical.
>> Perhaps instead of emeritus-rejoined, emeritus-requests-received, and
>> emeritus-requests-rescinded directories that are sister directories to
>> the emeritus directory, there could be a single emeritus directory
>> which contains a number of subdirectories.  An example of such a
>> structure is https://svn.apache.org/repos/private/financials/Bills 
>> <https://svn.apache.org/repos/private/financials/Bills>.
> 
> Here's a way forward that changes a lot but makes the technical solution 
> easier.
> 
> svn mkdir foundation/Members
> svn mv foundation/members.txt foundation/Members
> svn mv documents/emeritus foundation/Members
> svn mv documents/emeritus-requests-received foundation/Members
> svn mv documents/emeritus-requests-rescinded foundation/Members
> svn mv documents/emeritus-reinstated foundation/Members
> 
> Then, the _svn.update would checkout the entire Members directory which 
> consists solely of the members.txt and the various emeritus files. And the 
> _svn.update function would commit everything or nothing.
> 
> An alternative is to do the _svn.update of members.txt first and if 
> successful, do the move of the emeritus files, which unless something is 
> seriously messed up, will "always succeed".

In order for this to work we also need to implement part of the above, moving 
everything but members.txt to a new directory, which could be in 
documents/Members instead of foundation/Members. Then, the directory checked 
out in the _svn.update would be the documents/Members directory which includes 
all of the emeritus files.

This is probably my first choice because it's minimum disruption to the 
existing tools and will significantly help secretary in filing emeritus 
requests.


> 
> Craig
> 
> 
>> 
>>> Thanks,
>>> Craig
>> 
> 
> Craig L Russell
> c...@apache.org <mailto:c...@apache.org>
> 

Craig L Russell
c...@apache.org

Reply via email to