Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Oct 2011 11:42:44 -0400
From:      Greg Larkin <>
To:        n dhert <>
Subject:   Re: moving a svn repository
Message-ID:  <>
In-Reply-To: <>
References:  <>	<> <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
Hash: SHA1

On 10/3/11 3:24 PM, n dhert wrote:
> I meant repository (with README.txt, conf, etc...)
> What are hooks scripts, are they not in the repository?
> I am not a SVN user, what is the meaning of
> svn switch --relocate

NOTE: Please bottom-post and leave the cc: freebsd-questions@ in place -
thank you!

Hi there,

The hook scripts will be found in the hooks/ subdirectory of the
repository.  They are not included in the dump file, so they should be
copied manually to the repository on the new server.  In fact, here is
more detail about the process:

# Run these commands on the original machine:
svnadmin dump /path/to/svn/repos | gzip -9v > /tmp/repos.dump.gz
tar -C /path/to/svn/repos/hooks -cvf - . | gzip -9v > /tmp/hooks.tar.gz
scp /tmp/repos.dump.gz /tmp/hooks.tar.gz user@newmachine:/tmp

# Run these commands on the new machine:
svnadmin create /path/to/new/svn/repos
zcat /tmp/repos.dump.gz | svnadmin load --force-uuid /path/to/new/svn/repos
zcat /tmp/hooks.tar.gz | tar -C /path/to/new/svn/repos/hooks -xvf -

Once that's all done, you may have to chown/chmod the new repository
directory to get everything working.  Also, what connection type do you
use - svn+ssh://, http://, https://, etc.?  Depending on that answer,
there will be some other configuration needed on the new server.

The "svn switch --relocate" command retargets a checked-out working
directory to a Subversion repository at a new URL.  That saves the
developers from having to freshly check out their working directories
after a repository is moved to a new server.


> 2011/10/3 Greg Larkin < <>>
> On 10/3/11 1:32 PM, n dhert wrote:
>> On a FreeBSD machine which the svn software installed,
> repositories for
>> different projects exist.
>> Such a repository looks as a directory with subdirs and files.
>> One user wants the SVN repository of one project to be transferred
> to a
>> different machine (which had
>> exactly the same FreeBSD version and exactly the same version of
> the svn
>> software).
>> Is it possible to simply make a tar file of the directory of the svn
>> repository, transfer that to the other machine
>> and there untar it in the home-directory that the user has on that
> other
>> machine and use it without further ado ?
> Hi n dhert,
> You said repository, but can you clarify if you meant a Subversion
> working directory or a Subversion repository?  A working directory has a
> bunch of .svn directories throughout the hierarchy, and a repository has
> a directory structure that looks like this at the top level:
> README.txt
> conf/
> db/
> format
> hooks/
> locks/
> If you want to move a working directory to a new machine, I suggest
> committing pending changes in the original one, removing it from the old
> machine and then checking it out fresh on the new machine.
> If you want to move a repository, ask your user to commit pending
> changes, use the "svnadmin dump" command to create a dump file, then
> transfer it and use "svnadmin load" on the target machine.  Also make
> sure to check if there are any hook scripts in the old repository and
> move them as well.  They may depend on tools that are not installed or
> paths that don't exist on the new machine, so check that they function
> correctly.
> After the repository move, the user can run "svn switch --relocate" in
> his working directory to point to the new repository URL.
> Hope that helps,
> Greg

- -- 
Greg Larkin           - The Power To Serve     - Ready. Set. Code.      - Follow you, follow me
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla -


Want to link to this message? Use this URL: <>