<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Elton Luís Minetto &#187; svn</title>
	<atom:link href="http://eltonminetto.net/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://eltonminetto.net</link>
	<description>Site pessoal de Elton Minetto</description>
	<lastBuildDate>Mon, 14 May 2012 17:25:18 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='eltonminetto.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Elton Luís Minetto &#187; svn</title>
		<link>http://eltonminetto.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://eltonminetto.net/osd.xml" title="Elton Luís Minetto" />
	<atom:link rel='hub' href='http://eltonminetto.net/?pushpress=hub'/>
		<item>
		<title>Lock em arquivos usando SVN e Subclipse</title>
		<link>http://eltonminetto.net/2008/11/25/lock-em-arquivos-usando-svn-e-subclipse/</link>
		<comments>http://eltonminetto.net/2008/11/25/lock-em-arquivos-usando-svn-e-subclipse/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 17:09:44 +0000</pubDate>
		<dc:creator>eminetto</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[codes]]></category>
		<category><![CDATA[docs]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.eltonminetto.net/?p=329</guid>
		<description><![CDATA[Outra novidade para mim ao usar o Subversion foi o controle de Locks.  Eu sempre usei o CVS integrado ao Eclipse para gerenciar os projetos que eu trabalhava e com essa duplinha é bem fácil configurar para evitar que dois programadores alterem o mesmo arquivo. Com o Subversion e o Eclipse (usando o plugin Subclipse) eu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eltonminetto.net&#038;blog=18808326&#038;post=329&#038;subd=eltonminetto&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Outra novidade para mim ao usar o Subversion foi o controle de Locks. </p>
<p>Eu sempre usei o CVS integrado ao Eclipse para gerenciar os projetos que eu trabalhava e com essa duplinha é bem fácil configurar para evitar que dois programadores alterem o mesmo arquivo.</p>
<p>Com o Subversion e o Eclipse (usando o plugin Subclipse) eu não encontrei essa opção. A solução que encontrei foi configurar o cliente do subversion para quando criar novos arquivos marcá-los com um flag. Este flag indica que, para editar o arquivo é preciso que seja feito o &#8220;lock&#8221; antes. No momento de criar o lock o Subclipse também verifica a versão do arquivo e avisa caso a versão local seja inferior a que consta no repositório. Desta forma eu garanto que o programador sempre tenha a última versão do arquivo e evito que duas pessoas alterem o mesmo arquivo ao mesmo tempo. Existem formas de corrigir isso usando práticas de merge, mas eu acho mais fácil evitar o problema do que resolvê-lo <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>O que eu fiz foi alterar o arquivo config no diretório do usuário:</p>
<pre>mate ~/.subversion/config</pre>
<p>Eu estou usando o Textmate no MacOSX. Mas o mesmo passo vai funcionar no Linux. No Windows XP o arquivo encontra-se no diretório</p>
<pre>c:\Documents and Settings\usuario\Dados de Aplicativos\Subversion\config</pre>
<p>Neste arquivo eu alterei </p>
<pre># enable-auto-props = yes</pre>
<p>para</p>
<pre>enable-auto-props = yes</pre>
<p>E adicionei alinha abaixo na seção  [auto-props]</p>
<pre>* = svn:needs-lock</pre>
<p>Desta forma, assim que o programador criar um novo arquivo e realizar o primeiro commit é adicionada esta flag ao arquivo. Todos que forem alterá-lo vão passar pela fase &#8220;lock-edit-commit&#8221;, com um &#8220;update&#8221; caso seja necessário.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eltonminetto.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eltonminetto.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eltonminetto.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eltonminetto.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eltonminetto.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eltonminetto.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eltonminetto.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eltonminetto.wordpress.com/329/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eltonminetto.net&#038;blog=18808326&#038;post=329&#038;subd=eltonminetto&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eltonminetto.net/2008/11/25/lock-em-arquivos-usando-svn-e-subclipse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0227f6274b8a6cce078d7f8a91460c41?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eminetto</media:title>
		</media:content>
	</item>
		<item>
		<title></title>
		<link>http://eltonminetto.net/2008/11/25/deploy-automatico-do-svn-para-o-htdocs/</link>
		<comments>http://eltonminetto.net/2008/11/25/deploy-automatico-do-svn-para-o-htdocs/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 16:17:25 +0000</pubDate>
		<dc:creator>eminetto</dc:creator>
				<category><![CDATA[docs]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.eltonminetto.net/?p=325</guid>
		<description><![CDATA[Estou iniciando um novo projeto e aproveitei para mudar do CVS para o Subversion.  Uma das coisas que achei interessante é o esquema de &#8220;hooks&#8220;. É um conceito parecido com &#8220;triggers&#8221; de bancos de dados. Você pode programar alguns scripts para serem executados em momentos específicos do ciclo gerenciado pelo SVN. As opções são: post-commit.tmpl [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eltonminetto.net&#038;blog=18808326&#038;post=325&#038;subd=eltonminetto&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Estou iniciando um novo projeto e aproveitei para mudar do CVS para o Subversion. </p>
<p>Uma das coisas que achei interessante é o esquema de &#8220;<em>hooks</em>&#8220;. É um conceito parecido com &#8220;<em>triggers</em>&#8221; de bancos de dados. Você pode programar alguns scripts para serem executados em momentos específicos do ciclo gerenciado pelo SVN. As opções são:</p>
<pre>post-commit.tmpl</pre>
<pre>post-lock.tmpl</pre>
<pre>post-revprop-change.tmpl</pre>
<pre>post-unlock.tmpl</pre>
<pre>pre-commit.tmpl</pre>
<pre>pre-lock.tmpl</pre>
<pre>pre-revprop-change.tmpl</pre>
<pre>pre-unlock.tmpl</pre>
<pre>start-commit.tmpl</pre>
<p>Os nomes são auto-explicativos. Por exemplo, o script post-lock vai ser executado sempre após algum usuário ter feito o lock de um arquivo.</p>
<p>Estes arquivos estão armazenados no diretório <em>hooks </em>do repositório do projeto.</p>
<p>O que eu fiz foi alterar o post-commit.tmpl</p>
<p>É preciso remover a extensão do nome e dar permissão de execução no arquivo, então:</p>
<pre>cp post-commit.tmpl post-commit</pre>
<pre>chmod +x post-commit</pre>
<p>O conteúdo do arquivo ficou assim:</p>
<pre><span style="font-family:'Lucida Grande';line-height:19px;white-space:normal;"><span style="font-family:'Courier New';line-height:18px;white-space:pre;">REPOS="$1"</span></span></pre>
<pre>REV="$2"</pre>
<pre>PROD="/var/www/html"</pre>
<pre>#pega todas as alteracoes</pre>
<pre>svnlook changed $REPOS --revision $REV &gt;&gt; /tmp/lixo_$REV</pre>
<pre>#pega cada alteracao e salva</pre>
<pre>for i in `cat /tmp/lixo_$REV|cut -c 5-1024` ; do</pre>
<pre>  svnlook cat $REPOS $i &gt; $PROD/$i</pre>
<pre>done</pre>
<pre>#apagar arquivo</pre>
<pre>rm /tmp/lixo_$REV</pre>
<div>Desta forma cada vez que um programador faz o commit do fonte ele é automaticamente salvo no htdocs, onde fica acessível para a equipe de testes. </div>
<div>Lógico que esse script pode ser melhorado e isso está sendo executado em um servidor de desenvolvimento e não o de produção. Além disso eu comecei a usar o SVN somente agora, por isso, se alguém encontrar um problema ou erro na lógica me avisem <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eltonminetto.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eltonminetto.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eltonminetto.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eltonminetto.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eltonminetto.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eltonminetto.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eltonminetto.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eltonminetto.wordpress.com/325/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eltonminetto.net&#038;blog=18808326&#038;post=325&#038;subd=eltonminetto&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eltonminetto.net/2008/11/25/deploy-automatico-do-svn-para-o-htdocs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0227f6274b8a6cce078d7f8a91460c41?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eminetto</media:title>
		</media:content>
	</item>
	</channel>
</rss>
