I've filed this as issue #3571:
http://subversion.tigris.org/issues/show_bug.cgi?id=3571

Patches welcome...

Daniel


Daniel Shahaf wrote on Sun, 31 Jan 2010 at 00:00 +0200:
> fs_fs.c:recover_body() needs to be taught that the youngest revision
> does not necessarily have a revprop file.  The following repository
> demonstrates the bug:
> 
>     % cat db/format
>     5
>     layout sharded 4
>     % cat db/current
>     3
>     % find db/rev*
>     db/revprops
>     db/revprops/revprops.db
>     db/revs
>     db/revs/0.pack
>     db/revs/0.pack/manifest
>     db/revs/0.pack/pack
>     % svnadmin recover ./
>     Repository lock acquired.
>     Please wait; recovering the repository may take some time...
>     subversion/libsvn_repos/repos.c:1740: (apr_err=160004)
>     subversion/libsvn_fs_fs/fs_fs.c:606: (apr_err=160004)
>     subversion/libsvn_fs_fs/fs_fs.c:6780: (apr_err=160004)
>     svnadmin: Revision 3 has a revs file but no revprops file
>     %
> 
> I created the repository as follows:
> 
>     % svnadmin create r
>     % sed -i 2s/1000/4/ r/db/format
>     % for i in 1 2 3; do svn mkdir file://`pwd`/r/$i -mr$i; done
> 
> Found by: svnadmin_tests 13, when built with
> -DSVN_FS_FS_DEFAULT_MAX_FILES_PER_DIR=4 and -DPACK_AFTER_EVERY_COMMIT.
> 
> Daniel
> 

Reply via email to