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