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

Re: New SVNSYNC bug?

From: David Summers <david_at_summersoft.fay.ar.us>
Date: Tue, 29 Apr 2008 14:11:37 -0500 (CDT)

On Tue, 29 Apr 2008, Lieven Govaerts wrote:

> Justin Erenkrantz wrote:
>> On Mon, Apr 28, 2008 at 3:48 PM, David Glasser <glasser_at_davidglasser.net>
>> wrote:
>> > There were in fact changes to the svnsync RA calls as well as to the
>> > svnserve protocol for it, so I wouldn't be horribly surprised if we
>> > screwed something up in the compatibility code or something.
>>
>> FWIW, we're starting to deploy the mirroring code over at apache.org
>> and we're seeing a similar bug to what David S. is seeing: new files
>> aren't being added over replay. Changed/modified files are okay.
>>
>> (Sadly, our master SVN server has suffered a hard drive failure; so
>> this is on the back burner for us now.) -- justin
>>
>
> David, Justin,
>
> For completeness sake:
> 1. between master and svnsync client you're using http, with ra_serf or
> ra_neon?
> 2. between svnsync and slave you're using what? ra_local?
>

Maybe I'm not understanding (terminology?) something, but here is my
setup.

1. I commit from a WinXP SP2 client using Subversion command-line client
1.4.6 with http method. (I commit to the web-dav proxy enabled slave but
as per your message above, that may not be relevant, the master is not
being corrupted as far as I can tell).

2. The master server receives the commit and in the post-commit hook does
a svnsync to the slave.

3. On the slave server I have svnserve running (svn method) to do the sync
between the master and slave.

When I then subsequently check the slave server with "svn log -v" then I
see no information in "Changed Paths" and no log message.

Hope that helps. I'm working on setting up a controlled test with rc3 to
see what happens and if I can narrow it down any further.

When I backed the slave back down from rc3 to r27613 then things started
working fine again.

Also, I'm beginning to wonder if the problem only showed up on a slave
repo created recently with rc3 or higher but I don't remember exactly when
I installed rc3 or created the new slave repo. I *think* I'm only seeing
corruption on my newest small repo and not ones created earlier with
r27613 or older, but I can't swear to it yet.

Here is my script I use to create slave repos:
#! /bin/bash
# Set up a mirror from SAMSON

usage() {
   echo "Usage: setup.mirror RepositoryName http://SourceHost/SourceRepository"
   exit 1
}

if [ ! -f repos/TEMPLATE/README.txt ]; then
   echo "Missing TEMPLATE repository."
   exit 1
fi

if [ "$1"x = "x" ]; then
   usage
fi

if [ "$2"x = "x" ]; then
   usage
fi

REPO_NAME=$1
SOURCE_REPOSITORY=$2

result=`echo $SOURCE_REPOSITORY | grep -i http://`

if [ "$result"x = "x" ]; then
   usage
fi

# Create new repository
svnadmin --pre-1.5-compatible create repos/$REPO_NAME

# Zap initial template files
rm -rf repos/$REPO_NAME/hooks/*.tmpl

# Copy template hooks from TEMPLATE repo
cp repos/TEMPLATE/hooks/* repos/$REPO_NAME/hooks

# Zap initial conf files.
rm -rf repos/$REPO_NAME/conf/*

# Setup svnserve.conf
(cd repos/$REPO_NAME/conf; ln -s ../../../svnserve.conf .)

# Get UUID from source repository
uuid=`svn info $SOURCE_REPOSITORY | grep -i uuid | sed -e 's/^.*:\s//'`

echo UUID = \"$uuid\"

echo $uuid > repos/$REPO_NAME/db/uuid

# Set up for SYNC operation
svnsync init file:///home/svnroot/repos/$REPO_NAME $SOURCE_REPOSITORY

svn ps svn:sync-from-url svn://samson/$REPO_NAME file:///home/svnroot/repos/$REPO_NAME -r0 --revprop --username=svnsync

chown -R apache:apache repos/$REPO_NAME

exit 0

Here is my script I run on the master server to sync to the slave
(razorback) on post-commit.

"C:\Program Files\Subversion\bin\svnsync" sync svn://razorback/%1%

(with appropriate user and password not shown here)

--
David Wayne Summers        "Linux: Because reboots are for hardware upgrades!"
david@summersoft.fay.ar.us PGP Key: http://summersoft.fay.ar.us/~david/pgp.txt
PGP Key fingerprint =  0B44 B118 85CC F4EC 7021  1ED4 1516 5B78 E320 2001
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-29 21:12:08 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.