[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