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

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:prog:svn [2009/07/18 11:44] niccolodoc:appunti:prog:svn [2019/10/12 15:21] – [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>
Line 115: Line 143:
  
 <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.txt · Last modified: 2019/10/12 15:22 by niccolo