Gestione rami/fusioni in Subversion 1.5
-
09-06-2019 - |
Domanda
Ho usato subversion per un po' e ho usato lo script svnmerge.py per un po' nel mio vecchio lavoro per gestire le fusioni tra rami.Credo che la Subversione 1.5 sia ora disponibile e avrebbe dovuto avere un sistema di gestione dei rami/fusioni integrato con esso.
Quindi, qualcuno può darmi una rapida panoramica su come tenere traccia delle fusioni in un ramo con Subversion 1.5?Ci sono insidie nell'utilizzo di questo supporto?Devo assicurarmi che tutto il team esegua l'aggiornamento alla versione 1.5 prima di utilizzare questo supporto?
Soluzione
Utilizzo
Il monitoraggio dell'unione viene gestito dal client e archiviato in una proprietà (svn:mergeinfo).
Per utilizzare il monitoraggio dell'unione, unisci semplicemente come al solito ma senza l'intervallo di revisione:
svn merge trunkURL
Il client si occuperà di leggere le proprietà per vedere quali revisioni devono essere unite e quindi aggiornare le proprietà con le revisioni appena unite.
Qui è una panoramica piuttosto elementare del processo.
Insidie, ecc.
Personalmente non ho riscontrato alcun problema con il rilevamento delle fusioni, ma il mio utilizzo della funzionalità è stato piuttosto leggero.
Aggiornamento
Ci sono due aggiornamenti che dovrai fare per ottenere il monitoraggio dell'unione:
- Server:Il tuo server dovere essere in esecuzione 1.5 per ottenere il supporto per il monitoraggio delle fusioni.
- Cliente:È possibile utilizzare un client 1.x contro un server 1.5, ma non otterrai il monitoraggio dell'unione.
Aggiorna tutti e basta.
Altri suggerimenti
Un'aggiunta al post di Chris:
Potrebbe anche essere necessario aggiornare il repository stesso, se ti imbatti nei messaggi "Recupero di mergeinfo non supportato".Il comando da eseguire sul server per fare ciò è,
svnadmin upgrade REPOS_PATH
dove REPOS_PATH è ovviamente il percorso locale del tuo repository.
Se hai creato il tuo repository con il comando ~ svn-merge.py puoi aggiornare il tuo repository per utilizzare il tracciamento del merge nativo di svn con il comando XXX.