[svnbook-pt-br commit] r270 - trunk/book
codesite-noreply at google.com
codesite-noreply at google.com
Fri Nov 21 20:59:15 CST 2008
Author: mfandrade
Date: Fri Nov 21 18:58:33 2008
New Revision: 270
Modified:
trunk/book/ch04-branching-and-merging.xml
Log:
Tradução do capítulo "Fundir e Ramificar", seção "Copiando Modificações
Entre
Ramos", sub-subseção "Percebendo ou Ignorando Ancestrais".
Modified: trunk/book/ch04-branching-and-merging.xml
==============================================================================
--- trunk/book/ch04-branching-and-merging.xml (original)
+++ trunk/book/ch04-branching-and-merging.xml Fri Nov 21 18:58:33 2008
@@ -467,7 +467,7 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.branchmerge.copychanges">
- <title>Copiando modificações entre ramos</title>
+ <title>Copiando Modificações Entre Ramos</title>
<para>Agora você e Sally estão trabalhando em ramos paralelos
do projeto: você está trabalhando no seu próprio ramo, e
@@ -664,13 +664,13 @@
</sidebar>
- <para>Um aviso: enquanto o comando <command>svn diff</command>
- e o <command>svn merge</command> tem conceitos similare, eles
- apresentam sintaxe diferente em vários casos. Leia sobre isso
+ <para>Um aviso: ainda que o comando <command>svn diff</command>
+ e o <command>svn merge</command> tem conceitos similares, eles
+ apresentam sintaxe diferente em vários casos. Leia sobre isso
em <xref linkend="svn.ref"/> para mais detalhes, ou peça ajuda
- ao comando <command>svn help</command>. Por exemplo, o comando
+ ao comando <command>svn help</command>. Por exemplo, o comando
<command>svn merge</command> precisa de uma cópia de trabalho
- com destino, isto é, um local onde aplicar as modificações. Se
+ com destino, isto é, um local onde aplicar as modificações. Se
um destino não for especificado, ele assume que você está
tentando uma dessas operações:</para>
@@ -990,65 +990,71 @@
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-->
<sect3 id="svn.branchmerge.copychanges.bestprac.ancestry">
- <title>Noticing or Ignoring Ancestry</title>
+ <title>Percebendo ou Ignorando os Ancestrais</title>
- <para>When conversing with a Subversion developer, you might
- very likely hear reference to the term
- <firstterm>ancestry</firstterm>. This word is used to
- describe the relationship between two objects in a
- repository: if they're related to each other, then one
- object is said to be an ancestor of the other.</para>
-
- <para>For example, suppose you commit revision 100, which
- includes a change to a file <filename>foo.c</filename>.
- Then <filename>foo.c at 99</filename> is an
- <quote>ancestor</quote> of <filename>foo.c at 100</filename>.
- On the other hand, suppose you commit the deletion of
- <filename>foo.c</filename> in revision 101, and then add a
- new file by the same name in revision 102. In this case,
- <filename>foo.c at 99</filename> and
- <filename>foo.c at 102</filename> may appear to be related
- (they have the same path), but in fact are completely
- different objects in the repository. They share no history
- or <quote>ancestry</quote>.</para>
-
- <para>The reason for bringing this up is to point out an
- important difference between <command>svn diff</command> and
- <command>svn merge</command>. The former command ignores
- ancestry, while the latter command is quite sensitive to it.
- For example, if you asked <command>svn diff</command> to
- compare revisions 99 and 102 of <filename>foo.c</filename>,
- you would see line-based diffs; the <literal>diff</literal>
- command is blindly comparing two paths. But if you asked
- <command>svn merge</command> to compare the same two objects,
- it would notice that they're unrelated and first attempt to
- delete the old file, then add the new file; the output would
- indicate a deletion followed by an add:</para>
+ <para>Ao conversar com um desenvolvedor do Subversion, você
+ frequentemente ouviria referências ao termo
+ <firstterm>ancestral</firstterm>. Esta palavra é usada para
+ descrever a relação entre dois objetos em um repositório: se
+ estiverem relacionados entre si, então um objeto é dito ser um
+ ancestral do outro.</para>
+
+ <para>Por exemplo, suponha que você submeta a revisão 100, a
+ qual inclui uma mudança num arquivo
+ <filename>foo.c</filename>. Então,
+ <filename>foo.c at 99</filename> é o ancestral de
+ <quote>ancestral</quote> de <filename>foo.c at 100</filename>.
+ Por outro lado, suponha que você submeta a exclusão do arquivo
+ <filename>foo.c</filename> na revisão 101, e então adicione um
+ novo arquivo com o mesmo nome na revisão 102. Neste caso,
+ <filename>foo.c at 99</filename> e
+ <filename>foo.c at 102</filename> podem parecer estar
+ relacionados (afinal, eles têm o mesmo caminho), mas de fato
+ eles são objetos completamente diferentes no repositório.
+ Eles não compartilham histórico ou
+ <quote>ancestralidade</quote>.</para>
+
+ <para>A razão para abordar isto é destacar uma importante
+ diferença entre <command>svn diff</command> e
+ <command>svn merge</command>. O primeiro comando ignora a
+ ancestralidade, enquanto que este último é bastante sensível a
+ ela. Por exemplo, se você solicitar que o <command>svn
+ diff</command> compare as revisões 99 e 102 do arquivo
+ <filename>foo.c</filename>, você deveria ver diferenças
+ em termos de linhas do arquivo em cada revisão; o comando
+ <literal>diff</literal> é cego ao comparar dois caminhos. Mas
+ se você solicitar ao <command>svn merge</command> para
+ comparar os mesmos dois objetos, o subcomando deve perceber
+ que estes dois objetos não estão relacionados e primeiro
+ tentará excluir o arquivo antigo, e então adicionar o arquivo
+ novo; a saída deveria indicar uma exclusão seguida por uma
+ adição:</para>
<screen>
D foo.c
A foo.c
</screen>
- <para>Most merges involve comparing trees that are ancestrally
- related to one another, and therefore <command>svn
- merge</command> defaults to this behavior. Occasionally,
- however, you may want the <literal>merge</literal> command
- to compare two unrelated trees. For example, you may have
- imported two source-code trees representing different vendor
- releases of a software project (see <xref
- linkend="svn.advanced.vendorbr"/>). If you asked
- <command>svn merge</command> to compare the two trees, you'd
- see the entire first tree being deleted, followed by an add
- of the entire second tree! In these situations, you'll want
- <command>svn merge</command> to do a path-based comparison
- only, ignoring any relations between files and directories.
- Add the <option>--ignore-ancestry</option> option to your
- merge command, and it will behave just like <command>svn
- diff</command>. (And conversely, the
- <option>--notice-ancestry</option> option will cause
- <command>svn diff</command> to behave like the
- <literal>merge</literal> command.)</para>
+ <para>A maioria das fusões envolve comparação de árvores
+ ancestralmente relacionadas umas às outras, e assim o
+ <command>svn merge</command> por padrão possui este
+ comportamento. Ocasionalmente, no entanto, você pode querer
+ que o comando <literal>merge</literal> compare duas árvores
+ não relacionadas. Por exemplo, você pode ter importado duas
+ árvores de código-fonte representando distribuições de
+ diferentes fornecedores de um projeto de software (veja <xref
+ linkend="svn.advanced.vendorbr"/>). Se você solicitar que o
+ <command>svn merge</command> compare as duas árvores, você
+ deveria ver a exclusão da primeira árvore inteira, seguida da
+ adição da segunda árvore inteira! Nessas situações, você vai
+ querer que o <command>svn merge</command> faça uma comparação
+ baseada apenas em caminhos, ignorando quaisquer relações entre
+ arquivos e diretórios. Adicione a opção
+ <option>--ignore-ancestry</option> a seu comando merge, e ele
+ se comportará como o <command>svn diff</command>. (E
+ reversamente, a opção <option>--notice-ancestry</option> fará
+ com que o <command>svn diff</command> se comporte como o
+ comando <literal>merge</literal>.)</para>
</sect3>
More information about the svn-pt_br
mailing list