<?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>Renato M Miyasaki &#187; programação</title>
	<atom:link href="http://blog.renatom.com.br/category/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.renatom.com.br</link>
	<description>Como fazer, links de Gestão de TI e programação.</description>
	<lastBuildDate>Thu, 01 Jul 2010 14:21:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cluster com Terracotta</title>
		<link>http://blog.renatom.com.br/2010/07/01/cluster-com-terracotta/</link>
		<comments>http://blog.renatom.com.br/2010/07/01/cluster-com-terracotta/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 14:21:01 +0000</pubDate>
		<dc:creator>Renato Miyasaki</dc:creator>
				<category><![CDATA[Infra]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[terracotta]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.renatom.com.br/?p=139</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Pesquisando sobre clusterização, acabei encontrando o TerraCotta (<a href="http://www.terracotta.org/">http://www.terracotta.org/</a>)</p>
<p>Para executá-lo no modo mais simples, sem fazer uma configuração mais fina, bastou instalá-lo no servidor (terracotta-3.2.1_2-installer.jar) e colocá-lo para funcionar.</p>
<p>Configurei um arquivo (tc-config.xml) e coloquei junto com o start-tc-server.bat &#8211; na pasta bin.</p>
<p>C:\Arquivos de programas\terracotta\terracotta-3.2.1_2\bin&gt;start-tc-server.bat -n Server1</p>
<p>O meu arquivo de configuração:<br />
<code><br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;!-- All content copyright Terracotta, Inc., unless otherwise indicated.      All rights reserved. --&gt;<br />
&lt;tc:tc-config xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-5.xsd"<br />
xmlns:tc="http://www.terracotta.org/config"<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;</code></p>
<p>&lt;servers&gt;<br />
&lt;!&#8211; Sets where the Terracotta server can be found. Replace the value of          host with the server&#8217;s IP address. &#8211;&gt;<br />
&lt;server host=&#8221;10.2.0.101&#8243; name=&#8221;Server1&#8243;&gt;<br />
&lt;data&gt;%(user.home)/terracotta/server-data&lt;/data&gt;<br />
&lt;logs&gt;%(user.home)/terracotta/server-logs&lt;/logs&gt;<br />
&lt;/server&gt;</p>
<p>&lt;!&#8211; If using more than one server, add an &lt;ha&gt; section. &#8211;&gt;<br />
&lt;ha&gt;<br />
&lt;mode&gt;networked-active-passive&lt;/mode&gt;<br />
&lt;networked-active-passive&gt;<br />
&lt;election-time&gt;5&lt;/election-time&gt;<br />
&lt;/networked-active-passive&gt;<br />
&lt;/ha&gt;<br />
&lt;/servers&gt;<br />
&lt;!&#8211; Sets where the generated client logs are saved on clients. &#8211;&gt;<br />
&lt;clients&gt;<br />
&lt;logs&gt;%(user.home)/terracotta/client-logs&lt;/logs&gt;<br />
&lt;/clients&gt;<br />
&lt;/tc:tc-config&gt;</p>
<p>E nas aplicações, eu coloquei no context.xml (no META-INF) ou diretamente na pasta conf do Tomcat:<br />
<code><br />
&lt;Context&gt;<br />
&lt;Valve className="org.terracotta.session.TerracottaTomcat60xSessionValve" tcConfigUrl="10.2.0.101:9510"/&gt;<br />
&lt;param-value&gt;10.2.0.101:9510&lt;/param-value&gt;<br />
&lt;/Context&gt;<br />
</code></p>
<p>Pronto, acione o Developer Console e veja os clientes de seu cluster.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.renatom.com.br/2010/07/01/cluster-com-terracotta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSF + Facelets + ICEfaces</title>
		<link>http://blog.renatom.com.br/2010/07/01/jsf-facelets-icefaces/</link>
		<comments>http://blog.renatom.com.br/2010/07/01/jsf-facelets-icefaces/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 14:08:56 +0000</pubDate>
		<dc:creator>Renato Miyasaki</dc:creator>
				<category><![CDATA[programação]]></category>
		<category><![CDATA[Facelets]]></category>
		<category><![CDATA[ICEfaces]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[MyFaces]]></category>

		<guid isPermaLink="false">http://blog.renatom.com.br/?p=135</guid>
		<description><![CDATA[Tive alguns problemas para conseguir incluir o ICEfaces (1.8.1) na minha aplicação JSF 1.2 (com MyFaces) + Facelets + Hibernate.
1o passo: incluir os jars necessários
Como já estava utilizando o MyFaces, utilizei o jar just-ice.jar ao invés do icefaces.jar.
backport-util-concurrent.jar
commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-fileupload.jar
commons-logging.jar
FastInfoset.jar
icefaces-comps.jar
just-ice.jar
jxl.jar
krysalis-jCharts-1.0.0-alpha-1.jar
xercesImpl.jar
xml-apis.jar
E para utilizar o facelets também no icefaces:
icefaces-facelets.jar
2o passo: configurar web.xml
O Eclipse adicionou essa parte para mim:
&#60;context-param&#62;
&#60;description&#62;To allow [...]]]></description>
			<content:encoded><![CDATA[<p>Tive alguns problemas para conseguir incluir o ICEfaces (1.8.1) na minha aplicação JSF 1.2 (com MyFaces) + Facelets + Hibernate.</p>
<p>1o passo: incluir os jars necessários<br />
Como já estava utilizando o MyFaces, utilizei o jar just-ice.jar ao invés do icefaces.jar.<br />
backport-util-concurrent.jar<br />
commons-beanutils.jar<br />
commons-collections.jar<br />
commons-digester.jar<br />
commons-fileupload.jar<br />
commons-logging.jar<br />
FastInfoset.jar<br />
icefaces-comps.jar<br />
just-ice.jar<br />
jxl.jar<br />
krysalis-jCharts-1.0.0-alpha-1.jar<br />
xercesImpl.jar<br />
xml-apis.jar</p>
<p>E para utilizar o facelets também no icefaces:<br />
icefaces-facelets.jar</p>
<p>2o passo: configurar web.xml</p>
<p>O Eclipse adicionou essa parte para mim:</p>
<p>&lt;context-param&gt;<br />
&lt;description&gt;To allow multiple windows for a single application.&lt;/description&gt;<br />
&lt;param-name&gt;com.icesoft.faces.concurrentDOMViews&lt;/param-name&gt;<br />
&lt;param-value&gt;true&lt;/param-value&gt;<br />
&lt;/context-param&gt;<br />
&lt;context-param&gt;<br />
&lt;description&gt;Turn on/off application-wide synchronous or asynchronous updates.    &lt;/description&gt;<br />
&lt;param-name&gt;com.icesoft.faces.synchronousUpdate&lt;/param-name&gt;<br />
&lt;param-value&gt;false&lt;/param-value&gt;<br />
&lt;/context-param&gt;<br />
&lt;context-param&gt;<br />
&lt;description&gt;Google Maps API key is required if gMap component is used. Sign up for an API key from http://code.google.com/apis/maps/signup.html&lt;/description&gt;<br />
&lt;param-name&gt;com.icesoft.faces.gmapKey&lt;/param-name&gt;<br />
&lt;param-value&gt;ABQIAAAADlu0ZiSTam64EKaCQr9eTRTOTuQNzJNXRlYRLknj4cQ89tFfpxTEqxQnVWL4k55OPICgF5_SOZE06A&lt;/param-value&gt;<br />
&lt;/context-param&gt;<br />
&lt;context-param&gt;<br />
&lt;param-name&gt;com.icesoft.faces.uploadDirectory&lt;/param-name&gt;<br />
&lt;param-value&gt;upload&lt;/param-value&gt;<br />
&lt;/context-param&gt;<br />
&lt;context-param&gt;<br />
&lt;param-name&gt;com.icesoft.faces.uploadMaxFileSize&lt;/param-name&gt;<br />
&lt;param-value&gt;404857600&lt;/param-value&gt;<br />
&lt;/context-param&gt;</p>
<p>&lt;listener&gt;<br />
&lt;listener-class&gt;com.icesoft.faces.util.event.servlet.ContextEventRepeater&lt;/listener-class&gt;<br />
&lt;/listener&gt;</p>
<p>&lt;servlet&gt;<br />
&lt;servlet-name&gt;Persistent Faces Servlet&lt;/servlet-name&gt;<br />
&lt;servlet-class&gt;com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet&lt;/servlet-class&gt;<br />
&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />
&lt;/servlet&gt;<br />
&lt;servlet&gt;<br />
&lt;servlet-name&gt;Blocking Servlet&lt;/servlet-name&gt;<br />
&lt;servlet-class&gt;com.icesoft.faces.webapp.xmlhttp.BlockingServlet&lt;/servlet-class&gt;<br />
&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />
&lt;/servlet&gt;<br />
&lt;servlet&gt;<br />
&lt;servlet-name&gt;uploadServlet&lt;/servlet-name&gt;<br />
&lt;servlet-class&gt;com.icesoft.faces.component.inputfile.FileUploadServlet&lt;/servlet-class&gt;<br />
&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />
&lt;/servlet&gt;</p>
<p>&lt;servlet-mapping&gt;<br />
&lt;servlet-name&gt;Persistent Faces Servlet&lt;/servlet-name&gt;<br />
&lt;url-pattern&gt;*.iface&lt;/url-pattern&gt;<br />
&lt;/servlet-mapping&gt;<br />
&lt;servlet-mapping&gt;<br />
&lt;servlet-name&gt;Persistent Faces Servlet&lt;/servlet-name&gt;<br />
&lt;url-pattern&gt;/xmlhttp/*&lt;/url-pattern&gt;<br />
&lt;/servlet-mapping&gt;<br />
&lt;servlet-mapping&gt;<br />
&lt;servlet-name&gt;Blocking Servlet&lt;/servlet-name&gt;<br />
&lt;url-pattern&gt;/block/*&lt;/url-pattern&gt;<br />
&lt;/servlet-mapping&gt;<br />
&lt;servlet-mapping&gt;<br />
&lt;servlet-name&gt;uploadServlet&lt;/servlet-name&gt;<br />
&lt;url-pattern&gt;/uploadHtml&lt;/url-pattern&gt;<br />
&lt;/servlet-mapping&gt;</p>
<p>E essa parte, eu adicionei para que em algumas páginas eu utilizasse o icefaces e em sem.</p>
<p>&lt;context-param&gt;<br />
&lt;description&gt;<br />
The following parameter will cause the ICEfaces ViewHandler<br />
to process only those pages with a .iface extension:<br />
&lt;/description&gt;<br />
&lt;param-name&gt;com.icesoft.faces.delegateNonIface&lt;/param-name&gt;<br />
&lt;param-value&gt;true&lt;/param-value&gt;<br />
&lt;/context-param&gt;</p>
<p>3o passo: configurar faces-config.xml<br />
Tive que basicamente mudar as navegações, onde estava pagina.xhtml, mudei para pagina.iface</p>
<p>4o passo:<br />
Testar</p>
<p>Regras:<br />
Nas expressões, se o icefaces estende o html ou o tomahawk, tive que utilizar a implementação do icefaces. Exemplo: onde era  mudei para . Podem até coexistir, porém não funcionará corretamente.</p>
<p>Algumas referências:<br />
Icefaces + Tomahawk &#8211;  Status of ICEfaces Support for MyFaces Tomahawk Components<br />
http://support.icesoft.com/jive/servlet/KbServlet/download/731-102-1045/ICEfacesTomahawkCompSupport.html<br />
PDF &#8211; Guia do desenvolvedor do ICEfaces (ver pasta docs do download do ICEfaces)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.renatom.com.br/2010/07/01/jsf-facelets-icefaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSF + Facelets: alterar objeto agregado em um droplist</title>
		<link>http://blog.renatom.com.br/2010/06/09/jsf-facelets-alterar-objeto-agregado-em-um-droplist/</link>
		<comments>http://blog.renatom.com.br/2010/06/09/jsf-facelets-alterar-objeto-agregado-em-um-droplist/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 19:43:15 +0000</pubDate>
		<dc:creator>Renato Miyasaki</dc:creator>
				<category><![CDATA[programação]]></category>
		<category><![CDATA[Facelets]]></category>
		<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://blog.renatom.com.br/?p=129</guid>
		<description><![CDATA[Estou fazendo uma prova de conceito com JSF + Facelets + Hibernate, e tive problemas em alterar um objeto agregado em um droplist.
Antes, eu estava somente colocando o código identificador do objeto que queria modificar, e assim ele me dava o erro &#8220;org.hibernate.HibernateException: identifier of an instance &#8230;&#8221;
O código antes era:
&#60;h:selectOneMenu id=&#8221;forn&#8221; value=&#8221;#{NotaFiscalBean.notaFiscal.fornecedor.codFornecedor}&#8221; &#62;
&#60;f:selectItems value=&#8221;#{NotaFiscalBean.fornecedores}&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Estou fazendo uma prova de conceito com JSF + Facelets + Hibernate, e tive problemas em alterar um objeto agregado em um droplist.</p>
<p>Antes, eu estava somente colocando o código identificador do objeto que queria modificar, e assim ele me dava o erro &#8220;<strong>org.hibernate.HibernateException: identifier of an instance &#8230;</strong>&#8221;</p>
<p>O código antes era:</p>
<p>&lt;h:selectOneMenu id=&#8221;forn&#8221; value=&#8221;#{NotaFiscalBean.notaFiscal.fornecedor.codFornecedor}&#8221; &gt;<br />
&lt;f:selectItems value=&#8221;#{NotaFiscalBean.fornecedores}&#8221; &gt;&lt;/f:selectItems&gt;<br />
&lt;/h:selectOneMenu&gt;</p>
<p>Onde #{Bean.notaFiscal.fornecedor.codFornecedor} é o código do objeto agregado e;<br />
#{NotaFiscalBean.fornecedores} é uma lista de objetos do tipo Map (na verdade, SelectItem) com os valores possíveis. E a chave continha o código identificador e o valor, o nome do fornecedor.</p>
<p>O novo código passou a ser:</p>
<p>&lt;h:selectOneMenu id=&#8221;forn&#8221; <strong>converter=&#8221;#{NotaFiscalBean.fornecedorConverter}</strong>&#8221;<br />
value=&#8221;<strong>#{NotaFiscalBean.notaFiscal.fornecedor}</strong>&#8221; &gt;<br />
&lt;f:selectItems value=&#8221;#{NotaFiscalBean.fornecedores}&#8221; &gt;&lt;/f:selectItems&gt;<br />
&lt;/h:selectOneMenu&gt;</p>
<p>Onde: #{NotaFiscalBean.notaFiscal.fornecedor} é o objeto agregado;<br />
#{NotaFiscalBean.fornecedores} é igual acima, exceto que na chave do mapeamento passei a utilizar os objetos;<br />
#{NotaFiscalBean.fornecedorConverter} é uma classe que implementa a interface javax.faces.convert.Converter</p>
<p>Na implementação de javax.faces.convert.Converter, você precisa implementar os métodos:<br />
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) e;<br />
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2).</p>
<p>Adicionalmente, inclui o construtor que recebe a lista dos possíveis objetos.</p>
<p>Então, a minha classe Converter ficou assim:</p>
<p><code>package com.renatom.jsf.converter;</p>
<p>import java.util.List;</p>
<p>import javax.faces.component.UIComponent;<br />
import javax.faces.context.FacesContext;<br />
import javax.faces.convert.Converter;</p>
<p>import com.renatom.jsf.model.Fornecedor;</p>
<p>public class FornecedorConverter implements Converter {</p>
<p>List &lt;Fornecedor&gt; list;</p>
<p>public FornecedorConverter(List&lt;Fornecedor&gt; fornecedores) {<br />
list = fornecedores;<br />
}</p>
<p>@Override<br />
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {<br />
if (arg2 == null || arg2.length() == 0)<br />
return null;</p>
<p>long id = Long.valueOf(arg2).longValue();<br />
if (id &lt; 0)<br />
return null;</p>
<p>Fornecedor fornRet = null;<br />
for (Fornecedor forn : list) {<br />
if (forn.getCodFornecedor() == id) {<br />
fornRet = forn;<br />
break;<br />
}<br />
}<br />
return fornRet;<br />
}</p>
<p>@Override<br />
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {<br />
if (arg2==null) return "-1";<br />
Fornecedor forn = (Fornecedor)arg2;<br />
return String.valueOf(forn.getCodFornecedor());<br />
}<br />
}</code></p>
<p>Fonte: <a href="http://seamframework.org/Community/SelectOneMenuAndJPAManyToOne">http://seamframework.org/Community/SelectOneMenuAndJPAManyToOne</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.renatom.com.br/2010/06/09/jsf-facelets-alterar-objeto-agregado-em-um-droplist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hibernate + JPA no Eclipse com Hiber Objects</title>
		<link>http://blog.renatom.com.br/2010/05/28/hibernate-jpa-no-eclipse-com-hiber-objects/</link>
		<comments>http://blog.renatom.com.br/2010/05/28/hibernate-jpa-no-eclipse-com-hiber-objects/#comments</comments>
		<pubDate>Fri, 28 May 2010 13:19:49 +0000</pubDate>
		<dc:creator>Renato Miyasaki</dc:creator>
				<category><![CDATA[programação]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://blog.renatom.com.br/?p=126</guid>
		<description><![CDATA[Hiber Objects &#8211; http://objectgeneration.com/eclipse/index.html
Plugin para eclipse que gera, através de um diagrama de classes, todo o código necessário para persistir dados de uma tabela.
Gera código Java dos POJOs, DAOs, classes de teste.
Agiliza o desenvolvimento com o Hibernate para Java.
]]></description>
			<content:encoded><![CDATA[<p>Hiber Objects &#8211; <a href="http://objectgeneration.com/eclipse/index.html">http://objectgeneration.com/eclipse/index.html</a></p>
<p>Plugin para eclipse que gera, através de um diagrama de classes, todo o código necessário para persistir dados de uma tabela.</p>
<p>Gera código Java dos POJOs, DAOs, classes de teste.</p>
<p>Agiliza o desenvolvimento com o Hibernate para Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.renatom.com.br/2010/05/28/hibernate-jpa-no-eclipse-com-hiber-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rubis</title>
		<link>http://blog.renatom.com.br/2008/09/07/rubis/</link>
		<comments>http://blog.renatom.com.br/2008/09/07/rubis/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 21:04:04 +0000</pubDate>
		<dc:creator>Renato Miyasaki</dc:creator>
				<category><![CDATA[programação]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.renatom.com.br/?p=59</guid>
		<description><![CDATA[



Ruby OnRails, ouvi isso faz uns dois anos atrás. Não tinha dado muita importância na época, mas no meio do ano passado, acabei pegando um projeto em PHP, e a equipe resolveu que iríamos utilizar o CakePHP, programei cerca de 4 meses em cima desse framework. A produtividade realmente é impressionante, muito fácil de criar [...]]]></description>
			<content:encoded><![CDATA[<div style='float: right;'>
<script type="text/javascript"><!--
google_ad_client = "pub-9722744409249905";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "CCCCCC";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_url = "666666";
google_color_text = "333333";
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
</div>
<p>Ruby OnRails, ouvi isso faz uns dois anos atrás. Não tinha dado muita importância na época, mas no meio do ano passado, acabei pegando um projeto em PHP, e a equipe resolveu que iríamos utilizar o CakePHP, programei cerca de 4 meses em cima desse framework. A produtividade realmente é impressionante, muito fácil de criar formulários para cadastro em tabelas de Banco de dados. O CakePHP, segundo os seus desenvolvedores, foi baseado no Ruby On Rails (RoR).</p>
<p>Ontem, eu baixei um tutorial, que dizem ser muito bom &#8211; se bem que eu nem acho que é um tutorial, mas sim um livro eletrônico, ele tem 312 páginas. O tutorial pode ser encontrado <a title="http://kb.reflectivesurface.com/br/tutoriais/railsDiversaoLucro/" href="http://kb.reflectivesurface.com/br/tutoriais/railsDiversaoLucro/" target="_blank">aqui</a>.</p>
<p>Vou lê-lo e fazer seus exercícios, para aprender um pouco. Para substituir o PHP, ainda parece muito cedo, mas eu vou aprendê-lo, nunca se sabe o dia de amanhã.</p>
<p>E ainda para ajudar tem o Groovy, que é uma mistura de Ruby, Python e Perl e roda sobre JVM (Java Virtual Machine). Bom, mas isso fica para um próximo post.</p>
<p>[]s<br />
miyasaki</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.renatom.com.br/2008/09/07/rubis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comandos básicos de Subversion &#8211; linha de comando</title>
		<link>http://blog.renatom.com.br/2008/08/21/comandos-basicos-de-subversion-linha-de-comando/</link>
		<comments>http://blog.renatom.com.br/2008/08/21/comandos-basicos-de-subversion-linha-de-comando/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 02:33:16 +0000</pubDate>
		<dc:creator>Renato Miyasaki</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[controle de versão]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://blog.renatom.com.br/?p=17</guid>
		<description><![CDATA[Bom, hoje eu resolvi organizar meus projetos no Subversion, mas como eu estou acostumado a utilizar o TortoiseSVN, eu não lembrava mais como era a sintaxe dos comandos. E sim, aqui no meu notebook com Linux, vou utilizar via linha de comando, para desenferrujar e lembrar os velhos tempos da faculdade.




Ah, e como fonte vou [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; width: 330px;">Bom, hoje eu resolvi organizar meus projetos no Subversion, mas como eu estou acostumado a utilizar o TortoiseSVN, eu não lembrava mais como era a sintaxe dos comandos. E sim, aqui no meu notebook com Linux, vou utilizar via linha de comando, para desenferrujar e lembrar os velhos tempos da faculdade.</div>
<div style='float: right;'>
<script type="text/javascript"><!--
google_ad_client = "pub-9722744409249905";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "CCCCCC";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_url = "666666";
google_color_text = "333333";
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
</div>
<p>Ah, e como fonte vou utilizar um tutorial da faculdade: <a href="http://www.linux.ime.usp.br/wiki/Subversion" target="_blank">http://www.linux.ime.usp.br/wiki/Subversion</a></p>
<p>Só para criar o repositório que não tem lá, isso porque quem cria o repositório são os administradores da rede.</p>
<p>Para isso utilizei o comando:</p>
<p>svnadmin create &lt;diretório do repositorio&gt;, no meu caso svnadmin create ~/repositorios/brimagens</p>
<p>Para fazer o checkout, utilizei o comando svn co file:///home/renato/repositorios/brimagens dentro do meu workspace (aka seu diretório de desenvolvimento de projetos).</p>
<p>[]s<br />
renato</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.renatom.com.br/2008/08/21/comandos-basicos-de-subversion-linha-de-comando/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
