Bert Huijben wrote on Wed, Apr 03, 2013 at 22:19:09 +0200: > > > > -----Original Message----- > > From: Ivan Zhakov [mailto:i...@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 <markp...@gmail.com> > > wrote: > > > On Wed, Apr 3, 2013 at 12:15 PM, <danie...@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);