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

Re: svnsync on large files

From: Daniel Shahaf <danielsh_at_apache.org>
Date: Thu, 8 Dec 2016 06:20:20 +0000

Stümpfig, Thomas wrote on Wed, Dec 07, 2016 at 23:32:38 +0000:
> This is the situation of the starting point. (I restored)

The steps should be this:

f() {
  token="$USER@$(hostname):${RANDOM}:${RANDOM}"
  svn propset --revprop -r0 -- svn:sync-lock $token
  svn propget --revprop -r0 --strict svn:sync-lock | fgrep -q -- $token || return 1
  svn propset --revprop -r0 svn:sync-currently-copying 54618
  svnrdump dump -r54618 --incremental https://mysourceturl/repository >tmpfile
  svnadmin load /svnmirror/projektablage <tmpfile
  svn propset --revprop -r0 svn:sync-last-merged-rev 54618
  svn propdel --revprop -r0 svn:sync-currently-copying
  svn propdel --revprop -r0 svn:sync-lock
}

Note:

1. Using the same metadata revprops and order as svnsync.

2. The fgrep is to make up for the svn:sync-lock not being taken
atomically. (The cmdline client passes NULL for the ORIGINAL_PROPVAL
argument of svn_client_revprop_set2().)

3. Using a tmpfile since the dumpfile format isn't truncation-safe.

4. $RANDOM isn't in POSIX; if not available, substitute the first
N bytes from /dev/urandom.

5. Make sure to use the correct source URL on the dump command.

6. The hooks may need tweaking.

Cheers,

Daniel
Received on 2016-12-08 07:20:39 CET

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

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