2009-09-22 18 views

risposta

179

Supponendo che la directory di lavoro sta lavorando dal tronco:

fare clic destro su cartella "lavoro root" (questo termine si riferisce sempre a Windows Explorer) e fare svn update per aggiornare la cartella di lavoro per l'ultimo tronco.

assicurarsi che ciò che hai è stabile.

pulsante destro del mouse sulla cartella di lavoro principale e fare svn commit per assicurarsi che tutte le modifiche locali sono impegnati al tronco.

pulsante destro del mouse sulla cartella di lavoro principale e fare svn repo-browser.

Se non si dispone già di una cartella rami nel repository: tasto destro del mouse sulla cartella appena sopra la cartella tronco e fare "Crea cartella" e creare una cartella rami (per esempio, se il tronco è http://myserver/svn/MyRepository/MyProj/Trunk, creare http://myserver/svn/MyRepository/MyProj/Branches).

Fare clic con il tasto destro del mouse sulla cartella trunk e fare Copy To: e inserire il nome della nuova cartella per il ramo. Ad esempio: http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch. (Non preoccupatevi che questo sprechi molto spazio ... questa è chiamata "copia economica" ... in realtà non copia il contenuto dei file a meno che non cambino).

primo Repo-browser.

Fare clic con il pulsante destro del mouse sulla cartella principale di lavoro e fare quanto segue: svn switch e scegliere il nome della cartella del nuovo ramo (ad esempio, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Lascia tutto il resto al valore predefinito.

ora lavorare sul ramo. Quando raggiungi le tappe, fai clic con il tasto destro del mouse sulla cartella di lavoro di root e esegui il commit svn commit nel ramo. (Questo non sarà visibile nel bagagliaio).

Se altri stanno lavorando sullo stesso ramo, eseguire periodicamente lo svn update dalla cartella di lavoro principale. Questo verrà aggiornato dal ramo. (NON riceverà aggiornamenti dal trunk.)

Se altri funzionano sullo stesso ramo, è necessario unire periodicamente le modifiche dal trunk per assicurarsi che il ramo non sia troppo difficile da integrare in seguito. Per eseguire l'unione periodica: fare clic con il pulsante destro del mouse sulla cartella di lavoro root e fare svn merge. Seleziona "Unisci un intervallo di revisioni". Sotto "URL da cui unire", scegli il trunk (ad esempio, http://myserver/svn/MyRepository/MyProj/Trunk). Lasciare in bianco Intervallo di revisione e lasciare tutto il resto da solo. Fare clic su Avanti. Lascia tutto solo e fai clic su Merge. Assicurati che tutto funzioni ancora ... aggiustalo se no. Una volta che sei soddisfatto, fai un regolare svn update dalla cartella di lavoro principale per aggiornarlo dal ramo (questo è necessario anche se sei l'unico che lavora sul ramo, per soddisfare SVN). Quindi fare svn commit per confermare le modifiche del tronco unito al ramo. Puoi ripetere questo passaggio periodicamente tutte le volte che vuoi.

Una volta che la filiale è pronta per l'integrazione, eseguire il passaggio precedente un'ultima volta e eseguire i test finali. Fai un commit finale al ramo.

Fare clic con il pulsante destro del mouse sulla cartella di lavoro di root e fare un altro svn switch, questa volta passando al trunk (ad esempio, http://myserver/svn/MyRepository/MyProj/Trunk).Ciò avrà l'effetto di "annullare" sostanzialmente tutto il lavoro che hai svolto sul tuo ramo, ma non ti preoccupare ... riavrai il tuo lavoro. (Riferirà anche un sacco di aggiornamenti ai file che non sono stati modificati nel tuo ramo, ma questi sono solo modifiche alla "proprietà SVN" ... non preoccuparti per loro.)

Fare clic con il pulsante destro del mouse sulla cartella di lavoro e fare svn merge. Questa volta, scegli "Reintegrate a Branch". Per l'URL, inserisci il tuo ramo (ad esempio, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Lasciare il resto da solo e fare clic su Avanti. Lascia tutto solo e fai clic su Merge. Ora hai tutto il lavoro che hai svolto sul tuo ramo e il lavoro aggiornato dal bagagliaio.

Fare un test finale. Tutto dovrebbe funzionare perché questo dovrebbe essere lo stesso insieme di file che hai avuto nel tuo ultimo test nel ramo. Fai clic destro sulla cartella di lavoro di root e fai un svn commit. Configura tutto, anche i file su cui non hai lavorato nel tuo ramo (hanno solo la "proprietà SVN", ma il loro commit aiuta SVN a tenere traccia di tutte le revisioni).

Il bagagliaio ora ha tutto il ramo di lavoro e tutto il lavoro che è stato fatto nel bagagliaio mentre si stava lavorando sul ramo, e tutto funziona. Inoltre, SVN ha la cronologia completa di tutti i file, anche le revisioni che sono state archiviate mentre si lavorava sul ramo.

Facoltativo: accedere a Repo-browser, fare clic con il pulsante destro del mouse sulla cartella della diramazione (ad esempio, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch) e "eliminare". Questo non avrà alcun effetto sul tronco e non avrai più bisogno del ramo. (Anche se sei veramente paranoico, non ti preoccupare, perché puoi anche recuperare il tuo ramo cancellato dal browser Repo in qualsiasi momento se davvero ne hai bisogno.)

Non esitate a commentare!

+7

725 parole è semplice? – RedFilter

+32

Ho detto "più semplice" non "semplice" :) – JoelFan

+12

Questo è stato molto utile, grazie! – Funka

Problemi correlati