comparison es/concepts.tex @ 509:7c84967093e1

translated some paragraphs, and updated the project status file
author Javier Rojas <jerojasro@devnull.li>
date Mon, 10 Nov 2008 22:18:24 -0500
parents 446d1b4b7a71
children 006cd2b41d11
comparison
equal deleted inserted replaced
508:04ba1c7785ae 509:7c84967093e1
123 alguna representación de texto plano adecuada, y ambas alternativas 123 alguna representación de texto plano adecuada, y ambas alternativas
124 son enfoques que desperdician bastantes recursos. Mercurial puede 124 son enfoques que desperdician bastantes recursos. Mercurial puede
125 manejar deltas de ficheros con contenido binario arbitrario; no 125 manejar deltas de ficheros con contenido binario arbitrario; no
126 necesita tratar el texto plano como un caso especial. 126 necesita tratar el texto plano como un caso especial.
127 127
128 \subsection{Safe operation} 128 \subsection{Operación segura}
129 \label{sec:concepts:txn} 129 \label{sec:concepts:txn}
130 130
131 Mercurial only ever \emph{appends} data to the end of a revlog file. 131 Mercurial sólo \emph{añade} datos al final de los ficheros de revlog. Nunca
132 It never modifies a section of a file after it has written it. This 132 modifica ninguna sección de un fichero una vez ha sido escrita. Esto es más
133 is both more robust and efficient than schemes that need to modify or 133 robusto y eficiente que otros esquemas que requieren modificar o reescribir
134 rewrite data. 134 datos.
135 135
136 In addition, Mercurial treats every write as part of a 136 Adicionalmente, Mercurial trata cada escritura como parte de una
137 \emph{transaction} that can span a number of files. A transaction is 137 \emph{transacción}, que puede cubrir varios ficheros. Una transacción es
138 \emph{atomic}: either the entire transaction succeeds and its effects 138 \emph{atómica}: o bien la transacción tiene éxito y entonces todos sus efectos
139 are all visible to readers in one go, or the whole thing is undone. 139 son visibles para todos los lectores, o la operación completa es cancelada.
140 This guarantee of atomicity means that if you're running two copies of 140 % TODO atomicidad no existe de acuerdo a DRAE, reemplazar
141 Mercurial, where one is reading data and one is writing it, the reader 141 Esta garantía de atomicidad implica que, si usted está ejecutando dos copias de
142 will never see a partially written result that might confuse it. 142 Mercurial, donde una de ellas está leyendo datos y la otra los está escribiendo,
143 143 el lector nunca verá un resultado escrito parcialmente que podría confundirlo.
144 The fact that Mercurial only appends to files makes it easier to 144
145 provide this transactional guarantee. The easier it is to do stuff 145 El hecho de que Mercurial sólo hace adiciones a los ficheros hace más fácil
146 like this, the more confident you should be that it's done correctly. 146 proveer esta garantía transaccional. A medida que sea más fácil hacer
147 147 operaciones como ésta, más confianza tendrá usted en que sean hechas
148 \subsection{Fast retrieval} 148 correctamente.
149 149
150 Mercurial cleverly avoids a pitfall common to all earlier 150 \subsection{Recuperación rápida de datos}
151 revision control systems: the problem of \emph{inefficient retrieval}. 151
152 Most revision control systems store the contents of a revision as an 152 Mercurial evita ingeniosamente un problema común a todos los sistemas de control
153 incremental series of modifications against a ``snapshot''. To 153 de revisiones anteriores> el problema de la
154 reconstruct a specific revision, you must first read the snapshot, and 154 \emph{recuperación\ndt{\emph{Retrieval}. Recuperación en el sentido de traer los
155 then every one of the revisions between the snapshot and your target 155 datos, o reconstruirlos a partir de otros datos, pero no debido a una falla o
156 revision. The more history that a file accumulates, the more 156 calamidad, sino a la operación normal del sistema.} ineficiente de datos}.
157 revisions you must read, hence the longer it takes to reconstruct a 157 Muchos sistemas de control de revisiones almacenan los contenidos de una
158 particular revision. 158 revisión como una serie incremental de modificaciones a una ``instantánea''.
159 Para reconstruir una versión cualquiera, primero usted debe leer la instantánea,
160 y luego cada una de las revisiones entre la instantánea y su versión objetivo.
161 Entre más largo sea el historial de un fichero, más revisiones deben ser leídas,
162 y por tanto toma más tiempo reconstruir una versión particular.
159 163
160 \begin{figure}[ht] 164 \begin{figure}[ht]
161 \centering 165 \centering
162 \grafix{snapshot} 166 \grafix{snapshot}
163 \caption{Snapshot of a revlog, with incremental deltas} 167 \caption{Instantánea de un revlog, con deltas incrementales}
164 \label{fig:concepts:snapshot} 168 \label{fig:concepts:snapshot}
165 \end{figure} 169 \end{figure}
166 170
167 The innovation that Mercurial applies to this problem is simple but 171 La innovación que aplica Mercurial a este problema es simple pero efectiva.
168 effective. Once the cumulative amount of delta information stored 172 Una vez la cantidad de información de deltas acumulada desde la última
169 since the last snapshot exceeds a fixed threshold, it stores a new 173 instantánea excede un umbral fijado de antemano, se almacena una nueva
170 snapshot (compressed, of course), instead of another delta. This 174 instantánea (comprimida, por supuesto), en lugar de otro delta. Esto hace
171 makes it possible to reconstruct \emph{any} revision of a file 175 posible reconstruir \emph{cualquier} versión de un fichero rápidamente. Este
172 quickly. This approach works so well that it has since been copied by 176 enfoque funciona tan bien que desde entonces ha sido copiado por otros sistemas
173 several other revision control systems. 177 de control de revisiones.
174 178
175 Figure~\ref{fig:concepts:snapshot} illustrates the idea. In an entry 179 La figura~\ref{fig:concepts:snapshot} ilustra la idea. En una entrada en el
176 in a revlog's index file, Mercurial stores the range of entries from 180 fichero índice de un revlog, Mercurial almacena el rango de entradas (deltas)
177 the data file that it must read to reconstruct a particular revision. 181 del fichero de datos que se deben leer para reconstruir una revisión en
178 182 particular.
179 \subsubsection{Aside: the influence of video compression} 183
180 184 \subsubsection{Nota al margen: la influencia de la compresión de vídeo}
181 If you're familiar with video compression or have ever watched a TV 185
182 feed through a digital cable or satellite service, you may know that 186 Si le es familiar la compresión de vídeo, o ha mirado alguna vez una emisión de
183 most video compression schemes store each frame of video as a delta 187 TV a través de cable digital o un servicio de satélite, puede que sepa que la
184 against its predecessor frame. In addition, these schemes use 188 mayor parte de los esquemas de compresión de vídeo almacenan cada cuadro del
185 ``lossy'' compression techniques to increase the compression ratio, so 189 mismo como un delta contra el cuadro predecesor. Adicionalmente, estos esquemas
186 visual errors accumulate over the course of a number of inter-frame 190 usan técnicas de compresión ``con pérdida'' para incrementar la tasa de
187 deltas. 191 compresión, por lo que los errores visuales se acumulan a lo largo de una
192 cantidad de deltas inter-cuadros.
188 193
189 Because it's possible for a video stream to ``drop out'' occasionally 194 Because it's possible for a video stream to ``drop out'' occasionally
190 due to signal glitches, and to limit the accumulation of artefacts 195 due to signal glitches, and to limit the accumulation of artefacts
191 introduced by the lossy compression process, video encoders 196 introduced by the lossy compression process, video encoders
192 periodically insert a complete frame (called a ``key frame'') into the 197 periodically insert a complete frame (called a ``key frame'') into the