Può una sovversione repository essere spostato, ma il suo specchio rimane lo stesso?

StackOverflow https://stackoverflow.com/questions/4219124

  •  26-09-2019
  •  | 
  •  

Domanda

Sto cercando di spostare un repository Subversion su un nuovo server, ma lasciare il suo specchio dove si trova. Ho fatto quanto segue:

  1. Dump vecchia repo
  2. load dump in un nuovo repo
  3. Impostazione del nuovo repo post-commit hook per svnsync allo specchio esistente

Il gancio:

#!/bin/sh

svnsync --non-interactive sync https://mirror.example.com:443/svn/iaw \
--sync-username svnsyncuser --sync-password svnsyncpass \
--source-username svnsyncuser --source-password svnsyncpass &

exit 0

Come prevedibile, quando si tenta di eseguire questo gancio dal nuovo repo ottengo il seguente:

  

svnsync: OPZIONI di 'http: //oldrepo.url/svn/iaw': Impossibile risolvere il nome host `oldrepo.url ': Host not found (http: //oldrepo.url)

Il problema è che lo specchio è stato inizializzato con l'url del vecchio pronti contro termine. Qualcuno sa se questo può essere cambiato, o ho bisogno di ricominciare da zero con un nuovo specchio?

Molte grazie

È stato utile?

Soluzione

È possibile utilizzare Subversion per modificare le proprietà di revisione sulla rev 0 del repository specchio. Cioè:.

svn propset --revprop -r0 svn:sync-from-url http://newrepo.url/svn/iaw \
    https://mirror.example.com:443/svn/iaw

vedere il riquadro intitolato "svnsync Contabilità" nel sezione Repository la replica del SVN libro .

Altri suggerimenti

Tutte le informazioni di sincronizzazione di svn specchio è memorizzato nella directory / repo / db / revprops. Nella directory, è possibile visualizzare i file come: 0, 1, 2,

  

grep -R "http: //oldrepo.url" / repo / db / revprops

e dopo a trovarlo, modificarlo per nuovo indirizzo di pronti contro termine, e può funzionare ora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top