Gabriela Gibson <gabriela.gib...@gmail.com> writes:

> On 02/01/13 10:38, Philip Martin wrote:
>> A small one: svnadmin freeze multiple repositories
>> http://subversion.tigris.org/issues/show_bug.cgi?id=4276
>>
>> A bit larger: rep-cache offset validation
>> http://subversion.tigris.org/issues/show_bug.cgi?id=4277
>>
> The first bug is a keeper, I learn about the command line component
> anyway in the diff project.

The command line stuff is just boilerplate that is needed to get to the
guts of the issue, the main part is putting a loop into the existing
code:

   svn_error_t *
   freeze_body(...)
   {
     svn_io_run_cmd(...);
   }

   svn_error_t *
   subcommand_freeze(...)
   {
     svn_repos_freeze(..., freeze_body, ...);
   }

The loop could be a recursive call in svnadmin itself:

   svn_error_t *
   freeze_body(...)
   {
     if (repositories)
       {
         next(repositories);
         svn_repos_freeze(..., freeze_body, ...);
       }
     else
       svn_io_run_cmd(...);
   }

   svn_error_t *
   subcommand_freeze(...)
   {
     svn_repos_freeze(..., freeze_body, ...);
   }

Or the loop could go in the libsvn_repos library by changing the
svn_repos_freeze API to pass an array of paths.  The loop in the library
may well look much like the above svnadmin loop, but putting it in the
library has the advantage of making it readily available to all clients.

> The second bug is fs_fs.c territory, so I think I'll wimpy on that
> for now.

This is is mostly about determining which FSFS function, or perhaps
sequence of functions, to call.  It's probably a smaller patch than the
freeze patch but perhaps requires more work to understand the FS code.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Reply via email to