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

Re: svnadmin info command was: svn commit: r1464089 - /subversion/branches/fsfs-format7/BRANCH-README

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Thu, 4 Apr 2013 00:20:18 +0300

Bert Huijben wrote on Wed, Apr 03, 2013 at 22:19:09 +0200:
>
>
> > -----Original Message-----
> > From: Ivan Zhakov [mailto:ivan_at_visualsvn.com]
> > Sent: woensdag 3 april 2013 21:41
> > To: Mark Phippard
> > Cc: Subversion Development
> > Subject: Re: svnadmin info command was: svn commit: r1464089 -
> > /subversion/branches/fsfs-format7/BRANCH-README
> >
> > On Wed, Apr 3, 2013 at 9:10 PM, Mark Phippard <markphip_at_gmail.com>
> > wrote:
> > > On Wed, Apr 3, 2013 at 12:15 PM, <danielsh_at_apache.org> wrote:
> > >>
> > >> +(danielsh adds: if we do this, would be nice to have 'svnadmin info'
> > command
> > >> +that prints the equivalent of `cat fs-type uuid ../format ../db/format`;
> > but
> > >> +that's orthogonal to all backend changes.)
> > >>
> > >
> > > I think having an svnadmin info command would be nice anyway. We have
> > > this feature in the web UI for SVN Edge and users like it a lot. We
> > > show information like this:
> > >
> > > Revisions: 123
> > > Size: 32.9 KB
> > > Filesystem Format: FSFS version 4
> > > Repository Format: 5
> > > Sharding: Enabled (1,000 revisions)
> > > Packed: False
> > > Representation Sharing: True
> > > Supports: svndiff1, sharding, mergeinfo, rep-sharing, packed revs
> > > UUID: bc35d16b-8bfe-a849-b069-5d48e0fb7551
> > >
> > > I think the command could also probably list the hook scripts that were
> > enabled.
> > >
> > +1. It would be great to have svnadmin info command with such information.
> > /bikeshed mode: s/True/yes and s/False/no :)
>
> +1
> s/Revisions:/Revision:/
> (to match 'svn info')
>
> And please make it available as an API if it is not already a direct
> mapping on the lower layer apis.
> (Packed and representation sharing are probably pretty current version
> fsfs specific)
>

How about the following? Not shown: constructor, duplicator, getter,
and macros for hash keys.

struct svn_repos_info_t { /* libsvn_repos */

  int repos_format; /* 5 */
  svn_version_t supports_version; /* 1.4.0-"" */
  apr_hash_t *hooks; /* How to expose 'enabled' and 'not enabled, but supported'? */

  struct svn_fs_info_t { /* libsvn_fs */

    const char *fs_type; /* "fsfs" */
    const char *uuid; /* 0e99fda1-8d61-4136-a9c5-6a01ff40e8de */
    int fs_format; /* 6 */
    svn_version_t supports_version; /* 1.6.0-"" */
    svn_revnum_t youngest; /* value of HEAD */
    svn_boolean_t is_write_locked; /* Needed? */

    apr_hash_t *fsap_info { /* libsvn_fs_fs */
      /* Fields that FSFS defines: */
      "packed" => ("yes, all shards"
                   | "yes, not all shards"
                   | "no shards are packed"
                   | "format doesn't support packing" ),
      "sharded" => shard_size, /* 0 == not sharded */
      "config_files" => ["/path/to/fsfs.conf"],
      "rep_cache_exists" => svn_boolean_t, /* exists does not imply enabled */
    };

  }

}

svn_error_t *
svn_repos_capabilities(const char **capabilities,
                       svn_repos_t *repos,
                       apr_pool_t *result_pool,
                       apr_pool_t *scratch_pool);
Received on 2013-04-03 23:21:12 CEST

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