Synology-Forum.nl

Packages => Officiële Packages => Topic gestart door: aliazzz op 26 december 2019, 11:08:55

Titel: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: aliazzz op 26 december 2019, 11:08:55
Beste heren en dames,

Ik heb het volgende, ik ben in het bezit van een SVN database met een hoop sourcecode.
Ik zou deze database graag, incl historie willen migreren naar mijn andere NAS. Wie kan mijn wat meer vertellen hierover?

Ik hoor graag!


Aliazzz
Titel: Re: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: aliazzz op 26 december 2019, 12:06:39
Via de DSM interface van Synology kan dit niet.
Dus Telnet aanzetten, en via telnet inloggen. Dan via svnadmin een dump maken en in de andere nas deze dump file teruglezen via dezelfde route... 

$ sudo svnadmin help

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
Available subcommands:
   crashtest
   create
   delrevprop
   deltify
   dump
   freeze
   help (?, h)
   hotcopy
   info
   list-dblogs
   list-unused-dblogs
   load
   lock
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   unlock
   upgrade
   verify
Titel: Re: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: Birdy op 26 december 2019, 12:26:25
Toch snel zelf gevonden :thumbup:
Titel: Re: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: Birdy op 26 december 2019, 12:37:26
Overigens, ik heb dit Topic (https://community.synology.com/enu/forum/17/post/81976) nog kunnen vinden.
Titel: Re: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: aliazzz op 26 december 2019, 12:56:49
stap1: Telnet aanzetten in Source DS
stap2: Inloggen in DS via Telnet
stap3: graaf naar de juiste directory van de svn database;
$ cd /volume1/@appstore/SVN/repo
stap4: dump de database naar een dumpfile (om de reponaam te zien typ je ls -s en vul je in zonder quotes );
$ sudo svnadmin dump "jouwreponaam" > dumpfile
Password:
* Dumped revision 0.
* Dumped revision 1.
..
* Dumped revision ..

Het dumpen kan even duren adhv de grootte van de database...

stap 5: verplaats de dumpfile naar je home directory;
$ mv dumpfile /volume1/homes/Aliazzz/
stap6: ga zelf naar de directory:
$  cd /volume1/homes/Aliazzz/
stap7: verander de ownership van de dumpfile naar de algemene admin group (SVN kent eigen users, die buiten algemeen admin werken);
$ sudo chgrp "administrators" "dumpfile"
stap8: voeg de file toe aan de DSM user uit de admin group;
$  sudo chown "Aliazzz" "dumpfile"
Nu is de dumpfile toegankelijk in de home directory van die user en kan je deze verplaatsen naar een andere SVN repository, bijvoorbeeld op een andere NAS of SAAS o.i.d.


Telnet uitzetten etc niet vergeten!
Titel: Re: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: aliazzz op 26 december 2019, 13:11:13
De onderstaande truc is ook het recept om een SVN backupfile achter de hand te hebben :thumbup:
De nas maakt geen van de SVN of GIT  :'( database tenzij je de nas op blockniveau zelf backupt.
Titel: Re: Hoe een export maken van een SVN repo vanuit NAS1 naar NAS2?
Bericht door: Briolet op 26 december 2019, 14:38:57
Een bruikbare oplossing. Ik had al gezien dat svnadmin de backup verzorgd, maar wist niet dat dit commando samen met het pakket geïnstalleerd wordt.

Je kunt de backup vast wel door de nas laten verzorgen als je de repository op een share zet.  Ik zelf gebruik Git. Dit staat op een gelijknamige share. Die share kan ik met HyperBackup opslaan. HB neemt ook de hidden files mee die git aanmaakt.

Bij een share moet je wel oppassen dat je hem niet moet mounten en rechtstreeks de inhoud gaat aanpassen. Als je hem via de mac mount, krijg je in elke folder hidden files. ".DS_Store" en "@eaDir". De eerste maakt de mac en de tweede maakt de nas  om de metadata van de mac op te slaan. Als je verder geen maatregelen neemt, komen die files ook in je project terug.

In git kun je echter files van het project uitsluiten. In mijn projectfolders staat steeds de file ".gitignore" met als inhoud:

**/@eaDir/
**/.DS_Store

Git heeft echter als voordeel boven SVN, dat elke cliënt de volledige repro bezit. Ik log vanaf verschillende toestellen in, zodat op elk toestel eigenlijk al een backup staat.  Bij SVN staat alleen de laatste versie op elk toestel.