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

codesite-noreply at google.com codesite-noreply at google.com
Mon Nov 24 21:48:53 CST 2008


Author: mfandrade
Date: Mon Nov 24 19:48:38 2008
New Revision: 304

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

Log:
Tradução do capítulo "Fundir e Ramificar", seção "Casos Comuns de  
Utilização", subseção "Ressucitando Itens Excluídos".

Modified: trunk/book/ch04-branching-and-merging.xml
==============================================================================
--- trunk/book/ch04-branching-and-merging.xml	(original)
+++ trunk/book/ch04-branching-and-merging.xml	Mon Nov 24 19:48:38 2008
@@ -1453,37 +1453,39 @@

      <!-- ===============================================================  
-->
      <sect2 id="svn.branchmerge.commonuses.resurrect">
-      <title>Resurrecting Deleted Items</title>
+      <title>Ressucitando Itens Excluídos</title>

-      <para>The great thing about version control systems is that
-        information is never lost.  Even when you delete a file or
-        directory, it may be gone from the <literal>HEAD</literal>
-        revision, but the object still exists in earlier revisions.
-        One of the most common questions new users ask is, <quote>How
-        do I get my old file or directory back?</quote>.</para>
-
-      <para>The first step is to define
-        exactly <emphasis role="bold">which</emphasis> item you're
-        trying to resurrect.  Here's a useful metaphor: you can think
-        of every object in the repository as existing in a sort of
-        two-dimensional coordinate system.  The first coordinate is a
-        particular revision tree, and the second coordinate is a path
-        within that tree.  So every version of your file or directory
-        can be defined by a specific coordinate pair.  (Remember the
-        <quote>peg revision</quote> syntax—foo.c at 224
-        —mentioned back in
-        <xref linkend="svn.advanced.pegrevs"/>.) </para>
-
-      <para>First, you might need to use <command>svn log</command> to
-        discover the exact coordinate pair you wish to resurrect.  A
-        good strategy is to run <command>svn log
-        --verbose</command> in a directory which used to contain your
-        deleted item.  The <option>--verbose (-v)</option> option shows a
-        list of all changed items in each revision; all you need to do
-        is find the revision in which you deleted the file or
-        directory.  You can do this visually, or by using another tool
-        to examine the log output (via <command>grep</command>, or
-        perhaps via an incremental search in an editor).</para>
+      <para>O grande ponto sobre sistemas de controle de versão é que a
+        informação nunca é perdida.  Mesmo quando você exclui um arquivo
+        ou diretório, ele pode ser trazido de volta à revisão
+        <literal>HEAD</literal>, mas o objeto ainda existe nas revisões
+        mais antigas.  Uma das questões mais comuns que novos usuários
+        se perguntam é, <quote>Como eu faço para obter meu arquivo ou
+        diretório antigo de volta?</quote>.</para>
+
+      <para>O primeiro passo é definir exatamente <emphasis
+        role="bold">qual</emphasis> ítem você está tentando ressucitar.
+        Aqui há uma metáfora útil: você pode pensar como se cada objeto
+        no repositório existisse em uma espécie de sistema
+        bi-dimensional.  A primeira coordenada é uma determinada árvore
+        de revisão, e a segunda coordenada é o caminho dentro daquela
+        árvore.  Assim cada versão de seu arquivo ou diretório pode ser
+        definida por um dado par de coordenadas.  (Lembre-se da sintaxe
+        de <quote>revisões
+        marcadoras</quote>—foo.c at 224—apresentada em <xref
+        linkend="svn.advanced.pegrevs"/>.) </para>
+
+      <para>Primeiramente, você pode precisar usar um <command>svn
+        log</command> para descobrir o par de coordenadas exato que você
+        quer ressucitar.  Uma boa estratégia é executar <command>svn log
+        --verbose</command> em um diretório onde seu item excluído
+        costumava estar.  A opção <option>--verbose (-v)</option> exibe
+        uma lista de todos os itens que mudaram em cada revisão; tudo
+        que você precisa fazer é encontrar a revisão na qual você
+        excluir o arquivo ou diretório.  Você pode fazer isto
+        visualmente, ou usando outra ferramenta para examinar a saída
+        dos registros de log (usando <command>grep</command>, ou talvez
+        com uma busca incremental em um editor).</para>

        <screen>
  $ cd parent-dir
@@ -1500,44 +1502,44 @@
  …
  </screen>

-      <para>In the example, we're assuming that you're looking for a
-        deleted file <filename>real.c</filename>.  By looking through
-        the logs of a parent directory, you've spotted that this file
-        was deleted in revision 808.  Therefore, the last version of
-        the file to exist was in the revision right before that.
-        Conclusion: you want to resurrect the path
-        <filename>/calc/trunk/real.c</filename> from revision
+      <para>No exemplo, estamos assumindo que você está procurando um
+        arquivo excluído chamado <filename>real.c</filename>.  Olhando
+        os logs de um diretório-pai, você percebeu que este arquivo foi
+        excluído na revisão 808.  Portanto, a última versão do arquivo
+        existia na revisão imediatamente anterior a essa.  Conclusão:
+        você quer ressucitar o caminho
+        <filename>/calc/trunk/real.c</filename> a partir da revisão
          807.</para>

-      <para>That was the hard part—the research.  Now that you
-        know what you want to restore, you have two different
-        choices.</para>
-
-      <para>One option is to use <command>svn merge</command> to apply
-        revision 808 <quote>in reverse</quote>.  (We've already
-        discussed how to undo changes, see
-        <xref linkend="svn.branchmerge.commonuses.undo"/>.)  This
-        would have the effect of re-adding <filename>real.c</filename>
-        as a local modification.  The file would be scheduled for
-        addition, and after a commit, the file would again exist
-        in <literal>HEAD</literal>.</para>
-
-      <para>In this particular example, however, this is probably not
-        the best strategy.  Reverse-applying revision 808 would not
-        only schedule <filename>real.c</filename> for addition, but
-        the log message indicates that it would also undo certain
-        changes to <filename>integer.c</filename>, which you don't
-        want.  Certainly, you could reverse-merge revision 808 and
-        then <command>svn revert</command> the local modifications to
-        <filename>integer.c</filename>, but this technique doesn't
-        scale well.  What if there were 90 files changed in revision
-        808?</para>
-
-      <para>A second, more targeted strategy is not to use
-        <command>svn merge</command> at all, but rather the
-        <command>svn copy</command> command.  Simply copy the exact
-        revision and path <quote>coordinate pair</quote> from the
-        repository to your working copy:</para>
+      <para>Esta foi a parte difícil—a pesquisa.  Agora que você
+        sabe o que você quer restaurar, você tem duas diferentes
+        escolhas.</para>
+
+      <para>Uma opção é usar <command>svn merge</command> para aplicar a
+        revisão 808 <quote>ao contrário</quote>.  (Nós já falamos sobre
+        como desfazer modificações, veja <xref
+        linkend="svn.branchmerge.commonuses.undo"/>.)  Isto teria o
+        efeito de re-adicionar o arquivo <filename>real.c</filename>
+        como uma modificação local.  O arquivo deveria ser agendado para
+        adição, e após ser submetido, o arquivo deve estar novamente
+        presente na revisão <literal>HEAD</literal>.</para>
+
+      <para>Neste exemplo em particular, no entanto, esta provavelmente
+        não é a melhor estratégia.  A aplicação reversa da revisão 808
+        não apenas agenda <filename>real.c</filename> para adição, mas a
+        mensagem de log indica que ele também deve desfazer certas
+        alterações em <filename>integer.c</filename>, o que você não
+        quer.  Certamente, você poderia fazer uma mesclagem reversa da
+        revisão 808 e então executar um  <command>svn revert</command>
+        nas modificações locais em <filename>integer.c</filename>, mas
+        esta técnica não é bem escalável.  E se tivéssemos 90 arquivos
+        modificados na revisão 808?</para>
+
+      <para>Uma segunda, e mais precisa estratégia envolve não usar o
+        <command>svn merge</command>, mas o comando <command>svn
+        copy</command> em seu lugar.  Simplesmente copie a revisão exata
+        e o caminho como <quote>par de coordenadas</quote> do
+        repositório para sua cópia de trabalho:</para>

        <screen>
  $ svn copy -r 807 \
@@ -1552,19 +1554,19 @@
  Committed revision 1390.
  </screen>

-      <para>The plus sign in the status output indicates that the item
-        isn't merely scheduled for addition, but scheduled for
-        addition <quote>with history</quote>.  Subversion remembers
-        where it was copied from.  In the future, running <command>svn
-        log</command> on this file will traverse back through the
-        file's resurrection and through all the history it had prior
-        to revision 807.  In other words, this new
-        <filename>real.c</filename> isn't really new; it's a direct
-        descendant of the original, deleted file.</para>
-
-      <para>Although our example shows us resurrecting a file, note
-        that these same techniques work just as well for resurrecting
-        deleted directories.</para>
+      <para>O sinal de mais na saída do comando status indica que o item
+        não está meramente agendado para adição, mas agendado para
+        adição <quote>com histórico</quote>.  O Subversion lembra de
+        onde ele foi copiado.  No futuro, executar <command>svn
+        log</command> neste arquivo irá percorrer até o arquivo
+        ressucitado e através do histórico que ele tinha antes da
+        revisão 807.  Em outras palavras, este novo
+        <filename>real.c</filename> não é realmente novo; é um
+        descendente direto do arquivo original que fora excluído.</para>
+
+      <para>Apesar de nosso exemplo nos mostrar uma ressurreição de
+        arquivo, veja que estas mesmas técnicas funcionam muito bem
+        também para ressucitar diretórios excluídos.</para>

      </sect2>



More information about the svn-pt_br mailing list