Repository UUID's in doc and ports SVN Mirror Seed Files

John Marshall john.marshall at riverwillow.com.au
Fri Jul 20 00:17:16 UTC 2012


On Thu, 19 Jul 2012, 18:19 -0400, Garrett Wollman wrote:
> <<On Thu, 19 Jul 2012 23:16:08 +0100, "Simon L. B. Nielsen" <simon at freebsd.org> said:
> > Have you yet found any cases where this causes actual problems?
> 
> The case where it causes problems is when you do an initial checkout
> from a mirror and want to "svn switch" to the master repo in advance
> of doing a checkin or an update.

and not just for committers but for end users who need to switch to a
different source (e.g. original mirror is no longer available).

My understanding of how Subversion mirrors are meant to be used is that
they should all be exact read-only replicas of the master and that
clients ought to be able to use any of them for checkout or update
operations.  If mirrors have different UUID's, the svn client "knows"
that they are different repositories and refuses to use them.  The svn
client will only accept updates from a source repository which has the
same UUID as the repository from which the initial checkout was made.

$ mkdir doctree
$ svn checkout file:///work/svn/doc/head doctree

$ svn info doctree
Path: doctree
Working Copy Root Path: /work/svn/doctree
URL: file:///work/svn/doc/head
Repository Root: file:///work/svn/doc
Repository UUID: 8026a357-cfce-e111-996c-001c23d10e55

$ svn checkout svn://svn.freebsd.org/doc/head doctree
svn: E155000: '/work/svn/doctree' is already a working copy for a different URL

$ svn relocate svn://svn.freebsd.org/doc/head doctree
svn: E195009: The repository at 'svn://svn.freebsd.org/doc/head' has uuid 'c2e8774f-c49f-e111-b436-862b2bbc8956', but the WC has '8026a357-cfce-e111-996c-001c23d10e55'

$ svnlook uuid /work/svn/doc
8026a357-cfce-e111-996c-001c23d10e55
$ svnadmin setuuid /work/svn/doc c2e8774f-c49f-e111-b436-862b2bbc8956

$ mkdir newdoctree
$ svn checkout file:///work/svn/doc/head newdoctree

$ svn info newdoctree
Path: newdoctree
Working Copy Root Path: /work/svn/newdoctree
URL: file:///work/svn/doc/head
Repository Root: file:///work/svn/doc
Repository UUID: c2e8774f-c49f-e111-b436-862b2bbc8956

$ svn relocate svn://svn.freebsd.org/doc/head newdoctree
$ svn info newdoctree
Path: newdoctree
Working Copy Root Path: /work/svn/newdoctree
URL: svn://svn.freebsd.org/doc/head
Repository Root: svn://svn.freebsd.org/doc
Repository UUID: c2e8774f-c49f-e111-b436-862b2bbc8956

$ svn checkout svn://svn.freebsd.org/doc/head newdoctree
Checked out revision 39236.

$ svn relocate file:///work/svn/doc/head newdoctree
$ svn info newdoctree
Path: newdoctree
Working Copy Root Path: /work/svn/newdoctree
URL: file:///work/svn/doc/head
Repository Root: file:///work/svn/doc
Repository UUID: c2e8774f-c49f-e111-b436-862b2bbc8956

$ svn checkout file:///work/svn/doc/head newdoctree
Checked out revision 39236.

DOCUMENTATION PLUG

The documentation provided with the Subversion port is excellent and
covers all of this.
/usr/local/share/doc/subversion/

-- 
John Marshall
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hubs/attachments/20120720/e821302c/attachment.pgp


More information about the freebsd-hubs mailing list