User Tools

Site Tools


doc:appunti:prog:svn

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:appunti:prog:svn [2009/02/16 18:36] – external edit 127.0.0.1doc:appunti:prog:svn [2019/10/12 15:22] (current) – [SourceForge.net] niccolo
Line 23: Line 23:
 In ogni directory prelevata tramite il comando **''checkout''** è presente anche una directory di nome **''.svn''** che contiene informazioni utilizzate da SVN per gestire la sincronizzazione della propria //working copy// con il repository. Se non vogliamo una //working copy// ma una semplice copia della directory è opportuno usare il comando **''export''** invece di **''checkout''**. In ogni directory prelevata tramite il comando **''checkout''** è presente anche una directory di nome **''.svn''** che contiene informazioni utilizzate da SVN per gestire la sincronizzazione della propria //working copy// con il repository. Se non vogliamo una //working copy// ma una semplice copia della directory è opportuno usare il comando **''export''** invece di **''checkout''**.
  
 +Per recuperare una **specifica revisione**:
 +
 +<code>
 +svn --revision 13266 checkout https://svn.osgeo.org/qgis/trunk/qgis qgis-svn13266
 +</code>
 +
 +
 +===== SourceForge.net =====
 +
 +Questa è la sintassi per prelevare con un **checkout anonimo** tutto il codice di un progetto dal sito SourceForge.net. Ad esempio usiamo il progetto **[[https://sourceforge.net/projects/mtkbabel/]]**:
 +
 +<code>
 +svn checkout svn://svn.code.sf.net/p/mtkbabel/code
 +</code>
 +
 +Nella directory corrente viene creata la directory **code** con tutta la gerarchia. Avendo fatto un **checkout anonimo** in generale non è possibile fare dei commit o modifiche al repository. Per fare un **checkout autenticato** si usa la sintassi:
 +
 +<code>
 +svn checkout svn+ssh://niccolo@svn.code.sf.net/p/mtkbabel/code
 +</code>
 +
 +Dopo aver modificato il codice si può eseguire il **commit**:
 +
 +<code>
 +svn commit -m "Workaround for that very strange bug."
 +</code>
 +
 +Se si è **caricata la propria chiave SSH** sul server di SourceForge (//Me//, //Account Settings//, //SSH Settings//), non viene richiesta la password.
 ===== Logical directories ===== ===== Logical directories =====
  
Line 106: Line 134:
 svn copy \ svn copy \
     svn+ssh://niccolo@svn.projects.openmoko.org/svnroot/pyppp/trunk \     svn+ssh://niccolo@svn.projects.openmoko.org/svnroot/pyppp/trunk \
-    svn+ssh://niccolo@svn.projects.openmoko.org/svnroot/pyppp/tags/pyppp-0.1 \+    svn+ssh://niccolo@svn.projects.openmoko.org/svnroot/pyppp/tags/0.1 \
     -m "Tagging the first public release."     -m "Tagging the first public release."
 </code> </code>
 +
 +Dopo aver creato un tag (nuova directory) sul repository, in genere si deve aggiornare la working copy locale con **''svn update''**.
  
 Se invece si lavora sulla working copy locale: Se invece si lavora sulla working copy locale:
  
 <code> <code>
-svn copy trunk tags/pyppp-0.2+svn copy trunk tags/0.2
 svn commit -m "Tagged release 0.2." svn commit -m "Tagged release 0.2."
 </code> </code>
  
 +La prassi comune prevede di **usare il numero di versione** come nome della directory **tag** o **branch**, questo è il modo preferibile per SourceForge. Una alternativa è usare lo schema ''nomeprogetto-versione''.
 ====== Replica (mirror) di un repository ====== ====== Replica (mirror) di un repository ======
  
doc/appunti/prog/svn.1234805785.txt.gz · Last modified: 2009/07/18 11:44 (external edit)