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

Re: Issue with incomplete rev

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Wed, 30 Jul 2014 13:52:08 +0100

Tony Stevenson <tony_at_pc-tony.com> writes:

> I am hoping someone will be willing to help us (ASF Infra) bottom out
> this issue and suggest the most sane way to resolve it. 
>
> We are using the ‘SVNMasterURI’ directive to enable the EU ‘mirror’. I
> am not aware of any special circumstances that led to the situation we
> have.  If you look at [1] and [2] you will see the US master has the
> revision, intact (as best we can tell) including log message and
> payload (not sure of the correct term here, but essentially I mean the
> changed paths).  Where as the EU mirror only has a revision with the
> log message no payload. 
>
> Is there anyway to replay the single revision? Or are we going to have
> to dump the US master, and load it on the EU mirror and svnsync it ? 
>
> EU Mirror:  svn, version 1.8.1 (r1503906)
> US Master:  svn, version 1.8.1 (r1503906)
>
>
> [1] - http://svn.us.apache.org/viewvc?view=revision&revision=r1362927
> [2] - http://svn.eu.apache.org/viewvc?view=revision&revision=r1362927

On the master I see a text change to one file and an svn:mergeinfo
change on one directory. The slave revision has the revision properties
svn:log, svn:date and svn:author but does not have the versioned text or
svn:mergeinfo change. I wonder how that happened? r1362927 is from
2012-07-18, do you know which version of Subversion was in use at that
time?

To fix via svnsync there is no need to start from scratch, instead
backdate the slave to a revision before r1362927 and resync:

  - stop apache from serving the slave repository
  - delete the revision files (or pack files) from r1362927 onward
  - use an editor to rewrite db/current
  - run "svnadmin recover"
  - use "svn ps --revprop -r0" to reset svn:sync-last-merged-rev
  - allow apache to serve the slave repository
  - run svnsync (about 250,000 revisions)

The slave will be out-of-date until the sync completes so will not be
much use to users. Perhaps it would be possible to redirect svn.eu to
svn.us while this operation is in progress?

It is possible to do the operation on a copy of the slave repository and
keep the existing slave repository online but this requires doing
somthing to ensure that revprop changes made on the master during the
svnsync get to the copy.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-07-30 14:52:42 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.