Domanda

Come posso creare un ramo in SVN?

È stato utile?

Soluzione

La ramificazione in Subversion è facilitata da una funzione di copia molto leggera ed efficiente.

La ramificazione e il tagging sono effettivamente la stessa cosa.Basta copiare un'intera cartella nel repository da qualche altra parte nel repository utilizzando il file svn copy comando.

Fondamentalmente questo significa che per convenzione ciò significa copiare una cartella, che si tratti di un backup, di un tag, di un ramo o altro.A seconda di come vuoi pensare alle cose (normalmente a seconda dello strumento SCM che hai utilizzato in passato) devi impostare una struttura di cartelle all'interno del tuo repository per supportare il tuo stile.

Gli stili comuni prevedono la presenza di un gruppo di cartelle nella parte superiore del repository chiamate tags, branches, trunk, eccetera.- che ti permette di copiare il tuo intero trunk (o sottoinsiemi) nel tags e/o branches cartelle.Se hai più di un progetto potresti voler replicare questo tipo di struttura sotto ciascun progetto:

Può volerci un po' di tempo per abituarsi al concetto, ma funziona: assicurati solo che tu (e il tuo team) abbiate ben chiare le convenzioni che utilizzerete.È anche una buona idea avere una buona convenzione di denominazione - qualcosa che ti dica perché il ramo/tag è stato creato e se è ancora appropriato - considerare modi di archiviare i rami obsoleti.

Altri suggerimenti

Crea un nuovo ramo utilizzando il file svn copy comandare come segue:

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"

Se il tuo repository è disponibile tramite https, puoi utilizzare questo comando per diramare...

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"
svn cp /trunk/ /branch/NEW_Branch

Se sono presenti modifiche locali nel trunk, utilizzare Rsync per sincronizzare le modifiche

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch

Normalmente lo copieresti in svn+ssh://host.example.com/repos/project/branches/mybranch in modo da poter mantenere diversi rami nel repository, ma la tua sintassi è valida.

Ecco qualche consiglio in merito come impostare il layout del repository.

Supponiamo di voler creare un ramo da un nome trunk (come "test") quindi usa:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST

Se hai intenzione di unire la tua filiale, ti consiglio vivamente di guardare questo:

Svnmerge.py

Ho sentito che Subversion 1.5 crea più funzionalità di tracciamento dell'unione, non ho esperienza in merito.Il mio progetto è su 1.4.x e svnmerge.py è un salvavita!

Il miglior consiglio per i nuovi utenti SVN;questo può aiutare un po' a ottenere rapidamente gli URL corretti.

Correre svn info per visualizzare informazioni utili sulla filiale attualmente in check-out.

L'URL dovrebbe (se esegui svn nella cartella principale) fornirti l'URL da cui devi copiare.

Anche per passare al ramo appena creato, utilizzare il file svn switch comando:

svn switch http://my.repo.url/myrepo/branches/newBranchName
  • Crea una nuova cartella al di fuori del tuo progetto attuale.Puoi dargli qualsiasi nome.(Esempio:Hai un checkout per un progetto denominato "Personalizzazione".E ha molti progetti, come "Progetto1", "Progetto2"....E tu vuoi creare un ramo di "Progetto1".Quindi prima apri "Personalizzazione", fai clic con il tasto destro e crea una nuova cartella e dagli un nome, "Progetto1Branch").
  • Fare clic con il tasto destro su "Myproject1"....TortoiseSVN -> Ramo/Tag.
  • Scegli copia di lavoro.
  • Apri il browser....Appena a destra del parallelo su "A URL".
  • Seleziona personalizzazione... fai clic con il pulsante destro del mouse, quindi su Aggiungi cartella.e passa attraverso la cartella che hai creato.Eccolo "Project1Branch".Ora fai clic sul pulsante OK per aggiungere.
  • Fai il checkout di questa nuova banca.
  • Ancora una volta vai al tuo progetto quale ramo vuoi creare.Fare clic con il tasto destro del mouse su TorotoiseSVN -> ramo/tag.Quindi seleziona la copia di lavoro.E puoi fornire l'URL come nome del tuo ramo.come {il tuo indirizzo IP/svn/AAAA/Customization/Project1Branch}.E puoi impostare il nome nell'URL in modo che crei la cartella solo con questo nome.Ad esempio {Il tuo indirizzo IP/svn/AAAA/Customization/Project1Branch/MyProject1Branch}.
  • Premere il pulsante OK.Ora puoi vedere i log in...la tua copia di lavoro verrà archiviata nel tuo ramo.
  • Ora puoi dare un'occhiata... e goderti il ​​tuo lavoro.:)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top