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

codesite-noreply at google.com codesite-noreply at google.com
Mon Mar 24 10:37:53 CDT 2008


Author: the.mente
Date: Mon Mar 24 08:37:44 2008
New Revision: 73

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

Log:
Tradução da subseção - Creating a branch
issue 35

Modified: trunk/book/ch04-branching-and-merging.xml
==============================================================================
--- trunk/book/ch04-branching-and-merging.xml	(original)
+++ trunk/book/ch04-branching-and-merging.xml	Mon Mar 24 08:37:44 2008
@@ -84,10 +84,11 @@
       <xref linkend="svn.basic"/>. Lembre-se que você e Sally estão
 	  compartilhando um repositório que contem dois projetos, 
       <filename>paint</filename> e <filename>calc</filename>. 
-	  Note que em <xref linkend="svn.branchmerge.using.dia-1"/>,entretanto,
-	  cada diretório de projeto contem subdiretorios chamados
-      <filename>trunk</filename> e <filename>branches</filename>.
-      O motivo para isso logo ficará mais claro.</para>
+	  Note que em <xref linkend="svn.branchmerge.using.dia-1"/>,
+	  entretanto, cada diretório de projeto contem subdiretorios 
+	  chamados <filename>trunk</filename> 
+	  e <filename>branches</filename>. O motivo para isso logo ficará 
+	  mais claro.</para>
 
       <figure id="svn.branchmerge.using.dia-1">
         <title>Layout Inical do Repositorio</title>
@@ -100,17 +101,18 @@
 	  Todos os arquivos deste projeto estão nesse diretório ao invés de
 	  estarem no <filename>/calc</filename>, porque a sua equipe decidiu
 	  que <filename>/calc/trunk</filename> é onde a 
-	  <quote>Linha Principal</quote> de desenvolvimento vai ficar.</para>
+	  <quote>Linha Principal</quote> de desenvolvimento vai ficar.
+	  </para>
 
     <para>Digamos que você recebeu a tarefa de implementar uma grande 
 	  funcionalidade nova no projeto. Isso vai requerer muito tempo para 
-	  escrever, e vai afetar todos os arquivos do projeto. O problema aqui
-	  é que você não quer interferir no trabalho de Sally, que esta 
+	  escrever, e vai afetar todos os arquivos do projeto. O problema
+	  aqui é que você não quer interferir no trabalho de Sally, que esta 
 	  corrigindo pequenos bugs aqui e ali. Ela depende de que a ultima
 	  versão do projeto (em <filename>/calc/trunk</filename>) esteja 
 	  sempre disponível. Se você começar a fazer commits de suas
-	  modificações bit-a-bit, com certeza você vai dificultar o trabalho de
-	  Sally.</para>
+	  modificações bit-a-bit, com certeza você vai dificultar o trabalho
+	  de Sally.</para>
 
     <para>Um estratégia é cavar um buraco: você e Sally podem para de
 	  compartilhar informações por uma semana ou duas.Isto é, começar
@@ -120,22 +122,23 @@
 	  A maioria das pessoas gostam de salvar seu trabalho no repositorio
 	  com frequencia, caso algo ruim aconteça por acidente à cópia de
 	  trabalho. Segundo, não é nada flexível. Se você faz seu trabalho
-	  em computadores diferentes (talves você tenha uma cópia de trabalho
-	  de <filename>/calc/trunk</filename> em duas máquinas diferentes), 
-	  você terá que, manualmente, copiar suas alterações de uma máquina
-	  para outra, ou simplesmente, realizar todo o trabalho em um único 
-	  computador. Por esse mesmo método, é dificil compartilhar suas
-	  constantes modificações com qualquer pessoa. Uma <quote>boa
-      prática</quote> comum em desenvolvimento de software é permitir
-	  que outros envolvidos revisem seu trabalho enquanto sendo realizado.
+	  em computadores diferentes (talves você tenha uma cópia de 
+	  trabalho de <filename>/calc/trunk</filename> em duas máquinas 
+	  diferentes), você terá que, manualmente, copiar suas alterações 
+	  de uma máquina para outra, ou simplesmente, realizar todo o 
+	  trabalho em um único computador. Por esse mesmo método, é dificil
+	  compartilhar suas constantes modificações com qualquer pessoa. Uma
+	  <quote>boa prática</quote> comum em desenvolvimento de software é
+	  permitir que outros envolvidos revisem seu trabalho enquanto sendo
+	  realizado.
 	  Se ninguém verificar seus commits intermediários, você perde um
 	  potêncial feedback. E por fim, quando você terminar todas as
 	  modificações, você pode achar muito dificil de fundir seu trabalho
-	  com o resto da linha principal de desenvolvimento da empresa. Sally
-	  (ou outros) podem ter realizado muitas outras mudanças no repositório
-	  que podem ser difíceis de incorporar com sua cópia de trabalho—
-	  especialmente se você rodar um <command>svn update</command> depois 
-	  de semanas trabalhando sozinho.</para>
+	  com o resto da linha principal de desenvolvimento da empresa. 
+	  Sally (ou outros) podem ter realizado muitas outras mudanças no 
+	  repositório que podem ser difíceis de incorporar com sua cópia de 
+	  trabalho— especialmente se você rodar um <command>svn 
+	  update</command> depois de semanas trabalhando sozinho.</para>
 
     <para>A melhor solução é criar seu próprio ramo, ou linha de
 	  desenvolvimento, no repositório. Isso lhe permite salvar seu 
@@ -146,28 +149,26 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.create">
-      <title>Creating a Branch</title>
+      <title>Criando um Ramo</title>
 
-      <para>Creating a branch is very simple—you make a copy of
-        the project in the repository using the <command>svn
-        copy</command> command.  Subversion is not only able to copy
-        single files, but whole directories as well.  In this case,
-        you want to make a copy of the
-        <filename>/calc/trunk</filename> directory.  Where should the
-        new copy live?  Wherever you wish—it's a matter of
-        project policy.  Let's say that your team has a policy of
-        creating branches in the <filename>/calc/branches</filename>
-        area of the repository, and you want to name your branch
-        <literal>my-calc-branch</literal>.  You'll want to create a
-        new directory,
-        <filename>/calc/branches/my-calc-branch</filename>, which
-        begins its life as a copy of
-        <filename>/calc/trunk</filename>.</para>
-
-      <para>There are two different ways to make a copy.  We'll
-        demonstrate the messy way first, just to make the concept
-        clear.  To begin, check out a working copy of the project's
-        root directory, <filename>/calc</filename>:</para>
+      <para>Criar um ramo é realmente simples— você faz uma cópia
+		do projeto no repositório usando o comando<command>svn 
+		copy</command>. O Subversion copia não somente arquivos mas
+	    também diretórios completos. Neste caso, você quer fazer a cópia
+	    do diretório <filename>/calc/trunk</filename>. Onde deve ficar a 
+		nova cópia? Onde você quiser— isso depende da "política" 
+		do projeto. Digamos que sua equipe tem a política de criar novos
+		ramos na área <filename>/calc/branches</filename> do 
+		repositório, e você quer chamar o seu ramo de 
+		<literal>my-calc-branch</literal>. Você vai querer criar um novo
+		diretório, <filename>/calc/branches/my-calc-branch</filename>,
+		que inicia sua vida como cópia de 
+		<filename>/calc/trunk</filename>.</para>
+
+      <para>Há duas maneiras diferentes de fazer uma cópia. Vamos 
+		mostrar	primeiro a maneira complicada, apenas para deixar claro
+		o conceito. Para começar, faça um checkout do diretório raiz do
+		projeto, <filename>/calc</filename>:</para>
 
       <screen>
 $ svn checkout http://svn.example.com/repos/calc bigwc
@@ -179,9 +180,9 @@
 Checked out revision 340.
 </screen>
 
-      <para>Making a copy is now simply a matter of passing two
-        working-copy paths to the <command>svn copy</command>
-        command:</para>
+      <para>Agora para fazer uma cópia basta passar dois caminhos
+			de cópia de trabalho ao comando <command>svn 
+			copy</command>:</para>
 
       <screen>
 $ cd bigwc
@@ -190,98 +191,102 @@
 A  +   branches/my-calc-branch
 </screen>
 
-      <para>In this case, the <command>svn copy</command> command
-        recursively copies the <filename>trunk</filename> working
-        directory to a new working directory,
-        <filename>branches/my-calc-branch</filename>.  As you can see
-        from the <command>svn status</command> command, the new
-        directory is now scheduled for addition to the repository.
-        But also notice the <quote>+</quote> sign next to the letter
-        A.  This indicates that the scheduled addition is a
-        <emphasis>copy</emphasis> of something, not something new.
-        When you commit your changes, Subversion will create
-        <filename>/calc/branches/my-calc-branch</filename> in the
-        repository by copying <filename>/calc/trunk</filename>, rather
-        than resending all of the working copy data over the
-        network:</para>
+      <para>Neste caso, o comando <command>svn copy</command> faz uma
+		cópia recursiva do diretório <filename>trunk</filename> para um
+		novo diretório de trabalho, 
+		<filename>branches/my-calc-branch</filename>. Como você pode ver
+		pelo comando <command>svn status</command>, o novo diretório
+		está agendado para ser adicionado ao repositório. Note também
+		o sinal <quote>+</quote> próximo à letra A. Isso indica o item
+		adicionado é uma <emphasis>cópia</emphasis> de algo e não um
+		item novo. Quando você realizar o Commit das modificações, o
+		Subversion vai criar o diretorio
+		<filename>/calc/branches/my-calc-branch</filename> no repositóio
+		copiando <filename>/calc/trunk</filename>, ao invés de reenviar
+		todos os dados da cópia de trabalho pela rede:</para>
 
       <screen>
-$ svn commit -m "Creating a private branch of /calc/trunk."
+$ svn commit -m "Criando um ramo do diretório /calc/trunk."
 Adding         branches/my-calc-branch
 Committed revision 341.
 </screen>
 
-      <para>And now here's the easier method of creating a branch,
-        which we should have told you about in the first
-        place: <command>svn copy</command> is able to operate directly
-        on two URLs.</para>
+      <para>E aqui está o método mais fácil de criar um ramo, o qual nós
+		deveriamos ter lhe mostrado desde o início: o comando
+		<command>svn copy</command> é capaz de copiar diretamente duas
+		URLs.</para>
 
       <screen>
 $ svn copy http://svn.example.com/repos/calc/trunk \
            http://svn.example.com/repos/calc/branches/my-calc-branch \
-      -m "Creating a private branch of /calc/trunk."
+      -m "Criando um ramo do diretório /calc/trunk."
 
 Committed revision 341.
 </screen>
 
-      <para>From the repository's point of view, there's really no
-        difference between these two methods.  Both procedures create
-        a new directory in revision 341, and the new directory is a
-        copy of <filename>/calc/trunk</filename>.  This is shown in
-        <xref linkend="svn.branchmerge.using.create.dia-1"/>.  Notice
-        that the second method, however, performs an
-        <emphasis>immediate</emphasis> commit in constant time.
+      <para>Do ponto de vista do diretório, não há diferença entre estes
+		dois métodos. Ambos os processos criam um novo diretório na
+		revisão 341, e o novo diretório é uma cópia de 
+		<filename>/calc/trunk</filename>. Isso é mostrado em
+		<xref linkend="svn.branchmerge.using.create.dia-1"/>. Note que o
+		segundo método, entretanto, faz um commit 
+		<emphasis>imediato</emphasis> em tempo constante.
 
         <footnote>
-        <para>Subversion does not support copying between different
-        repositories.  When using URLs with <command>svn
-        copy</command> or <command>svn move</command>, you can only
-        copy items within the same repository.</para> 
+        <para>O Subversion não suporta a cópia entre repositórios 
+		distintos. Quando usando URLs com os comandos
+		<command>svn copy</command> ou <command>svn move</command>, 
+		você pode apenas copiar itens dentro de um mesmo repositório.
+		</para> 
         </footnote>
         
-        It's an easier procedure, because it doesn't require you to
-        check out a large portion of the repository.  In fact, this
-        technique doesn't even require you to have a working copy at
-        all.  This is the way most users create branches.</para>
+        Este é um procedimento mais fácil, uma vez que você não precisa
+		fazer o checkout de uma grande parte do repositório. Na verdade, 
+		para usar esta técnica você não precisa se quer ter uma cópia de
+		trabalho. Esta é a maneira que a maioria dos usuários criam 
+		ramos.</para>
 
       <figure id="svn.branchmerge.using.create.dia-1">
-        <title>Repository with new copy</title>
+        <title>Repositório com uma nova cópia</title>
         <graphic fileref="images/ch04dia3.png"/>
       </figure>
 
       <sidebar>
-        <title>Cheap Copies</title>
+        <title>Cópias Leves</title>
 
-        <para>Subversion's repository has a special design.  When you
-          copy a directory, you don't need to worry about the
-          repository growing huge—Subversion doesn't actually
-          duplicate any data.  Instead, it creates a new directory
-          entry that points to an <emphasis>existing</emphasis> tree.
-          If you're a Unix user, this is the same concept as a
-          hard-link.  As further changes are made to files and
-          directories beneath the copied directory, Subversion
-          continues to employ this hard-link concept where it can.  It
-          only duplicates data when it is necessary to disambiguate
-          different versions of objects.</para>
-
-        <para>This is why you'll often hear Subversion users talk
-          about <quote>cheap copies</quote>.  It doesn't matter how
-          large the directory is—it takes a very tiny, constant
-          amount of time to make a copy of it.  In fact, this feature
-          is the basis of how commits work in Subversion: each
-          revision is a <quote>cheap copy</quote> of the previous
-          revision, with a few items lazily changed within.  (To read
-          more about this, visit Subversion's website and read about
-          the <quote>bubble up</quote> method in Subversion's design
-          documents.)</para>
-
-        <para>Of course, these internal mechanics of copying and
-          sharing data are hidden from the user, who simply sees
-          copies of trees.  The main point here is that copies are
-          cheap, both in time and space.  If you create a branch
-          entirely within the repository (by running <command>svn copy
-          URL1 URL2</command>), it's a quick, constant-time operation.
-          Make branches as often as you want.</para>
+        <para>O repositório do Subversion tem um design especial. Quando
+		  você copia um diretório, você não precisa se preocupar com o 
+		  repositório ficando gigante—O Subversion, na realidade, 
+		  não duplica dados. Ao invés disso, ele cria uma nova entrada
+		  de diretório que aponta para uma outra árvore de diretório
+		  <emphasis>já existente</emphasis>. Caso você seja um usuário
+		  Unix, esse é o mesmo conceito do hard-link. Enquanto as 
+		  modificações são feitas em pastas e arquivos no diretório 
+		  copiado, o Subversion continua aplicando esse conceito de
+		  hard-link enquanto for possivel. Os dados somente serão 
+		  duplicados quando for necessário tira ambiguidade de 
+		  diferentes versões de um objeto.</para>
+
+        <para>É por isso que você quase não vai ouvir os usuários do 
+		  Subversion reclamando de <quote>Cópias Leves</quote>
+		  (<foreignphrase>cheap copies</foreignphrase>). Não importa o 
+		  quão grande é o diretório— a cópia sempre sera feita
+		  em um pequeno e constante espaço de tempo. Na verdade, essa
+		  funcionalidade é a base do funcionamento do commit no 
+		  Subversion: cada revisão é uma <quote>cópia leve</quote> da 
+		  revisão anterior, com algumas ligeiras modificações em alguns
+		  itens.(para ler mais sobre esse assunto, visite o website do 
+		  Subversion e leia o método <quote>bubble up</quote> nos 
+		  documentos de design do Subversion.)</para>
+
+        <para>Claro que estes mecanismos internos de copiar e 
+		  compartilhar dados estão escondidos do usuário, que vê apenas
+		  copias das arvores de arquivos. O ponto principal aqui é que
+		  as cópias são leves, tanto em tempo quanto em tamanho. Se você
+		  criar um ramo inteiro dentro do repositório (usando o comando
+		  <command>svn copy URL1 URL2</command>), será uma operação 
+		  rápida, e de tempo constante. Crie ramos sempre que quiser.
+		</para>
       </sidebar>
 
     </sect2>




More information about the svn-pt_br mailing list