[svnbook-pt-br commit] r88 - trunk/book

codesite-noreply at google.com codesite-noreply at google.com
Tue Apr 8 17:14:37 CDT 2008


Author: the.mente
Date: Tue Apr  8 13:02:57 2008
New Revision: 88

Modified:
   trunk/book/ch04-branching-and-merging.xml

Log:
Capitulo 4 seção 2 titulo Copiando modificações específicas issue 36

Modified: trunk/book/ch04-branching-and-merging.xml
==============================================================================
--- trunk/book/ch04-branching-and-merging.xml	(original)
+++ trunk/book/ch04-branching-and-merging.xml	Tue Apr  8 13:02:57 2008
@@ -73,7 +73,7 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.using">
-    <title>Using Branches</title>
+    <title>Usando Ramos</title>
 
     <para>Até aqui, você ja deve saber como cada commit cria uma nova
 	  árvore de arquivos (chamada de <quote>revisão</quote>) no 
@@ -442,7 +442,7 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.concepts">
-      <title>The Key Concepts Behind Branches</title> 
+      <title>O conceito chame por trás de ramos</title> 
 
       <para>Há duas lições importantes que você deve se lembrar desta
 		seção. Primeiro, o Subversion não tem um conceito interno de
@@ -467,7 +467,7 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.copychanges">
-    <title>Copying Changes Between Branches</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
@@ -500,29 +500,30 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.copychanges.specific">
-      <title>Copying Specific Changes</title>
+      <title>Copiando modificações específicas</title>
 
 
-      <para>In the previous section, we mentioned that both you and
-        Sally made changes to <filename>integer.c</filename> on
-        different branches.  If you look at Sally's log message for
-        revision 344, you can see that she fixed some spelling errors.
-        No doubt, your copy of the same file still has the same spelling
-        errors.  It's likely that your future changes to this file will
-        be affecting the same areas that have the spelling errors, so
-        you're in for some potential conflicts when you merge your
-        branch someday.  It's better, then, to receive Sally's change
-        now, <emphasis>before</emphasis> you start working too heavily
-        in the same places.</para>
-
-      <para>It's time to use the <command>svn merge</command> command.
-        This command, it turns out, is a very close cousin to the
-        <command>svn diff</command> command (which you read about in
-        <xref linkend="svn.tour"/>).  Both commands are able to
-        compare any two objects in the repository and describe the
-        differences.  For example, you can ask <command>svn
-        diff</command> to show you the exact change made by Sally in
-        revision 344:</para>
+      <para>Na seção anterior, nos comentamos que tanto você quanto 
+		Sally fizeram alterações em <filename>integer.c</filename>
+		em ramos distintos.Se você olhar a mensagem de log de Sally
+		na revisão 344, você verá que ela corrigiu alguns erros de 
+		escrita. Sem duvida alguma, a sua cópia deste arquivo tem os
+		mesmo erros de escrita. É provavel que suas futuras 
+		modificações a este arquivo vão afetar as mesmas áreas onde
+		foram feitas as correções de escrita, então você tem grandes
+		chances de ter varios conflitos quando for fundir o seu ramo,
+		eventualmente. Portanto, é melhor receber as modificações de
+		Sally agora, <emphasis>antes</emphasis> de você começar a 
+		trabalhar de forma massiva nessas áreas.</para>
+
+      <para>É hora de usar o comando <command>svn merge</command>.
+		Esse comando é um primo muito próximo do comando
+		<command>svn diff</command> (que você viu em
+		<xref linkend="svn.tour"/>). Os dois comando comparam dois 
+		objetos no repositório e mostram as diferenças. Por exemplo, 
+		você pode pedir com o comando <command>svn diff</command>
+		para ver com exatidão as mudanças feitas por Sally na 
+		revisão 344:</para>
 
       <screen>
 $ svn diff -c 344 http://svn.example.com/repos/calc/trunk
@@ -569,10 +570,10 @@
      printf("error: fseek() returned non-zero\n");
 </screen>
 
-      <para>The <command>svn merge</command> command is almost exactly
-        the same.  Instead of printing the differences to your
-        terminal, however, it applies them directly to your working
-        copy as <emphasis>local modifications</emphasis>:</para>
+      <para>O comando <command>svn merge</command> é quase que o 
+		mesmo. Ao invés de imprimir as diferenças no terminal, 
+		ele as aplica diretamente à cópia de trabalho classificando
+		como <emphasis>local modifications</emphasis>:</para>
 
       <screen>
 $ svn merge -c 344 http://svn.example.com/repos/calc/trunk
@@ -582,32 +583,36 @@
 M  integer.c
 </screen>
 
-      <para>The output of <command>svn merge</command> shows that your
-        copy of <filename>integer.c</filename> was patched.  It now
-        contains Sally's change—the change has been
-        <quote>copied</quote> from the trunk to your working copy of
-        your private branch, and now exists as a local modification.
-        At this point, it's up to you to review the local modification
-        and make sure it works correctly.</para>
-
-      <para>In another scenario, it's possible that things may not have
-        gone so well, and that <filename>integer.c</filename> may have
-        entered a conflicted state.  You might need to resolve the
-        conflict using standard procedures (see <xref
-        linkend="svn.tour"/>), or if you decide that the merge was a
-        bad idea altogether, simply give up and <command>svn
-        revert</command> the local change.</para>
-
-      <para>But assuming that you've reviewed the merged change, you can
-        <command>svn commit</command> the change as usual.  At that
-        point, the change has been merged into your repository branch.
-        In version control terminology, this act of copying changes
-        between branches is commonly called
-        <firstterm>porting</firstterm> changes.</para>
-
-      <para>When you commit the local modification, make sure your log
-        message mentions that you're porting a specific change from
-        one branch to another.  For example:</para>
+      <para>A saida do comando <command>svn merge</command> mostra
+		a sua cópia de <filename>integer.c</filename> sofreu uma
+		correção. Agora ele contém as modificações feitas por
+		Sally— essas modificações foram <quote>copiadas</quote>
+		do tronco do repositório para a cópia de trabalho do seu ramo
+		privado, e agora existe como uma modificação local. A esta
+		altura, depende de você revisar essa modificação local e ter
+		certeza de funciona.</para>
+
+      <para>Em outra simulação, é possivel que as coisas não tenham
+		ocorrido tão bem assim, e o arquivo 
+		<filename>integer.c</filename> tenha entrado em estado de 
+		conflito. Pode ser que você precise resolver o conflito usando
+		procedimentos padrão (see <xref linkend="svn.tour"/>), ou se 
+		você decidir que fazer a fusão dos arquivos tenha sido uma má
+		idéia, desista e rode o comando <command>svn revert</command>
+		para retirar as modificações locais.</para>
+
+      <para>Partindo do pré-suposto que você revisou as modificações 
+		do processo de fusão , então você pode fazer o <command>svn
+		commit</command> como de costume. A este ponto, a mudança foi
+		fusionada ao seu ramo no repositório. Em tecnologias de 
+		controle de versão, esse ato de copiar mudanças entre ramos 
+		recebe o nome de <firstterm>portar</firstterm> 
+		mudanças.</para>
+
+      <para>Quando você fizer o commit das modificações locais, não
+		esqueça de colocar na mensagem de log que você está portando
+		uma modificação especifica de um ramo para outro.Por 
+		exemplo:</para>
 
       <screen>
 $ svn commit -m "integer.c: ported r344 (spelling fixes) from trunk."
@@ -616,17 +621,17 @@
 Committed revision 360.
 </screen>
 
-      <para>As you'll see in the next sections, this is a very
-        important <quote>best practice</quote> to follow.</para>
+      <para>Como você verá nas próximas seções, essa é uma <quote>boa
+		pratica</quote> importantíssima a ser seguida.</para>
 
       <sidebar>
-        <title>Why Not Use Patches Instead?</title>
+        <title>Porque não usar Patches?</title>
 
-        <para>A question may be on your mind, especially if you're a
-          Unix user: why bother to use <command>svn merge</command> at
-          all?  Why not simply use the operating system's
-          <command>patch</command> command to accomplish the same job?
-          For example:</para>
+        <para>Essa questão pode estar em sua mente, especialmente se
+		  você for um usuário de Unix: porque usar o comando 
+		  <command>svn merge</command>? Porque não simplismente usar
+		  o comando do sistema <command>patch</command> para realizar
+		  esta tarefa? Por exemplo:</para>
 
         <screen>
 $ svn diff -c 344 http://svn.example.com/repos/calc/trunk > patchfile
@@ -639,59 +644,61 @@
 done
 </screen>
 
-        <para>In this particular case, yes, there really is no
-          difference.  But <command>svn merge</command> has special
-          abilities that surpass the <command>patch</command> program.
-          The file format used by <command>patch</command> is quite
-          limited; it's only able to tweak file contents.  There's no
-          way to represent changes to <emphasis>trees</emphasis>, such
-          as the addition, removal, or renaming of files and
-          directories.  Nor can the <command>patch</command> program
-          notice changes to properties.  If Sally's change had,
-          say, added a new directory, the output of <command>svn
-          diff</command> wouldn't have mentioned it at
-          all.  <command>svn diff</command> only outputs the limited
-          patch-format, so there are some ideas it simply can't
-          express.  The <command>svn merge</command> command, however,
-          can express changes in tree structure and properties by
-          directly applying them to your working copy.</para>
+        <para>Neste caso em particular, sim, realmente não há 
+		  diferença. Mas o comando <command>svn merge</command> tem
+		  habilidades especiais que superam o comando <command>
+		  patch</command>. O formato do arquivo usado pelo <command>
+		  patch</command> é bem limitado; é apenas capaz de mexer o
+		  conteúdo dos arquivos. Não há forma de representar mudanças
+		  em <emphasis>arvores</emphasis>, como o criar, remover e 
+		  renomear arquivos e diretórios. Tão pouco pode o comando
+		  <command>patch</command> ver mudanças de propriedades. Se
+		  nas modificações de Sally, um diretório tivesse sido criado, 
+		  a saida do comando <command>svn diff</command> não iria 
+		  fazer menção disso. <command>svn diff</command> somente 
+		  mostra forma limitada do patch, então existem coisa que ele
+		  simplismente não irá mostrar. O comando <command>svn
+		  merge</command>, por sua vez, pode mostrar modificações
+		  em estrutura de árvores e propriedades aplicando estes 
+		  diretamente em sua cópia de trabalho.</para>
 
       </sidebar>
 
-      <para>A word of warning: while <command>svn diff</command> and
-        <command>svn merge</command> are very similar in concept, they
-        do have different syntax in many cases.  Be sure to read about
-        them in <xref linkend="svn.ref"/> for details, or ask
-        <command>svn help</command>.  For example, <command>svn
-        merge</command> requires a working-copy path as a target, i.e.
-        a place where it should apply the tree-changes.  If the target
-        isn't specified, it assumes you are trying to perform one of
-        the following common operations:</para>
+      <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
+		em <xref linkend="svn.ref"/> para mais detalhes, ou peça ajuda
+		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
+		um destino não for especificado, ele assume que você está 
+		tentando uma dessas operações:</para>
 
       <orderedlist>
         <listitem>
-          <para>You want to merge directory changes into your current
-            working directory.</para>
+          <para>Você quer fundir modificações de diretorio no seu
+			diretório de trabalho atual.</para>
         </listitem>
         <listitem>
-          <para>You want to merge the changes in a specific file into
-            a file by the same name which exists in your current working 
-            directory.</para>
+          <para>Você quer fundir as modificações de um arquivo em 
+			específico, em outro arquivo de mesmo nome que existe no seu
+			diretorio atual de trabalho.</para>
         </listitem>
       </orderedlist>
 
-      <para>If you are merging a directory and haven't specified a
-        target path, <command>svn merge</command> assumes the first case
-        above and tries to apply the changes into your current
-        directory.  If you are merging a file, and that file (or a file
-        by the same name) exists in your current working directory,
-        <command>svn merge</command> assumes the second case and tries
-        to apply the changes to a local file with the same name.</para>
-
-      <para>If you want changes applied somewhere else, you'll
-        need to say so.  For example, if you're sitting in the parent
-        directory of your working copy, you'll have to specify the
-        target directory to receive the changes:</para>
+      <para>Se você esta fundindo um diretório e não especificou um 
+		destino, <command>svn merge</command> assume o primeiro caso 
+		acima e tenta aplicar as modificações no seu diretório atual. Se
+		você está fundindo um arquivo, e este arquivo (ou arquivo de 
+		mesmo nome) existe no diretório atual, o <command>svn 
+		merge</command> assume o segundo caso, e tenta aplicar as
+		modificações no arquivo local de mesmo nome.</para>
+
+      <para>Se você quer que as modificações seja aplicadas em outro 
+		local, você vai precisar avisar. Por exemplo, se você está no
+		diretório pai de sua cópia de trabalho, você vai precisar 
+		especificar o diretório de destino a receber as 
+		modificações:</para>
 
       <screen>
 $ svn merge -c 344 http://svn.example.com/repos/calc/trunk my-calc-branch




More information about the svn-pt_br mailing list