You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jan Keirse <ja...@tvh.com> on 2011/12/28 11:44:49 UTC

svnsync, discard master and start using slave as new master

Hello,

I have a master and a slave. Now I want to discard the current master
and start using the slave as the new master (creating a new slave on
another server and stop the server that currently runs the master.)

I think the steps to do this are the following:
* Change authz on the master so that nobody can commit.
* Sync the slave one last time so it's certainly up-to-date.
(Shouldn't be necessary for us because this is done automatically in a
post-commit hook of the master.)
* Remove the svn:sync-* properties from revision 0 of the slave.
* Change authz and hooks on the slave to what they used to be on the master.
* Have everyone relocate their working copies to the new server.
* Start syncing a new server so we have a slave just in case something
goes wrong on the master.

Is this correct? Is there something I forgot?

Version: svn 1.6.17 fsfs, served by Apache 2.2.21 on windows, old
server = 32bit, new server = 64 bit.

Kind Regards,

JAN KEIRSE
CORPORATE SERVICES • Software Engineer

Re: svnsync, discard master and start using slave as new master

Posted by Giulio Troccoli <gi...@mediatelgroup.co.uk>.

On 28/12/11 14:12, Daniel Shahaf wrote:
> Jan Keirse wrote on Wed, Dec 28, 2011 at 11:44:49 +0100:
>> Hello,
>>
>> I have a master and a slave. Now I want to discard the current master
>> and start using the slave as the new master (creating a new slave on
>> another server and stop the server that currently runs the master.)
>>
>> I think the steps to do this are the following:
>> * Change authz on the master so that nobody can commit.
> Either that or create a start-commit hook that always fails.
>
>> * Sync the slave one last time so it's certainly up-to-date.
>> (Shouldn't be necessary for us because this is done automatically in a
>> post-commit hook of the master.)
> Also: disable revprop changes, and run 'svnsync copy-revprops' if needed.
>
>> * Remove the svn:sync-* properties from revision 0 of the slave.
>> * Change authz and hooks on the slave to what they used to be on the master.
>> * Have everyone relocate their working copies to the new server.
> Either that, or change DNS.

If the master and slave repos have the same UUID and you change the DNS 
your user will not have to do anything at all.


>> * Start syncing a new server so we have a slave just in case something
>> goes wrong on the master.
>>
>> Is this correct? Is there something I forgot?
>>
> Looks good.

Re: svnsync, discard master and start using slave as new master

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
On Thu, Dec 29, 2011, at 09:33, Jan Keirse wrote:
> On Wed, Dec 28, 2011 at 3:12 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> > Jan Keirse wrote on Wed, Dec 28, 2011 at 11:44:49 +0100:
> >> Hello,
> >>
> >> I have a master and a slave. Now I want to discard the current master
> >> and start using the slave as the new master (creating a new slave on
> >> another server and stop the server that currently runs the master.)
> >>
> >> I think the steps to do this are the following:
...
> > Looks good.
> 
> Ok, thanks for your feedback.
> Maybe these steps could be included in the manual (here
> http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.replication
> ?)

Feel free to suggest that to the book authors at their mailing list:
svnbook-dev@red-bean.com

Re: svnsync, discard master and start using slave as new master

Posted by Jan Keirse <ja...@tvh.com>.
On Wed, Dec 28, 2011 at 3:12 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> Jan Keirse wrote on Wed, Dec 28, 2011 at 11:44:49 +0100:
>> Hello,
>>
>> I have a master and a slave. Now I want to discard the current master
>> and start using the slave as the new master (creating a new slave on
>> another server and stop the server that currently runs the master.)
>>
>> I think the steps to do this are the following:
>> * Change authz on the master so that nobody can commit.
>
> Either that or create a start-commit hook that always fails.
>
>> * Sync the slave one last time so it's certainly up-to-date.
>> (Shouldn't be necessary for us because this is done automatically in a
>> post-commit hook of the master.)
>
> Also: disable revprop changes, and run 'svnsync copy-revprops' if needed.
>
>> * Remove the svn:sync-* properties from revision 0 of the slave.
>> * Change authz and hooks on the slave to what they used to be on the master.
>> * Have everyone relocate their working copies to the new server.
>
> Either that, or change DNS.
>
>> * Start syncing a new server so we have a slave just in case something
>> goes wrong on the master.
>>
>> Is this correct? Is there something I forgot?
>>
>
> Looks good.

Ok, thanks for your feedback.
Maybe these steps could be included in the manual (here
http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.replication
?)

Kind Regards,

JAN KEIRSE
CORPORATE SERVICES • Software Engineer

Re: svnsync, discard master and start using slave as new master

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Jan Keirse wrote on Wed, Dec 28, 2011 at 11:44:49 +0100:
> Hello,
> 
> I have a master and a slave. Now I want to discard the current master
> and start using the slave as the new master (creating a new slave on
> another server and stop the server that currently runs the master.)
> 
> I think the steps to do this are the following:
> * Change authz on the master so that nobody can commit.

Either that or create a start-commit hook that always fails.

> * Sync the slave one last time so it's certainly up-to-date.
> (Shouldn't be necessary for us because this is done automatically in a
> post-commit hook of the master.)

Also: disable revprop changes, and run 'svnsync copy-revprops' if needed.

> * Remove the svn:sync-* properties from revision 0 of the slave.
> * Change authz and hooks on the slave to what they used to be on the master.
> * Have everyone relocate their working copies to the new server.

Either that, or change DNS.

> * Start syncing a new server so we have a slave just in case something
> goes wrong on the master.
> 
> Is this correct? Is there something I forgot?
> 

Looks good.