Mercurial > hgbook
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 |