Qual è il punto di una sola lettura copia del repository tramite svnsync?

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

  •  28-09-2019
  •  | 
  •  

Domanda

Ho letto su svnsync di creare una sola lettura copia del nostro repository, ma io non capisco quale sia il punto di avere una sola lettura copia del repository è. Se il master va giù per qualche ragione può la sola lettura la copia diventato di lettura / scrittura così la gente può impegnarsi ad esso? Se no, allora qual è il punto di una sola lettura copiare?

È stato utile?

Soluzione

Leggi sola repository mantenuto da svnsync sono in genere istituito per fornire nei pressi di backup in tempo reale di un repository principale. La copia è considerata di sola lettura perché fare modifiche ad esso con mezzi diversi da svnsync impedirà svnsync di funzionare correttamente.

Nella situazione che il repository principale è perso, il repository di backup può diventare il nuovo padrone. Per tutti gli scopi pratici la copia è identica al master originale come dell'ultima esecuzione di svnsync. Si potrebbe ricostruire il repository originale copiando i file dal repository di backup e continuare come prima.

In alternativa, i clienti con le directory di lavoro basate sul master originale può eseguire un'operazione svn switch --relocate per aggiornare l'URL del server per punto alla copia e continuare a lavorare senza intoppi. Naturalmente una volta che i clienti iniziare a utilizzare il backup per fare commit allora non può più essere il bersaglio di comandi svnsync e diventa effettivamente un nuovo repository master e ti consigliamo di creare un nuovo backup.

Altri suggerimenti

Supponendo che si sta parlando di un repository privato, due ragioni per una lettura / unica copia di qualsiasi cosa - un database o un repository di codice sorgente o xyz - sono per alleviare il carico e migliorare le prestazioni

.

Se stai usando alcun tipo di analisi su repository, dire un processo che tocca ogni revisione, allora questo potrebbe mettere un carico elevato sul repository principale, le prestazioni degradanti per gli sviluppatori. Sincronizzare una lettura / copiare solo è un modo per alleviare il carico, che consente di ottenere il lavoro fatto senza causare degrado per gli utenti chiave.

Un discorso analogo può essere fatto nel corso di latenza -. Più facile da tirare giù da una lettura locale / solo copiare (essenzialmente un cache) che a tirare da un altro ufficio su un collegamento VPN o simile

Non so se si può fare di sincronizzare lettura / scrittura, ma ci sono molti casi in cui si desidera controllare il contenuto di un repository senza mai permettere comiting ad esso. Qui di seguito sono due casi molto simili a ciò che facciamo al lavoro posto che:

  • Immaginate questo è un progetto pubblico open source, è possibile consentire il check-out per nessuno, ma si aspettano solo i contributi tramite patch o segnalazioni di bug (anche la copia viene messo su un server pubblico e quello principale è conservato in un protette rete privata).

  • Si consiglia di utilizzare il contenuto del svn attraverso l'esportazione svn in un sistema di compilazione automatica (o qualche strumento di analisi), ma scegliere di sincronizzare non tutto il tempo, ma solo quando principale SVN è in uno stato stabile (immaginate alcuni commit intermedi potrebbe lasciare il codice in uno stato instabile in cui il codice non è la compilazione).

Fare un backup dei sorgenti di programma open-source preferito:.)

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