Background:
-----------
In 2018 we migrated from CVSNT to VisualSvn and at the time I ran the
conversion, which produced a mirror repository from CVS but in subversion.

This worked fine and we could use that new repository successfully from then on.

Then about a year later I set up a backup scheme by creating an Ubuntu Server
18.04.1 LTS machine at another location (actually a different country).

I transfered the repositories from the main server as svn dump files and
imported these to the mirror server. This also worked fine.

Then I created a bat file on the main server in order to run a sync nightly to
save new added data to the mirror server making them identical.

This has been running until now.
And it seemingly has the same data as witnessed by tests like checking the
revision numbers of each repository.

Problem
-------
Then on Dec 4th 2024 disaster happened and the main Windows server failed
following a power outage that took out some parts of the VMWARE ESX system under
which the main server was running. Apparently there was a drive failure.

IT has managed to restore the server (Windows Server 2016 I believe) from a 5
months old system backup, but it now lacks all commits between July and
December....

So I need to sync in the other direction to bring the data missing on the now 5
months old server from the backup server.


Questions
---------

How do I proceed to do this restore?

The batch file used on the main server to sync nightly to the backup server
contains a command like this for each main repository on the server:

SET SYNCCMD="C:\Program Files\VisualSVN Server\bin\svnsync.exe"

%SYNCCMD% synchronize https://backupserverurl.com/svn/reponame
https://visualsvn-name/svn/reponame

There are 11 such sync commands in the bat file.

Do I just reverse the two https commands in order to do the reverse sync?
And execute from the backup server? Then it must be connected to the company LAN
by VPN, I believe...

And are there some permission problems that can pop up, for example how is it
specified which user is doing the restore sync?

Dump files?
-----------
Maybe I should transfer the backup repository as dump files and import these to
the restored main server?

If so can dump files be created starting at a specified commit date and if there
are overlaps when using the dump files will duplicated revisions be created or
will the revisions in the dump be ignored if they also exist on the target
server?

If the partial dump files strategy works how could that be done exactly?

The VisualSVN server on Windows is on svn version 1.9.7 because I never
understood how I could upgrade it.

The backup server otoh is upgraded with Ubuntu when it went from 18.04.1 to
20.04.1 and then to 24.04.1 LTS where it is now.
Current svn version on the Ubuntu Server is 1.14.3 (r1914484)

Finally:
The combined size of the repositories on Ubuntu is 36 GB and they reside in a
separate partition.

And activity from July until the crash has been rather low, so the data between
then and now is probably very small compared to the total. That is why I want to
run a reverse sync or a partial dump to reduce the amount of data to move.

Please advice.

TIA


-- 
Bo Berglund
Developer in Sweden

Reply via email to