Ramkumar Ramachandra wrote on Fri, Aug 20, 2010 at 10:29:15 +0530:
> Hi Jon,
> 
> Jon Foster writes:
> > Daniel Shahaf wrote:
> > > Yes:
> > > 
> > > svn propset --revprop svn:author
> > > svn propset --revprop svn:date
> > > 
> > 
> > But not by default.  Changing revprops has to be explicitly enabled by
> > the repository administrator.  To do this, the server admin has to
> > explicitly create a "pre-revprop-change" hook, and set it to allow the
> > changes.  Many "pre-revprop-change" scripts will disallow changes to
> > "svn:date" and "svn:author", although they might allow other revprops
> > such as "svn:log" to be edited.
> > 
> > http://svnbook.red-bean.com/nightly/en/svn.ref.reposhooks.pre-revprop-ch
> > ange.html
> 
> True. `svnrdump load` fails in this case just like svnsync does:
> svnrdump: Repository has not been enabled to accept revision propchanges;
> ask the administrator to create a pre-revprop-change hook
> 
> We didn't have to write anything explicitly to handle this.
> 

One difference, though.  svnsync fails before it makes any changes to the
destination repository (because do_init() and get_lock() create
revprops.)  I think svnrdump might be failing in replay_revend(), after
the revision *has* been committed, but before svnrdump has touched the
svn:{date,author} revprops on the destination.

Also, this race condition exists anyway... (if eg I cut the network
cable upon entry to replay_revend()) so we should document this clearly
in 'svnrdump load', or give a very clear error message (to indicate that
the revision was *partially* loaded --- content and revprops, but not
author or date) in that case.

Could you look into this please?  (i.e., whether the race condition
exists, and if yes then make sure the error message explains the
situation clearly)

> -- Ram

Reply via email to