<?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/"
	>

<channel>
	<title>Agile on Rails &#187; subversion</title>
	<atom:link href="http://blog.siverti.com.br/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.siverti.com.br</link>
	<description>Liberte-se, Comunique-se, Desenvolva-se</description>
	<lastBuildDate>Tue, 11 May 2010 13:12:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Subversion no Gedit</title>
		<link>http://blog.siverti.com.br/2007/12/17/subversion-no-gedit/</link>
		<comments>http://blog.siverti.com.br/2007/12/17/subversion-no-gedit/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 15:25:13 +0000</pubDate>
		<dc:creator>alexandre</dc:creator>
				<category><![CDATA[Gedit]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[controle de versão]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://blog.siverti.com.br/2007/12/17/subversion-no-gedit/</guid>
		<description><![CDATA[Quem nunca quis utilizar o subversion ou o cvs diretamente do editor gedit? Acredito que muitas pessoas já procuraram por algum plugin que fizesse isto. Mas a solução pode ser mais simples do que encontrar um plugin novo, e nem é preciso criar um plugin novo, basta utilizar um existente que já vem no pacote [...]]]></description>
			<content:encoded><![CDATA[<p>Quem nunca quis utilizar o subversion ou o cvs diretamente do editor gedit?</p>
<p>Acredito que muitas pessoas já procuraram por algum plugin que fizesse isto. Mas a solução pode ser mais simples do que encontrar um plugin novo, e nem é preciso criar um plugin novo, basta utilizar um existente que já vem no pacote oficial de plugins do Gedit, eu falo do External Tools (Ferramentas Externas em português), este plugin simplifica a utilização de comandos do shell a serem executados dentro do Gedit, criando para cada comando adicionado, uma entrada  no menu Tools(Ferramentas). Para facilitar as coisas é possível pegar o path do arquivo atual do Gedit e a pasta de trabalho para trabalhar com elas pois estas informações encontram-se em variáveis do sistema.</p>
<p>Vamos por a mão na massa então:</p>
<p>Como eu uso uma distribuição &#8220;Debian Based&#8221;, vou abordar a instalação com este tipo de sistema.</p>
<p>O primeiro passo seria instalar o pacote de plugins oficial do gedit, que pode ser obtido através do comando:</p>
<p><code>$ sudo apt-get install gedit-plugins<br />
</code></p>
<p>instalado podemos ativar o plugin external-tools</p>
<p><a href="http://blog.siverti.com.br/wp-content/uploads/2007/12/external-tools.jpg" title="Activate external tools"><img src="http://blog.siverti.com.br/wp-content/uploads/2007/12/external-tools.jpg" alt="Activate external tools" /></a></p>
<p>Clicando no botão &#8220;Configure Plugin&#8221;, podemos acessar a tela de adição e edição de comandos externos.</p>
<p><a href="http://blog.siverti.com.br/wp-content/uploads/2007/12/extern-tools-man-cut.jpg" title="External tools config screen"><img src="http://blog.siverti.com.br/wp-content/uploads/2007/12/extern-tools-man-cut.jpg" alt="External tools config screen" /></a></p>
<p>Eu criei alguns que eu achei úteis para o subversion:</p>
<p><i><b>Add &#8211; Adicionar arquivo ao controle de versão:</b></i><b>Configurações</b><br />
Input: Nada<br />
Output: Painel Inferior<br />
Applicability : Todos os documentos exceto não salvos<i>Código:</i></p>
<p><i>Código:</i></p>
<pre>
#!/bin/sh
echo "Executing svn add......"
svn add $GEDIT_CURRENT_DOCUMENT_PATH
echo "svn add has been executed."</pre>
<p><b><i>Commit &#8211; Enviar Arquivos para o controle de versão</i></b></p>
<p><b>Configurações</b><br />
Input: Nada<br />
Output: Painel Inferior<br />
Applicability : Arquivos Locais apenas</p>
<p><i>Código:</i></p>
<pre>
#!/bin/sh
echo "Executing svn commit......"
MESSAGE=`zenity --width 520 --entry
--title="SVN - COMMIT" --text="Enter a comment"`
svn commit $GEDIT_CURRENT_DOCUMENT_DIR -m $MESSAGE
echo "svn commit has been executed with message '$MESSAGE'."</pre>
<p><i><b>Revert &#8211; Desfazer alterações locais no arquivo restaurando o original</b></i></p>
<p><b>Configurações</b><br />
Input: Nada<br />
Output: Painel Inferior<br />
Applicability : Arquivos locais apenas</p>
<p><i>Código:</i></p>
<pre>
#!/bin/sh
echo "Executing svn revert......"
zenity --question --text="This operation cannot be undo. do
you realy want to continue?"
if [ $? != 1 ]; then
    svn revert $GEDIT_CURRENT_DOCUMENT_PATH
    echo "svn revert has been executed."
else
    echo "svn revert not executed"
fi</pre>
<p><i><b>Status &#8211; Exibe o status dos arquivos versionados</b></i></p>
<p><b>Configurações</b><br />
Input: Nada<br />
Output: Painel Inferior<br />
Applicability : Todos os documentos</p>
<p><i>Código:</i></p>
<pre>
#!/bin/sh
echo "Executing svn status......"
svn status $GEDIT_CURRENT_DOCUMENT_DIR</pre>
<p>Todos os comandos foram escritos em script shell e podem ser melhorados,<br />
além de poder criar novos adequando para a sua necessidade. alguns deles utilizam o <a href="http://freshmeat.net/projects/zenity" title="Zenity">zenity</a> para exibir caixas de dialogo com o usuário, no meu sistema (ubuntu 7.10 Gutsy) já veio instalado,caso o seu sistema não possua tente instalar via apt-get ou visite o <a href="http://freshmeat.net/projects/zenity" title="Zenity">site</a> do projeto.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.siverti.com.br/2007/12/17/subversion-no-gedit/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
