<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Don Quicong&#039;s lair &#187; subversion</title>
	<atom:link href="http://blog.donquicong.com/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.donquicong.com</link>
	<description></description>
	<lastBuildDate>Mon, 26 Sep 2011 14:56:47 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/</creativeCommons:license>
		<item>
		<title>Actualizando un rails congelado bajo subversion</title>
		<link>http://blog.donquicong.com/98/actualizando-un-rails-congelado-bajo-subversion/</link>
		<comments>http://blog.donquicong.com/98/actualizando-un-rails-congelado-bajo-subversion/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 13:17:04 +0000</pubDate>
		<dc:creator>Quico</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[frozen]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://blog.donquicong.es/?p=98</guid>
		<description><![CDATA[Últimamente estoy actualizando algunos proyectos que tienen rails congelado bajo el directorio vendor -que es lo habitual cuando tienes varios proyectos en una máquina y no quieres estar pendiente de actualizar la aplicación cada vez que rails se actualiza en la máquina-, y lo primero que estoy haciendo es actualizar la versión de rails. A [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Últimamente estoy actualizando algunos proyectos que tienen <a title="Freezing rails" href="http://support.tigertech.net/freeze-rails" target="_blank">rails congelado</a> bajo el directorio vendor -que es lo habitual cuando tienes varios proyectos en una máquina y no quieres estar pendiente de actualizar la aplicación cada vez que rails se actualiza en la máquina-, y lo primero que estoy haciendo es actualizar la versión de rails.</p>
<p style="text-align: justify;">A primera vista, la actualización parece algo trivial:</p>
<pre class="brush: bash; title: ; notranslate">
rake rails:freeze:gems
rake rails:update
</pre>
<p style="text-align: justify;">Pero cuando tienes el proyecto bajo subversion, en seguida te das cuenta del error: la tarea de rake lo primero que hace es</p>
<pre class="brush: bash; title: ; notranslate">
rm -rf vendor/rails
mkdir -p vendor/rails
</pre>
<p style="text-align: justify;">con lo que se ha cargado el directorio .svn con toda la información que subversion almacena allí. En cuanto intentas hacer algo con subversion, te encuentras con problemas:</p>
<pre class="brush: bash; title: ; notranslate">
$ svn st
~       rails
$ svn add rails/
svn: warning: 'rails' is already under version control
$ svn commit rails/
svn: '/home/frsantos/project/vendor/rails' is not a working copy
$ svn del rails/
svn: Directory 'rails/.svn' containing working copy admin area is missing
</pre>
<p style="text-align: justify;">con lo que te toca volver a la versión anterior y volver a empezar:</p>
<pre class="brush: bash; title: ; notranslate">
rm -rv vendor/rails/
svn up vendor
</pre>
<p style="text-align: justify;">Lo sencillo en este caso es hacer <em>svn delete</em>, <em>svn commit</em> y hacer el freeze de nuevo, pero con esto estamos introduciendo una versión en el repositorio que no es consistente. Para la gente, como yo, a los que les gusta hacer un <em>commit</em> atómico con todos los ficheros que se han modificado para una funcionalidad, he preparado un script de shell que actualiza el directorio rails con los cambios de la última versión rails.</p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://blog.donquicong.com/wp-content/plugins/downloads-manager/img/icons/shell.png" alt="http://blog.donquicong.com/wp-content/plugins/downloads-manager/img/icons/shell.png"/>
    </td>
    <td>
      <b>download:</b> <a href="http://blog.donquicong.com/?file_id=1">upgrade_rails_in_svn.sh</a> <small>(1.79KB)</small><br />
      <b>added:</b> 15/03/2010 <br />
      <b>clicks:</b> 222 <br />
      <b>description:</b> Actualiza una instalación de rails congelada cuando está controlada por subversion <br />
    </td>
  </tr>
</table>
</p>
<p style="text-align: justify;">Además, tiene el extra añadido de que crea un changelist con todos los ficheros modificados en ese directorio, por lo que si usas un entorno gráfico como <a title="Ruby on Rails IDE RubyMine" href="http://www.jetbrains.com/ruby/" target="_blank">RubyMine</a>, te saldrá automáticamente en la pestaña de <em>Changes</em> el <em>changelist</em> con el nombre apropiado con todos los ficheros modificados (si usas este entorno, un consejo: crea un <em>changelist</em> y márcalo como el <em>changelist</em> por defecto. Cuando acabe el proceso, todos los ficheros modificados que no se hayan marcado con un <em>changelist</em> en subversion irán automáticamente a ese sitio).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donquicong.com/98/actualizando-un-rails-congelado-bajo-subversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/</creativeCommons:license>
	</item>
	</channel>
</rss>

