hgbook

diff es/concepts.tex @ 410:7c84967093e1

translated some paragraphs, and updated the project status file
author Javier Rojas <jerojasro@devnull.li>
date Mon Nov 10 22:18:24 2008 -0500 (2008-11-10)
parents 446d1b4b7a71
children 006cd2b41d11
line diff
     1.1 --- a/es/concepts.tex	Sat Nov 08 23:29:59 2008 -0500
     1.2 +++ b/es/concepts.tex	Mon Nov 10 22:18:24 2008 -0500
     1.3 @@ -125,66 +125,71 @@
     1.4  manejar deltas de ficheros con contenido binario arbitrario; no
     1.5  necesita tratar el texto plano como un caso especial.
     1.6  
     1.7 -\subsection{Safe operation}
     1.8 +\subsection{Operación segura}
     1.9  \label{sec:concepts:txn}
    1.10  
    1.11 -Mercurial only ever \emph{appends} data to the end of a revlog file.
    1.12 -It never modifies a section of a file after it has written it.  This
    1.13 -is both more robust and efficient than schemes that need to modify or
    1.14 -rewrite data.
    1.15 -
    1.16 -In addition, Mercurial treats every write as part of a
    1.17 -\emph{transaction} that can span a number of files.  A transaction is
    1.18 -\emph{atomic}: either the entire transaction succeeds and its effects
    1.19 -are all visible to readers in one go, or the whole thing is undone.
    1.20 -This guarantee of atomicity means that if you're running two copies of
    1.21 -Mercurial, where one is reading data and one is writing it, the reader
    1.22 -will never see a partially written result that might confuse it.
    1.23 -
    1.24 -The fact that Mercurial only appends to files makes it easier to
    1.25 -provide this transactional guarantee.  The easier it is to do stuff
    1.26 -like this, the more confident you should be that it's done correctly.
    1.27 -
    1.28 -\subsection{Fast retrieval}
    1.29 -
    1.30 -Mercurial cleverly avoids a pitfall common to all earlier
    1.31 -revision control systems: the problem of \emph{inefficient retrieval}.
    1.32 -Most revision control systems store the contents of a revision as an
    1.33 -incremental series of modifications against a ``snapshot''.  To
    1.34 -reconstruct a specific revision, you must first read the snapshot, and
    1.35 -then every one of the revisions between the snapshot and your target
    1.36 -revision.  The more history that a file accumulates, the more
    1.37 -revisions you must read, hence the longer it takes to reconstruct a
    1.38 -particular revision.
    1.39 +Mercurial sólo \emph{añade} datos al final de los ficheros de revlog. Nunca
    1.40 +modifica ninguna sección de un fichero una vez ha sido escrita. Esto es más
    1.41 +robusto y eficiente que otros esquemas que requieren modificar o reescribir
    1.42 +datos.
    1.43 +
    1.44 +Adicionalmente, Mercurial trata cada escritura como parte de una
    1.45 +\emph{transacción}, que puede cubrir varios ficheros. Una transacción es
    1.46 +\emph{atómica}: o bien la transacción tiene éxito y entonces todos sus efectos
    1.47 +son visibles para todos los lectores, o la operación completa es cancelada.
    1.48 +% TODO atomicidad no existe de acuerdo a DRAE, reemplazar
    1.49 +Esta garantía de atomicidad implica que, si usted está ejecutando dos copias de
    1.50 +Mercurial, donde una de ellas está leyendo datos y la otra los está escribiendo,
    1.51 +el lector nunca verá un resultado escrito parcialmente que podría confundirlo.
    1.52 +
    1.53 +El hecho de que Mercurial sólo hace adiciones a los ficheros hace más fácil
    1.54 +proveer esta garantía transaccional. A medida que sea más fácil hacer
    1.55 +operaciones como ésta, más confianza tendrá usted en que sean hechas
    1.56 +correctamente.
    1.57 +
    1.58 +\subsection{Recuperación rápida de datos}
    1.59 +
    1.60 +Mercurial evita ingeniosamente un problema común a todos los sistemas de control
    1.61 +de revisiones anteriores> el problema de la
    1.62 +\emph{recuperación\ndt{\emph{Retrieval}. Recuperación en el sentido de traer los
    1.63 +datos, o reconstruirlos a partir de otros datos, pero no debido a una falla o
    1.64 +calamidad, sino a la operación normal del sistema.} ineficiente de datos}.
    1.65 +Muchos sistemas de control de revisiones almacenan los contenidos de una
    1.66 +revisión como una serie incremental de modificaciones a una ``instantánea''.
    1.67 +Para reconstruir una versión cualquiera, primero usted debe leer la instantánea,
    1.68 +y luego cada una de las revisiones entre la instantánea y su versión objetivo.
    1.69 +Entre más largo sea el historial de un fichero, más revisiones deben ser leídas,
    1.70 +y por tanto toma más tiempo reconstruir una versión particular.
    1.71  
    1.72  \begin{figure}[ht]
    1.73    \centering
    1.74    \grafix{snapshot}
    1.75 -  \caption{Snapshot of a revlog, with incremental deltas}
    1.76 +  \caption{Instantánea de un revlog, con deltas incrementales}
    1.77    \label{fig:concepts:snapshot}
    1.78  \end{figure}
    1.79  
    1.80 -The innovation that Mercurial applies to this problem is simple but
    1.81 -effective.  Once the cumulative amount of delta information stored
    1.82 -since the last snapshot exceeds a fixed threshold, it stores a new
    1.83 -snapshot (compressed, of course), instead of another delta.  This
    1.84 -makes it possible to reconstruct \emph{any} revision of a file
    1.85 -quickly.  This approach works so well that it has since been copied by
    1.86 -several other revision control systems.
    1.87 -
    1.88 -Figure~\ref{fig:concepts:snapshot} illustrates the idea.  In an entry
    1.89 -in a revlog's index file, Mercurial stores the range of entries from
    1.90 -the data file that it must read to reconstruct a particular revision.
    1.91 -
    1.92 -\subsubsection{Aside: the influence of video compression}
    1.93 -
    1.94 -If you're familiar with video compression or have ever watched a TV
    1.95 -feed through a digital cable or satellite service, you may know that
    1.96 -most video compression schemes store each frame of video as a delta
    1.97 -against its predecessor frame.  In addition, these schemes use
    1.98 -``lossy'' compression techniques to increase the compression ratio, so
    1.99 -visual errors accumulate over the course of a number of inter-frame
   1.100 -deltas.
   1.101 +La innovación que aplica Mercurial a este problema es simple pero efectiva.
   1.102 +Una vez la cantidad de información de deltas acumulada desde la última
   1.103 +instantánea excede un umbral fijado de antemano, se almacena una nueva
   1.104 +instantánea (comprimida, por supuesto), en lugar de otro delta. Esto hace
   1.105 +posible reconstruir \emph{cualquier} versión de un fichero rápidamente. Este
   1.106 +enfoque funciona tan bien que desde entonces ha sido copiado por otros sistemas
   1.107 +de control de revisiones.
   1.108 +
   1.109 +La figura~\ref{fig:concepts:snapshot} ilustra la idea. En una entrada en el
   1.110 +fichero índice de un revlog, Mercurial almacena el rango de entradas (deltas)
   1.111 +del fichero de datos que se deben leer para reconstruir una revisión en
   1.112 +particular.
   1.113 +
   1.114 +\subsubsection{Nota al margen: la influencia de la compresión de vídeo}
   1.115 +
   1.116 +Si le es familiar la compresión de vídeo, o ha mirado alguna vez una emisión de
   1.117 +TV a través de cable digital o un servicio de satélite, puede que sepa que la 
   1.118 +mayor parte de los esquemas de compresión de vídeo almacenan cada cuadro del
   1.119 +mismo como un delta contra el cuadro predecesor. Adicionalmente, estos esquemas
   1.120 +usan técnicas de compresión ``con pérdida'' para incrementar la tasa de
   1.121 +compresión, por lo que los errores visuales se acumulan a lo largo de una
   1.122 +cantidad de deltas inter-cuadros.
   1.123  
   1.124  Because it's possible for a video stream to ``drop out'' occasionally
   1.125  due to signal glitches, and to limit the accumulation of artefacts