[svnbook-pt-br commit] r193 - trunk/book
codesite-noreply at google.com
codesite-noreply at google.com
Thu Sep 25 17:57:27 CDT 2008
Author: mfandrade
Date: Thu Sep 25 15:56:39 2008
New Revision: 193
Modified:
trunk/book/ch03-advanced-topics.xml
Log:
Tradução do capítulo 3 "Tópicos avançados", subseção "Por que
Propriedades?".
Modified: trunk/book/ch03-advanced-topics.xml
==============================================================================
--- trunk/book/ch03-advanced-topics.xml (original)
+++ trunk/book/ch03-advanced-topics.xml Thu Sep 25 15:56:39 2008
@@ -373,106 +373,112 @@
<!-- ===============================================================
-->
<sect2 id="svn.advanced.props.why">
- <title>Why Properties?</title>
+ <title>Por que Propriedades?</title>
- <para>Just as Subversion uses properties to store extra
- information about the files, directories, and revisions that
- it contains, you might also find properties to be of similar
- use. You might find it useful to have a place
- close to your versioned data to hang custom metadata about
- that data.</para>
-
- <para>Say you wish to design a website that houses many digital
- photos, and displays them with captions and a datestamp. Now,
- your set of photos is constantly changing, so you'd like to
- have as much of this site automated as possible. These photos
- can be quite large, so as is common with sites of this nature,
- you want to provide smaller thumbnail images to your site
- visitors.</para>
-
- <para>Now, you can get this functionality using traditional
- files. That is, you can have your
- <filename>image123.jpg</filename> and an
- <filename>image123-thumbnail.jpg</filename> side-by-side in a
- directory. Or if you want to keep the filenames the same, you
- might have your thumbnails in a different directory, like
- <filename>thumbnails/image123.jpg</filename>. You can also
- store your captions and datestamps in a similar fashion, again
- separated from the original image file. But the problem here
- is that your collection of files grows in multiples with each
- new photo added to the site.</para>
-
- <para>Now consider the same website deployed in a way that makes
- use of Subversion's file properties. Imagine having a single
- image file, <filename>image123.jpg</filename>, and then
- properties set on that file named <literal>caption</literal>,
- <literal>datestamp</literal>, and even
- <literal>thumbnail</literal>. Now your working copy directory
- looks much more manageable—in fact, it looks to the
- casual browser like there are nothing but image files in it.
- But your automation scripts know better. They know that they
- can use <command>svn</command> (or better yet, they can use
- the Subversion language bindings—see <xref
- linkend="svn.developer.usingapi" />) to dig out the
- extra information that your site needs to display without
- having to read an index file or play path manipulation
- games.</para>
-
- <para>Custom revision properties are also frequently used. One
- common such use is a property whose value contains an issue
- tracker ID with which the revision is associated, perhaps
- because the change made in that revision fixes a bug filed in
- the tracker issue with that ID. Other uses include hanging
- more friendly names on the revision—it might be hard to
- remember that revision 1935 was a fully tested revision. But
- if there's, say, a <literal>test-results</literal> property on
- that revision with a value <literal>all passing</literal>,
- that's meaningful information to have.</para>
+ <para>Como o Subversion usa propriedades para armazenar
+ informações extras sobre arquivos, diretórios, e revisões que as
+ contém, você também pode usar propriedades de forma semelhante.
+ Você poderia achar útil ter um lugar próximo de seus dados
+ versionados para pendurar metadados personalidados sobre estes
+ dados.</para>
+
+ <para>Digamos que você quer elaborar um website que armazene
+ muitas fotos digitais, e as exiba com legendas e a data e hora
+ em que foram tiradas. Só que seu conjunto de fotos está mudando
+ constantemente, e você gostaria de automatizar este site tanto
+ quanto possível. Estas fotos podem ser um pouco grandes, então,
+ como muito comum em sites desse tipo, você quer disponibilizar
+ prévias em miniatura de suas fotos para os visitantes de seu
+ site.</para>
+
+ <para>Agora, você pode ter esta funcionalidade usando arquivos
+ tradicionais. Isto é, você pode ter seus arquivos
+ <filename>image123.jpg</filename> e
+ <filename>image123-thumbnail.jpg</filename> lado a lado em um
+ diretório. Ou se você quiser manter os mesmos nomes de
+ arquivos, você poderia ter suas miniaturas em um diretório
+ diferente, como <filename>thumbnails/image123.jpg</filename>.
+ Você também pode armazenar suas legendas e datas e horários de
+ forma parecida, também separadas do arquivo da foto original.
+ Mas o problema aqui é que o conjunto de arquivos aumenta aos
+ múltiplos para cada nova foto adicionada ao site.</para>
+
+ <para>Agora considere o mesmo website desenvolvido de forma a
+ fazer uso das propriedades de arquivo do Subversion. Imagine
+ ter um único arquivo de imagem,
+ <filename>image123.jpg</filename>, e então propriedades
+ definidas neste arquivo chamadas <literal>caption</literal>,
+ <literal>datestamp</literal>, ou mesmo
+ <literal>thumbnail</literal> (respectivamente para a legenda,
+ data e hora, e miniatura da imagem). Agora sua cópia de
+ trabalho parece muito mais gerenciável—de fato, numa
+ primeira visualização, não parece haver nada mais além dos
+ arquivos de imagem lá dentro. Mas seus scripts de automação
+ sabem mais. Eles sabes que podem usar o <command>svn</command>
+ (ou melhor ainda, eles podem usar a linguagem incorporada ao
+ Subversion—veja <xref linkend="svn.developer.usingapi" />)
+ para para extrair as informações extras que seu site precisa
+ exibir sem ter que lê-las de um arquivo de índices nem precisar
+ de preocupar em estar manipulando caminhos dos arquivos.</para>
+
+ <para>As propriedades personalizadas de revisões também são
+ frequentemente usadas. Um de seus usos comuns é uma
+ propriedades cujo valor contém um recurso de ID de rastreamento
+ ao qual a revisão está associada, talvez pelo fato de a
+ alteração feita nesta revisão corrigir um bug relatado
+ externamente com aquele ID. Outros usos incluem a inserção de
+ nomes mais amigáveis à revisão—pode ser difícil lembrar
+ que a revisão 1935 foi uma revisão testada completamente. Mas
+ se houver, digamos, uma propriedade
+ <literal>resultado-dos-testes</literal> nesta revisão com o
+ valor <literal>todos passaram</literal>, esta á uma informação
+ bem mais significativa de se ter.</para>
<sidebar>
- <title>Searchability (or, Why <emphasis>Not</emphasis>
- Properties)</title>
+ <title>Procurabilidade (ou, Porque <emphasis>Não</emphasis>
+ Usar Propriedades)</title>
- <para>For all their utility, Subversion properties—or,
- more accurately, the available interfaces to them—have
- a major shortcoming:
- while it is a simple matter to <emphasis>set</emphasis> a custom
property,
- <emphasis>finding</emphasis> that property later is whole
- different ball of wax.</para>
-
- <para>Trying to locate a custom revision property generally
- involves performing a linear walk across all the revisions
- of the repository, asking of each revision, "Do you have the
- property I'm looking for?" Trying to find a custom
- versioned property is painful, too, and often involves a
- recursive <command>svn propget</command> across an entire
- working copy. In your situation, that might not be as bad
- as a linear walk across all revisions. But it certainly
- leaves much to be desired in terms of both performance and
- likelihood of success, especially if the scope of your
- search would require a working copy from the root of your
- repository.</para>
-
- <para>For this reason, you might choose—especially in
- the revision property use-case—to simply add your
- metadata to the revision's log message, using some
- policy-driven (and perhaps programmatically-enforced)
- formatting that is designed to be quickly parsed from the
- output of <command>svn log</command>. It is quite common to
- see in Subversion log messages the likes of:</para>
+ <para>Para algo com tamanha , as propriedades do
+ Subversion—ou, mais precisamente, as interfaces
+ disponíveis para elas—têm uma grande falha:
+ apesar de ser simples <emphasis>criar</emphasis> uma
+ propriedade específica, <emphasis>procurar</emphasis> esta
+ propriedade posteriormente são outros quinhentos.</para>
+
+ <para>Tentar localizar uma propriedade específica de uma revisão
+ geralmente envolve executar uma busca linear ao longo de todas
+ as revisões do repositório, perguntando para cada revisão,
+ "Você tem a propriedade que eu estou procurando?" Tentar
+ encontrar uma propriedade versionada é complicado, também, e
+ quase sempre envolve um recursivo <command>svn
+ propget</command> ao longo de toda a cópia de trabalho. Esta
+ situação pode até não ser tão ruim quando uma busca linear
+ por todas as revisões. Mas certamente deixa muito a desejar
+ tanto em termos de performance quanto mesmo da probabilidade
+ de sucesso, especialmente se o escopo de sua busca envolver
+ uma cópia de trabalho da raiz de seu repositório.</para>
+
+ <para>Por este motivo, você deve escolher—especialmente no
+ caso de propriedades de revisões—entre simplesmente
+ adicionar seus metadados na mensagem de log da revisão, usando
+ algum padrão de formatação (talvez até a partir de ferramentas
+ de programação) que permita uma filtragem rápida a partir da
+ saída do comando <command>svn log</command>. É bastante comum
+ de se ver mensagens de log do Subversion parecidas com:</para>
<programlisting>
Issue(s): IZ2376, IZ1919
Reviewed by: sally
-This fixes a nasty segfault in the wort frabbing process
+Isto corrige um erro de falha de segmentação no gerenciador de processos
…
</programlisting>
- <para>But here again lies some misfortune. Subversion doesn't
- yet provide a log message templating mechanism, which would
- go a long way toward helping users be consistent with the
- formatting of their log-embedded revision metadata.</para>
+ <para>Mas isto resulta em outra dificuldade. O Subversion não
+ provê ainda uma mecanismo de modelos para mensagens de log,
+ que poderia ajudar bastante os usuários a manter
+ consistentemente o formato de seus metadados incluídos em
+ suas mensagens de log.</para>
</sidebar>
More information about the svn-pt_br
mailing list