linux - Flyttet arkiv. Bruger jeg SVN-switch, SVN flytter eller noget andet alt sammen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har planlagt en migrering af et Subversion-depot fra en Linux-server til en Windows-server. Jeg har beskrevet trinene til migrationen som sådan:



  1. Opret et dump af depotet

  2. Overfør dumpfilen til destinations Windows-serveren

  3. Upload opbevaringsstedet i den nye subversionsserver

  4. Skift alle referencer til gammelt arkiv til nyt arkiv



Efter lidt frustration nåede jeg endelig til trin 4, men er kommet til et dilemma ... Jeg er ikke sikker på, hvordan man ændrer alle referencer. Jeg har set, at flytningen kan bruges, men jeg har også hørt, at switch skal bruges, hvis strukturen ændres ... dette er projekt for arbejde, så jeg har brug for at sikre, at den korrekte kommando bruges i det sidste trin for at undgå nedfald.


Den nuværende filstruktur ser ud som sådan:


svn://svn @ servernavn/Source/Programnavn/bin/Release


Den nye filstruktur er dikteret af VisualSVN Server og ser sådan ud:


https://ServerName.domain.local/svn/RepositoryName/Source/Programnavn/bin/Release [10]


Vil flytte arbejde til dette, eller går jeg i den forkerte retning?

Bedste reference


Tidligere svarere læser ikke docs


>svn help switch

  2. The '--relocate' option is deprecated. This syntax is equivalent to
     'svn relocate FROM-PREFIX TO-PREFIX [PATH]'.


Du skal



  • at bruge svn relocate (fordi du omskriver mere end præfiks)

  • Brug anden form for flytende syntaks relocate TO-URL [PATH], se også eksempel i svn help relocate




  2. TO-URL is the (complete) new repository URL to use for PATH.

Examples:

  ...

  svn relocate http://www.example.com/repo/project 

               svn://svn.example.com/repo/project



i eksempel er gamle referencer svn://svn.example.com/repo/project erstattet af http://www.example.com/repo/project

Andre referencer 1


Ja, kommandoen svn switch --relocate skal fungere. Men vær opmærksom på at du skal flytte rod på din arbejdskopi.

Andre referencer 2


Det mest forenklede svar er dette:


Du bruger flyt , når du har flyttet samme datakatalog til en ny server (ny base URI).


Du bruger switch , når du vil skifte mellem grene (stier med fælles forfædre) inden for samme arkiv.


I begge tilfælde forbliver repository UUID det samme.


Hvis du dumper komplette arkiver og genindfører det til en ny datakatalog, bruger du i det væsentlige samme datakatalog, forbliver depot UUID det samme. Du må bruge flytning.


Hvis du ændrer UUID eller gendanner til et eksisterende depot, er dit eneste valg at afkøbe arbejdskopien på ny.

Andre referencer 3


Brug svn switch --relocate Jeg har lige gjort det på et repo og det virker som magi. Hvis du bruger TortoiseSVN, skal du bruge kommandoen 'Flyt', ikke kommandoen 'Switch'.