Branko Čibej wrote on Wed, Mar 27, 2013 at 05:14:51 +0100:
> On 26.03.2013 23:11, Daniel Shahaf wrote:
> > [[[
> > Run the per-revision verify code on a transaction just before it becomes
> > a revision.  The intent is to catch corruption bugs as early as possible.
> >
> > * subversion/libsvn_fs/fs-loader.c
> >   (svn_fs_commit_txn): As above.
> > ]]]
> >
> > [[[
> > Index: subversion/libsvn_fs/fs-loader.c
> > ===================================================================
> > --- subversion/libsvn_fs/fs-loader.c        (revision 1461335)
> > +++ subversion/libsvn_fs/fs-loader.c        (working copy)
> > @@ -761,6 +761,11 @@ svn_fs_commit_txn(const char **conflict_p, svn_rev
> >    fs_path = svn_fs_path(fs, pool);
> >  #endif
> >  
> > +#ifdef SVN_DEBUG
> > +  /* Verify. */
> > +  SVN_ERR(svn_fs_verify_rev(fs, txn_root, pool));
> > +#endif
> > +
> >    err = txn->vtable->commit(conflict_p, new_rev, txn, pool);
> >  
> >  #ifdef SVN_DEBUG
> > ]]]
> >
> > Maybe this should be optional behaviour in release mode, too?
> 
> I was thinking the same; as it is, it doesn't really help, since most of
> the time only Subversion developers will be running our test suite with
> SVN_DEBUG enabled.

Right.  The patch as is is useful primarily for developers.  A
user-oriented feature would be the same minus the #ifdef plus a knob
(off by default), possibly combined with a recommendation for 'verify -r'
in the post-commit hook.

What config file do I put the knob in?  I think my options are
db/fs-type, db/fs.conf, db/fsfs.conf.  (with the middle one being the
cleanest design, but also the most code to implement and introduces a
new uesr-facing config file)

Reply via email to