comparison es/intro.tex @ 506:8b564f6f57f2

Translating Subversion Vs. Mercurial
author Igor TAmara <igor@tamarapatino.org>
date Sun, 09 Nov 2008 19:59:44 -0500
parents 779944196e2a
children 56914d368af4
comparison
equal deleted inserted replaced
505:446d1b4b7a71 506:8b564f6f57f2
310 una fusión. 310 una fusión.
311 \end{itemize} 311 \end{itemize}
312 312
313 Algunas personas se resisten a las herramientas distribuidas porque 313 Algunas personas se resisten a las herramientas distribuidas porque
314 desean mantener control completo sobre sus proyectos, y creen que las 314 desean mantener control completo sobre sus proyectos, y creen que las
315 herramientas centralizadas les dan tal control. En todo caso, si este 315 herramientas centralizadas les da tal control. En todo caso, si este
316 es su parecer, y publica sus repositorios de CVS o Subversion, hay 316 es su parecer, y publica sus repositorios de CVS o Subversion, hay
317 muchas herramientas disponibles que pueden obtener la historia 317 muchas herramientas disponibles que pueden obtener la historia
318 completa(A pesar de lo lento) y recrearla en otro sitio que usted no 318 completa(A pesar de lo lento) y recrearla en otro sitio que usted no
319 controla. Siendo así un control ilusorio, está impidiendo la fluidez 319 controla. Siendo así un control ilusorio, puesto que está impidiendo
320 de colaboración frente a quien se sienta impulsado a obtener una copia 320 la fluidez de colaboración en lugar de prevenir que alguien se sienta
321 y hacer una bifurcación con su historia. 321 impulsado a obtener una copia y hacer una bifurcación con su historia.
322 322
323 \subsection{Advantages for commercial projects} 323 \subsection{Ventajas para proyectos comerciales}
324 324
325 Many commercial projects are undertaken by teams that are scattered 325 Muchos proyectos comerciales tienen grupos de trabajo distribuidos
326 across the globe. Contributors who are far from a central server will 326 alrededor del globo. Quienes contribuyen y están lejos de un
327 see slower command execution and perhaps less reliability. Commercial 327 repositorio central verán una ejecución más lenta de las órdenes y tal
328 revision control systems attempt to ameliorate these problems with 328 vez menos confiabilidad. Los sistemas de control de revisión
329 remote-site replication add-ons that are typically expensive to buy 329 comerciales intentan amortiguar estos problemas con adiciones de
330 and cantankerous to administer. A distributed system doesn't suffer 330 replicación remota que usualmente son muy costosos y complicados de
331 from these problems in the first place. Better yet, you can easily 331 administradr. Un sistema distribuido no padece estos problemas. Mejor
332 set up multiple authoritative servers, say one per site, so that 332 aún, puede colocar varios servidores autorizados, por ejemplo, uno por
333 there's no redundant communication between repositories over expensive 333 sitio, de tal forma que no haya comunicación redundante entre
334 long-haul network links. 334 repositorios sobre enlaces de conexión costosos.
335 335
336 Centralised revision control systems tend to have relatively low 336 Los sistemas de control de revisiones distribuidos tienden a ser poco
337 scalability. It's not unusual for an expensive centralised system to 337 escalables. No es inusual quw costosos sistemas centralizados caigan
338 fall over under the combined load of just a few dozen concurrent 338 ante la carga combinada de unas cuantas docenas de usuarios
339 users. Once again, the typical response tends to be an expensive and 339 concurrentes. De nuevo, las respuestas típicas de replibcación tienden
340 clunky replication facility. Since the load on a central server---if 340 a ser costosas y complejas de instalar y administrar. Dado que la
341 you have one at all---is many times lower with a distributed 341 carga en un servidor central---si es que tiene uno---es muchas veces
342 tool (because all of the data is replicated everywhere), a single 342 menor con una herramienta distribuida(debido a que los datos están
343 cheap server can handle the needs of a much larger team, and 343 replicados en todas partes), un sólo servidor económico puede tratar
344 replication to balance load becomes a simple matter of scripting. 344 las necesidades de equipos mucho más grandes, y la replicación para
345 345 balancear la carga se vuelve cosa de scripts.
346 If you have an employee in the field, troubleshooting a problem at a 346
347 customer's site, they'll benefit from distributed revision control. 347 Si tiene un empleado en el campo, se beneficiará grandemente de un
348 The tool will let them generate custom builds, try different fixes in 348 sistema distribuido de control de versiones al resolver problemas en
349 isolation from each other, and search efficiently through history for 349 el sitio del cliente. La herramienta le permitirá generar
350 the sources of bugs and regressions in the customer's environment, all 350 construcciones a la medida, probar diferentes arreglos de forma
351 without needing to connect to your company's network. 351 independiente y buscar de forma eficiente las fuentes de fallos en la
352 352 historia y regresiones en los ambientes de los clientes, todo, sin
353 \section{Why choose Mercurial?} 353 necesidad de conectarse al servidor de su compañía.
354 354
355 Mercurial has a unique set of properties that make it a particularly 355 \section{¿Por qué elegir Mercurial?}
356 good choice as a revision control system. 356
357 Mercurial cuenta con un conjunto único de propiedades que lo hacen
358 particularmente una buena elección como un sistema de control de
359 revisiones, puesto que:
357 \begin{itemize} 360 \begin{itemize}
358 \item It is easy to learn and use. 361 \item Es fácil de aprender y usar.
359 \item It is lightweight. 362 \item Es liviano.
360 \item It scales excellently. 363 \item Escala de forma excelente.
361 \item It is easy to customise. 364 \item Es fácil de acondicionar.
362 \end{itemize} 365 \end{itemize}
363 366
364 If you are at all familiar with revision control systems, you should 367 Si los sistemas de control de revisiones le son familiares, debería
365 be able to get up and running with Mercurial in less than five 368 estar listo para usar Mercurial en menos de cinco minutos. Si no, va a
366 minutes. Even if not, it will take no more than a few minutes 369 tomar unos pocos minutos más. Las órdenes de Mercurial y su conjunto
367 longer. Mercurial's command and feature sets are generally uniform 370 de características son uniformes y consistentes generalmente, y basta
368 and consistent, so you can keep track of a few general rules instead 371 con que siga unas pocas reglas generales en lugar de un montón de
369 of a host of exceptions. 372 excepciones.
370 373
371 On a small project, you can start working with Mercurial in moments. 374 En un proyecto pequeño, puede comenzar a trabajar con Mercurial poco a
372 Creating new changes and branches; transferring changes around 375 poco. Creando nuevos cambios y ramas, transfiriendo cambios(localmente
373 (whether locally or over a network); and history and status operations 376 o por la red); y las operaciones relacionadas con el estado y la
374 are all fast. Mercurial attempts to stay nimble and largely out of 377 historia son rápidas. Mercurial buscar ser ligero y no incomodar en su
375 your way by combining low cognitive overhead with blazingly fast 378 camino combinando poca sobrecarga cognitiva con operaciones
376 operations. 379 asombrosamente rápidas.
377 380
378 The usefulness of Mercurial is not limited to small projects: it is 381 La utilidad de Mercurial no se limita a proyectos pequeños: está
379 used by projects with hundreds to thousands of contributors, each 382 siendo usado por proyectos con centenas de miles de contribuyentes,
380 containing tens of thousands of files and hundreds of megabytes of 383 cada uno conteniendo decenas de miles de ficheros y centenas de
381 source code. 384 megabytes de código fuente
382 385
383 If the core functionality of Mercurial is not enough for you, it's 386 Si la funcionalidad básica de Mercurial no es suficiente para usted,
384 easy to build on. Mercurial is well suited to scripting tasks, and 387 es muy fácil extenderlo. Mercurial se comporta muy bien con tareas de
385 its clean internals and implementation in Python make it easy to add 388 scripting y su limpieza interna junto con su implementación en Python
386 features in the form of extensions. There are a number of popular and 389 permiten añadir características fácilmente en forma de extensiones.
387 useful extensions already available, ranging from helping to identify 390 Hay un buen número de extensiones útiles y populares en este momento,
388 bugs to improving performance. 391 desde ayudar a identificar fallos hasta el mejoramiento de su
389 392 desempeño.
390 \section{Mercurial compared with other tools} 393
391 394 \section{Comparación de Mercurial con otras herramientas}
392 Before you read on, please understand that this section necessarily 395
393 reflects my own experiences, interests, and (dare I say it) biases. I 396 Antes de leer, por favor tenga en cuenta que esta sección
394 have used every one of the revision control tools listed below, in 397 necesariamente refleja mis propias experiencias, intereses y(tengo que
395 most cases for several years at a time. 398 decirlo) mis preferencias. He usado cada una de las herramientas de
399 control de versiones listadas a continuación, y en muchos casos por
400 varios años.
396 401
397 402
398 \subsection{Subversion} 403 \subsection{Subversion}
399 404
400 Subversion is a popular revision control tool, developed to replace 405 Subversion es una herramienta de control de revisiones muy popular,
401 CVS. It has a centralised client/server architecture. 406 desarrollada para reemplazar a CVS. Su arquitectura es centralizada
402 407 en cliente/servidor.
403 Subversion and Mercurial have similarly named commands for performing 408
404 the same operations, so if you're familiar with one, it is easy to 409 Subversion y Mercurial tienen órdenes con nombres similares para hacer
405 learn to use the other. Both tools are portable to all popular 410 las mismas operaciones, por lo que si le son familiares en una, será
406 operating systems. 411 sencillo aprender a usar la otra. Ambas herramientas son portables en
407 412 todos los sistemas operativos populares.
408 Prior to version 1.5, Subversion had no useful support for merges. 413
409 At the time of writing, its merge tracking capability is new, and known to be 414 Antes de la versión 1.5, Subversion no tenía soporte para fusiones. En
410 \href{http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced.html#svn.branchmerge.advanced.finalword}{complicated 415 el momento de la escritura, sus capcidades para llevar cuenta de las
411 and buggy}. 416 funciones son nuevas,
412 417 \href{http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced.html#svn.branchmerge.advanced.finalword}{complicadas
413 Mercurial has a substantial performance advantage over Subversion on 418 y poco estables\NdT{buggy}}.
414 every revision control operation I have benchmarked. I have measured 419
415 its advantage as ranging from a factor of two to a factor of six when 420 Mercurial tiene una ventaja considerable en el desempeño sobre
416 compared with Subversion~1.4.3's \emph{ra\_local} file store, which is 421 Subversion en cualquier operación de control de revisiones que yo haya
417 the fastest access method available. In more realistic deployments 422 medido. He medido sus ventajas con factores desde dos hasta seis veces
418 involving a network-based store, Subversion will be at a substantially 423 comparando con almacenamiento de archivos \emph{ra\_local}
419 larger disadvantage. Because many Subversion commands must talk to 424 Subversion~1.4.3, el cual es el método de acceso más rápido. En los
420 the server and Subversion does not have useful replication facilities, 425 escenarios más sencillos incluyendo almacenamiento con la red de por
421 server capacity and network bandwidth become bottlenecks for modestly 426 medio, Subversion se encuentra en desventaja aún mayor. Dado que casi
422 large projects. 427 todas las órdenes de Subversion deben tratar con el servidor y
423 428 Subversion no tiene utilidades de replicación sencillas, la capacidad
424 Additionally, Subversion incurs substantial storage overhead to avoid 429 del servidor y el ancho de banda se convierten en cuellos de botella
425 network transactions for a few common operations, such as finding 430 para proyectos modestamente grandes.
426 modified files (\texttt{status}) and displaying modifications against 431
427 the current revision (\texttt{diff}). As a result, a Subversion 432 Adicionalmente, Subversion tiene un sobrecosto en almacentamiento
428 working copy is often the same size as, or larger than, a Mercurial 433 considerable para evitar transacciones por red en algunas operaciones,
429 repository and working directory, even though the Mercurial repository 434 tales como encontrar ficheros modificados(\texttt{status}) y desplegar
430 contains a complete history of the project. 435 información frente a la revisión actual(\texttt{diff}). Como
431 436 resultado, la copia de trabajo de Subversion termina siendo del mismo
432 Subversion is widely supported by third party tools. Mercurial 437 tamaño o más grande que un repositorio de Mercurial y el directorio de
433 currently lags considerably in this area. This gap is closing, 438 trabajo, a pesar de que el repositorio de Mercurial contiene la
434 however, and indeed some of Mercurial's GUI tools now outshine their 439 historia completa del proyecto.
435 Subversion equivalents. Like Mercurial, Subversion has an excellent 440
436 user manual. 441 Subversion tiene soporte amplio de otras herramientas. Mercurial por
442 ahora está bastante atrás en este aspecto. Esta diferencia está
443 disminuyendo, y algunas de las herramientas GUI\NdT{Interfaz de
444 Usuario Gráfica}, eclipsan sus equivalentes de Subversion. Al igual
445 que Mercurial, Subversion tiene un excelente manual de usuario.
437 446
438 Because Subversion doesn't store revision history on the client, it is 447 Because Subversion doesn't store revision history on the client, it is
439 well suited to managing projects that deal with lots of large, opaque 448 well suited to managing projects that deal with lots of large, opaque
440 binary files. If you check in fifty revisions to an incompressible 449 binary files. If you check in fifty revisions to an incompressible
441 10MB file, Subversion's client-side space usage stays constant The 450 10MB file, Subversion's client-side space usage stays constant The