<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>HowTo/TrabajarConUnProyectoSVN</title><revhistory><revision><revnumber>2</revnumber><date>2010-08-21 08:24:51</date><authorinitials>TiN</authorinitials></revision></revhistory></articleinfo><section><title>Trabajar con un proyecto SVN ya creado</title><para>Para comenzar a trabajar se debe generar lo que se conoce como &quot;working copy&quot;, que es una copia local del proyecto en la cual se va a trabajar. </para><screen><![CDATA[$svn co svn+ssh://{USUARIO}@twiki.frc.utn.edu.ar/home/ciiiRepositorios/nuevo_proyecto/trunk mi_working_copy ]]></screen><para>La secuencia normal de trabajo en un proyecto en SVN puede ser la siguiente: </para><itemizedlist><listitem><para>&lt;p&gt;Actualizar la working copy, esto asegura que si alguine más generó cambios en el proyecto, esos cambios se impacten en la wc &lt;/p&gt;</para><screen><![CDATA[$svn update]]></screen><para>&lt;p&gt; &lt;/p&gt; </para></listitem><listitem><para>&lt;p&gt;Hacer cambios, agregar o borrar archivos, copiarlos, moverlosde lugar, etc. Observar que si se agrega un nuevo archivo en la wc, este no se agrega automaticamente al poryecto,sino que se debe decir explicitamente a SVN que lo agregue con&lt;/p&gt;</para><screen><![CDATA[$svn add src/nueva_clase.cxx h/nueva_clase.h]]></screen><para>&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt; Igualmente con delete, copy y move</para><screen><![CDATA[$svn delete  
$svn copy  
$svn move ]]></screen></listitem><listitem><para>Verificar los cambios realizados antes de impactarlos en el servidor &lt;p&gt; &lt;/p&gt;</para><screen><![CDATA[$svn status
$svn diff]]></screen></listitem><listitem><para>&lt;p&gt;Mezclar los cambios de otros (ver manual)&lt;/p&gt;</para><screen><![CDATA[$svn merge
$svn resolved]]></screen><para>&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt; </para></listitem><listitem><para>&lt;p&gt;Impactar los cambios, se debe poner siempre un mensaje que se asocia a la revisión que se está creando, si no se lo pasa con -m en la linea de comandos el svn abrirá automaticamente un editor pidiendo que se escriba un mensaje &lt;/p&gt;</para><screen><![CDATA[$svn ci -m "Cambios mas relevantes"]]></screen><para>&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt; </para></listitem></itemizedlist><para>Todos los comandos tienen una ayuda dentro de svn a la que se puede acceder haciendo por ej. </para><screen><![CDATA[$svn help commit ]]></screen><para>Para mayor información consultar el libro de SVN <ulink url="http://svnbook.red-bean.com/"/> </para><section><title>Agregado de Claves de Validación Públicas y Privadas:</title><para>Esto evita tener que ingresar la contraseña de autenticación cada vez que se lleva a cabo una operación contra el repositorio, a cambio de introducir una passphrase única por cada sesión de bash.  </para><para>Crear la clave (para lo cuál se pide introducir una passphrase que permite espacios, caracteres raros, etc) &lt;verbatim style=&quot;margin-bottom: 0cm&quot;&gt;$ssh-keygen -t dsa }}} </para><para>Copiar la clave pública al servidor &lt;verbatim style=&quot;margin-bottom: 0cm&quot;&gt;$ssh-copy-id {USUARIO}@twiki.frc.utn.edu.ar </para><para>}}} </para><para>&lt;strike&gt;  </para><para>Crear el directorio .ssh en el home del servidor y copiar la clave  &lt;verbatim style=&quot;margin-bottom: 0cm&quot;&gt;$ssh {USUARIO}@twiki.frc.utn.edu.ar mkdir .ssh  $scp ~/.ssh/id_dsa.pub {USUARIO}@twiki.frc.utn.edu.ar:.ssh/authorized_keys2  </para><para>}}}  </para><para>&lt;/strike&gt; </para></section></section></article>