[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Enhancing and possibly renaming svnadmin archive command

From: Vladimir Berezniker <vmpn_at_tigris.org>
Date: 2003-08-05 22:16:59 CEST

cmpilato@collab.net wrote:
> Vladimir Berezniker <vmpn@tigris.org> writes:
>
>
>>A). Add two new parameters to svn_fs_berkeley_archive to look as follows:
>>
>> /** Set @a *logfiles to array of <tt>const char *</tt> logfile paths
>> * of Berkeley DB-based Subversion filesystem.
>
>
> This function is misnamed. It should be svn_fs_berkeley_logfiles().
>
Will be done ...
>
>> *
>> * @a absolute_paths specifies format of the paths:
>> * TRUE - Paths are to be absolute
>> * FALSE - Paths are to be relative to the Berkeley DB logs directory.
>
>
> I still say it's kinda silly to have a parameter to toggle this since
> we can always run over a list of relative paths and convert them to
> absolute ones. Nevermind that Berkeley's log_archive() function would
> be the one doing this work for us anyway -- from an API point of view,
> it's just noise.
>

You are absolutely right, I misunderstood what you said last time. I
read your comment to mean "returning absolute paths all the time", my
mistake.

How about another function, svn_repos_logfiles() that wraps
svn_fs_berkeley_logfiles() and returns paths relative to the repository
root.

E.g. If svn_fs_berkeley_logfiles() returns log.00001, log.00002 then
svn_repos_logfiles() returns db/log.00001, db/log.00002.

Then svnadmin will wrap around svn_repos_logfiles().

>
>> *
>> * @a all_log_files specifies which logs to include in the list:
>> * TRUE - All logs are included
>> * FALSE - Only unused logs are included
>
>
> I'd rather make the default answer contain all the log files, and then
> have a parameter named 'ignore_unused' to toggle that behavior.
>

As I understand Berkeley DB, log_archive can return either list of
unused logs or a list of used and unused log files.

Of course a function that does (used and unused log files) - (unused log
files) = (used log files) can be implemented.

Is there a particular reason you want a list of only used log files?

>
>>B) Modify svnadmin's main.c to allow expose the new API to the end user.
>
>
> Sure.
>
>
>>A). Name of the "archive" command.
>>
>> As Michael Wood pointed out that "archive" is not the best name
>
>
> Right. How about "svnadmin lslogs [--ignore-unused]" ?

Any chance end users might think "lslogs" has something to do with log
messages? See above above regarding the "[--ignore-unused]" part.

>
>
>> * If command is renamed does svn_fs_berkeley_archive get renamed
>>as well or a new function is created (e.g. svn_fs_berkeley_loglist)
>>and svn_fs_berkeley_archive calls the new function so that any
>>existing code works without a change.?
>
>
> Yes. As I noted above, the function is misnamed. (And, IMO, so is
> the Berkeley function and utility).
>
>
>>B). Need for absolute_paths parameter.
>>
>> cmpilato@collab.net said: "I don't really see the need to have
>>the abs-vs.-rel path parameter", referring to absolute_paths
>>parameter.
>>http://article.gmane.org/gmane.comp.version-control.subversion.devel/31725
>
>
> See above.
>
>
>> * Given that I also want to submit a patch for "svnadmin copy"
>>(hot copy) command that will need log file names only, is that a
>>reason enough to keep that parameter? You can read about why I wish to
>>compare log files at
>>http://article.gmane.org/gmane.comp.version-control.subversion.devel/31740
>
>
> Make the function return just the basename (which is how I understand
> BDB's log_archive() function to work), and convert to absolute path
> when you need to.

Thank you for your feedback,
Vladimir Berezniker

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 5 22:17:38 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.