Mercurial > hgbook
annotate es/intro.tex @ 592:26fb9b724588
translated some paragraphs to spanish from mq-ref.tex
author | Igor Támara <igor@tamarapatino.org> |
---|---|
date | Wed, 07 Jan 2009 23:47:09 -0500 |
parents | cf6b9bf14af7 |
children | e98a8c3afcef |
rev | line source |
---|---|
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
1 \chapter{Introducción} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
2 \label{chap:intro} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
3 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
4 \section{Acerca del control de revisiones} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
5 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
6 El control de revisiones es el proceso de administrar diferentes |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
7 versiones de una pieza de información. En su forma más simple es algo |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
8 que la mayoría de gente hace a mano: cada vez que usted modifica un |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
9 fichero, lo graba con un nuevo nombre que contiene un número, el |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
10 siguiente mayor que el anterior. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
11 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
12 Administrar manualmente muchas versiones de un fichero es una tarea |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
13 propensa a errores, a pesar de que hace bastante tiempo hay |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
14 herramientas que ayudan en este proceso. Las primeras herramientas |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
15 para automatizar el control de revisiones fueron pensadas para que un |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
16 usuario administrara un solo fichero. En las décadas pasadas, el |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
17 alcance de las herramientas de control de revisiones ha ido aumentando |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
18 considerablemente; ahora manejan muchos ficheros y facilitan el |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
19 trabajo en conjunto de varias personas. Las mejores herramientas de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
20 control de revisiones de la actualidad no tienen problema con miles de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
21 personas trabajando en proyectos que consisten de decenas de miles de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
22 ficheros. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
23 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
24 \subsection{¿Por qué usar control de revisiones?} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
25 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
26 Hay muchas razones por las cuales usted o su equipo desearía usar una |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
27 herramienta automática de control de revisiones para un proyecto. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
28 \begin{itemize} |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
29 \item Contar con la historia y la evolución de su proyecto, para |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
30 evitar hacer la tarea manualmente. Por cada cambio tendrá una |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
31 bitácora de \emph{quién} lo hizo; \emph{por qué} se hizo; |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
32 \emph{cuándo} se hizo; y de \emph{qué} se trataba el cambio. |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
33 \item Cuando trabaja con más personas, los programas de control de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
34 revisiones facilitan la colaboración. Por ejemplo, cuando varias |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
35 personas de forma casi simultanea pueden hacer cambios |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
36 incompatibles, el programa le ayudará a identificar y resolver tales |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
37 conflictos. |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
38 \item Puede ayudarle a recuperarse de equivocaciones. Si aplica un |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
39 cambio que posteriormente se evidencia como un error, puede |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
40 revertirlo a una versión previa a uno o muchos ficheros. De hecho, |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
41 una herramienta \emph{realmente} buena, incluso puede ayudarle |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
42 efectivamente a darse cuenta exactamente cuándo se introdujo el |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
43 error( para más detalles ver la sección~\ref{sec:undo:bisect}). |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
44 \item Le permitirá trabajar simultáneamente, y manejar las diferencias |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
45 entre múltiples versiones de su proyecto. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
46 \end{itemize} |
575
cf6b9bf14af7
corrected some typos, added a note about the meaning of a sentence
Javier Rojas <jerojasro@devnull.li>
parents:
508
diff
changeset
|
47 La mayoría de estas razones son igualmente válidas ---por lo menos en |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
48 teoría--- así esté trabajando en un proyecto solo, o con mucha gente. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
49 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
50 Algo fundamental acerca de lo práctico de un sistema de control de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
51 revisiones en estas dos escalas (``un hacker solo'' y ``un equipo |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
52 gigantesco'') es cómo se comparan los \emph{beneficios} con los |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
53 \emph{costos}. Una herramienta de control de revisiones que sea |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
54 difícil de entender o usar impondrá un costo alto. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
55 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
56 Un proyecto de quinientas personas es muy propenso a colapsar |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
57 solamente con su peso inmediatamente sin una herramienta de control de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
58 versiones y un proceso. En este caso, el costo de usar control de |
575
cf6b9bf14af7
corrected some typos, added a note about the meaning of a sentence
Javier Rojas <jerojasro@devnull.li>
parents:
508
diff
changeset
|
59 revisiones ni siquiera se tiene en cuenta, puesto que \emph{sin} él, |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
60 el fracaso está casi garantizado. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
61 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
62 Por otra parte, un ``arreglo rápido'' de una sola persona, excluiría |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
63 la necesidad de usar una herramienta de control de revisiones, porque |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
64 casi seguramente, el costo de usar una estaría cerca del costo del |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
65 proyecto. ¿No es así? |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
66 |
575
cf6b9bf14af7
corrected some typos, added a note about the meaning of a sentence
Javier Rojas <jerojasro@devnull.li>
parents:
508
diff
changeset
|
67 %TODO el sentido de uniquely va más a decir que hace ambas cosas sin problema, |
cf6b9bf14af7
corrected some typos, added a note about the meaning of a sentence
Javier Rojas <jerojasro@devnull.li>
parents:
508
diff
changeset
|
68 % no a que ``apenas''las soporta, no? |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
69 Mercurial solamente soporta \emph{ambas} escalas de de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
70 desarrollo. Puede aprender lo básico en pocos minutos, y dado su bajo |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
71 sobrecosto, puede aplicar el control de revisiones al proyecto más |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
72 pequeño con facilidad. Su simplicidad significa que no tendrá que |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
73 preocuparse por conceptos obtusos o secuencias de órdenes compitiendo |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
74 por espacio mental con lo que sea que \emph{realmente} esté tratando |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
75 de hacer. Al mismo tiempo, Mercurial tiene alto desempeño y su |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
76 naturaleza peer-to-peer le permite escalar indoloramente para manejar |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
77 grandes proyectos. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
78 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
79 Ninguna herramienta de control de revisiones puede salvar un |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
80 proyecto mal administrado, pero la elección de herramientas puede |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
81 hacer una gran diferencia en la fluidez con la cual puede trabajar en |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
82 el proyecto. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
83 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
84 \subsection{La cantidad de nombres del control de revisiones} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
85 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
86 El control de revisiones es un campo amplio, tan ampli que no hay un |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
87 acrónimo o nombre único. A continuación presentamos un listado de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
88 nombres comunes y acrónimos que se podrían encontrar: |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
89 \begin{itemize} |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
90 \item Control de revisiones (RCS) |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
91 \item Manejo de Configuraciones de Programas(SCM), o administracón de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
92 configuraciones |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
93 \item Administración de código fuente |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
94 \item Control de Código Fuente, o Control de Fuentes |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
95 \item Control de Versiones(VCS) |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
96 \end{itemize} |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
97 Algunas personas aducen que estos términos tienen significados |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
98 diversos, pero en la práctica se sobrelapan tanto que no hay un |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
99 acuerdo o una forma adecuada de separarlos. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
100 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
101 \section{Historia resumida del control de revisiones} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
102 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
103 La herramienta de control de revisiones más antigua conocida es SCCS |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
104 (Sistema de Control de Código), escrito por Marc Rochkind en Bell |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
105 Labs, a comienzos de los setentas(1970s). SCCS operaba sobre ficheros |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
106 individuales, y requería que cada persona que trabajara en el proyecto |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
107 tuviera acceso a un espacio compartido en un solo sistema. Solamente |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
108 una persona podía modificar un fichero en un momento dado; el |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
109 arbitramiento del acceso a los ficheros se hacía con candados. Era |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
110 común que la gente pusiera los candados a los ficheros, y que |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
111 posteriormente olvidara quitarlos, impidiendo que otro pudiera |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
112 modificar los ficheros en cuestión sin la intervención del |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
113 administrador. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
114 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
115 Walter Tichy desarrolló una alternativa gratutita a SCCS a comienzos |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
116 de los ochentas(1980s), llamó a su programa RCS(Sistema de Control de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
117 Revisiones). Al igual que SCCS, RCS requería que los desarrolladores |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
118 trabajaran en un único espacio compartido y colocaran candados a los |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
119 ficheros para evitar que varias personas los estuvieran modificando |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
120 simultáneamente. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
121 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
122 Después en los ochenta, Dick Grune usó RCS como un bloque de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
123 construcción para un conjunto de guiones de línea de comando, que |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
124 inicialmente llamó cmt, pero que renombró a CVS(Sistema Concurrente de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
125 Versiones). La gran innovación de CVS era que permitía a los |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
126 desarrolladores trabajar simultáneamente de una forma más o menos |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
127 independiente en sus propios espacios de trabajo. Los espacios de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
128 trabajo personales impedian que los desarrolladores se pisaran las |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
129 mangueras todo el tiempo, situación común con SCCS y RCS. Cada |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
130 desarrollador tenía una copia de todo el fichero del proyecto y podía |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
131 modificar su copia independientemente, Tenían que fusionar sus |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
132 ediciones antes de consignar los cambios al repositorio central. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
133 |
502
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
134 Brian Berliner tomó los scripts originales de Grune y los reescribió |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
135 en~C, haciéndolos públicos en 1989, código sobre el cual se ha |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
136 desarrollado la versión moderna de CVS. CVS posteriormente adquirió |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
137 la habilidad de operar sobre una conexión de red, dotándolo de una |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
138 arquitectura, cliente/servidor. La arquitectura de CVS es |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
139 centralizada; La historia del proyecto está únicamente en el |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
140 repositorio central. Los espacios de trabajo de los clientes |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
141 contienen únicamente copias recientes de las versiones de los |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
142 ficheros, y pocos metadatos para indicar dónde está el servidor. CVS |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
143 ha tenido un éxito enorme; Es probablemente el sistema de control de |
4cdeb830118b
Starting translating intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
501
diff
changeset
|
144 revisiones más extendido del planeta. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
145 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
146 A comienzos de los noventa(1990s), Sun MicroSystems desarrollo un |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
147 temprano sistema distribuido de revisión de controles llamado TeamWare |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
148 Un espacio de trabajo TeamWare contiene una copia completa de la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
149 historia del proyecto. TeamWare no tiene la noción de repositorio |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
150 central. (CVS se basaba en RCS para el almacenamiento de su historia; |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
151 TeamWare usaba SCCS.) |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
152 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
153 A medida que avanzaba la decada de los noventa, se empezño a |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
154 evidenciar los problemas de CVS. Alacena cambios simultáneos a muchos |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
155 ficheros de forma individual, en lugar de agruparlos como una |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
156 operación única y atómica lógicamente. No maneja bien su jerarquía de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
157 ficheros bien; es fácil desordenar un repositorio renombrando ficheros |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
158 y directorios. Peor aún, su código fuente es difícil de leer y |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
159 mantener, lo que hace que su ``umbral de dolor'' para arreglar sus |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
160 problemas arquitecturales algo prohibitivo. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
161 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
162 En 2001, Jim Blandy y Karl Fogel, dos desarrolladores que habían |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
163 trabajado en CVS, comenzaron un proyecto para reemplazarlo con una |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
164 herramienta con mejor arquitectura y código más limpio. El resultado, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
165 Subversion, no se separó del modelo centralizado cliente/servidor de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
166 CVS, pero añadió consignaciones atómicas de varios ficheros, mejor |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
167 manejo de nombres de espacios, y otras características que lo hacen |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
168 mejor que CVS. Desde su versión inicial, ha ido creciendo en |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
169 popularidad. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
170 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
171 Más o menos en forma simultánea Graydon Hoare comenzó a trabajar en un |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
172 sistema distribuido de control de versiones ambicioso que llamó |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
173 Monotone. Mientras que Monotone se enfocaba a evitar algunas fallas de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
174 diseño de CVS con una arquitectura peer-to-peer, fue mucho más |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
175 allá(junto con otros proyectos subsecuentes) que unas herramientas de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
176 control de revisiones en varios aspectos innovadores. Usa hashes |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
177 criptográficos como identificadores, y tiene una noción integral de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
178 ``confianza'' para código de diversas fuentes. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
179 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
180 Mercurial nació en el 2005. Algunos de sus aspectos de de diseño |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
181 fueron influenciados por Monotone, pero Mercurial se enfoca en la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
182 facilidad de uso, gran rendimiento y escalabilidad para proyectos muy |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
183 grandes. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
184 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
185 \section{Tendencias en el control de revisiones} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
186 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
187 Ha habido varias tendencias en el desarrollo y uso de las herramientas |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
188 de control de revisiones en las pasadas cuatro décadas, mientras la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
189 gente se ha vuelto familiar con las capacidades de sus herramientas |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
190 así mismo con sus limitaciones. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
191 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
192 La primera generación comenzó administrando ficheros individuales en |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
193 computadores por persona. A pesar de que tales herramientas |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
194 representaron un avance importante frente al control de revisiones |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
195 manual, su modelo de candados y la limitación a un sólo computador, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
196 determinó equipos de trabajo pequeños y acoplados. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
197 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
198 La segunda generación dejó atrás esas limitaciones moviéndose a |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
199 arquitecturas centradas en redes, y administrando proyectos completos |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
200 uno a la vez. A medida que los proyectos crecían, nacieron nuevos |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
201 problemas. Con la necesidad de comunicación frecuente con los |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
202 servidores, escalar estas máquinas se convirtió en un problema en |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
203 proyectos realmente grandes. Las redes con poca estabilidad impidieron |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
204 que usuarios remotos se conectaran al servidor. A medida que los |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
205 proyecos de código abierto comenzaron a ofrecer acceso de sólo lectura |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
206 de forma anónima a cualquiera, la gente sin permiso para consignar, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
207 vio que no podían usar tales herramientas para interactuar en un |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
208 proyecto de forma natural, puesto que no podían guardar sus cambios. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
209 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
210 La generación actual de herramientas de control de revisiones es de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
211 forma natural peer-to-peer. Todos estos sistemas han eliminado la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
212 dependencia de un único servidor central, y han permitido que la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
213 gente distribuya sus datos de control de revisiones donde realmente se |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
214 necesita. La colaboración a través de Internet ha cambiado las |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
215 limitantes tecnológicas a la cuestión de elección y consenso. Las |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
216 herramientas modernas pueden operar sin conexión indefinidamenta y |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
217 autónomamente, necesitando una conexión de red solamente para |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
218 sincronizar los cambios con otro repositorio. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
219 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
220 \section{Algunas ventajas del control distribuido de revisiones} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
221 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
222 A pesar de que las herramientas para el control distribuido de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
223 revisiones lleva varios años siendo tan robusto y usable como la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
224 generación previa de su contraparte, personas que usan herramientas |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
225 más antiguas no se han percatado de sus ventajas. Hay gran cantidad |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
226 de situaciones en las cuales las herramientas distribuidas brillan |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
227 frente a las centralizadas. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
228 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
229 Para un desarrollador individual, las herramientas distribuidas casi |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
230 siempre son más rápidas que las centralizadas. Por una razón sencilla: |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
231 Una herramienta centralizada necesita comunicarse por red para las |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
232 operaciones más usuales, debido a que los metadatos se almacenan en |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
233 una sola copia en el servidor central. Una herramienta distribuida |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
234 almacena todos sus metadatos localmente. Con todo lo demás de la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
235 misma forma, comunicarse por red tiene un sobrecosto en una |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
236 herramienta centralizada. No subestime el valor de una herramienta de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
237 respuesta rápida: Usted empleará mucho tiempo interactuando con su |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
238 programa de control de revisiones. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
239 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
240 Las herramientas distribuidas son indiferentes a los caprichos de su |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
241 infraestructura de servidores, de nuevo, debido a la replicación de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
242 metadatos en tantos lugares. Si usa un sistema centralizado y su |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
243 servidor explota, ojalá los medios físicos de su copia de seguridad |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
244 sean confiables, y que su última copia sea reciente y además |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
245 funcione. Con una herramienta distribuida tiene tantas copias de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
246 seguridad disponibles como computadores de contribuidores. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
247 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
248 La confiabilidad de su red afectará las herramientas distribuidas de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
249 una forma mucho menor que las herramientas centralizadas No puede |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
250 siquiera usar una herramienta centralizada sin conexión de red, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
251 excepto con algunas órdenes muy limitadas. Con herramientas |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
252 distribuidas, si sus conexión cae mientras usted está trabajando, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
253 podría nisiquiera darse cuenta. Lo único que que no podrá hacer es |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
254 comunicarse con repositorios en otros computadores, algo que es |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
255 relativamente raro comparado con las operaciones locales. Si tiene |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
256 colaboradores remotos en su equipo, puede ser significante. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
257 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
258 \subsection{Ventajas para proyectos de código abierto} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
259 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
260 Si descubre un proyecto de código abierto y decide que desea comenzar |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
261 a trabajar en él, y ese proyecto usa una herramienta de control |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
262 distribuido de revisiones, usted es un par con la gente que se |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
263 considera el ``alma'' del proyecto. Si ellos publican los |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
264 repositorios, se puede copiar inmediatamente la historia del proyecto, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
265 hacer cambios y guardar su trabajo, usando las mismas herramientas de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
266 la misma forma que ellos. En contraste, con una herramienta |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
267 centralizada, debe usar el programa en un modo ``sólo lectura'' a |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
268 menos que alguien le otorgue permisos para consignar cambios en el |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
269 repositorio central. Hasta entonces, no podrá almacenar sus cambios y |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
270 sus modificaciones locales correrán el riesgo de dañarse cuando trate |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
271 de actualizar su vista del repositorio. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
272 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
273 \subsubsection{Las bifurcaciones(forks) no son un problema} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
274 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
275 Se ha mencionado que las herramientas de control distribuido de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
276 versiones albergan un riesgo a los proyectos de código abierto, puesto |
504
779944196e2a
corrected typo in command to insert notes of translators
Javier Rojas <jerojasro@devnull.li>
parents:
503
diff
changeset
|
277 que se vuelve muy sencillo hacer una ``bifurcanción''\ndt{fork.} del |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
278 desarrollo del proyecto. Una bifurcación pasa cuando hay diferencias |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
279 de opinión o actitud entre grupos de desarrolladores que desenvoca en |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
280 la decisión de la imposibilidad de continuar trabajando juntos. Cada |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
281 parte toma una copia más o menos completa del código fuente del |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
282 proyecto y toma su propio rumbo. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
283 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
284 En algunas ocasiones los líderes de las bifurcaciones reconcilian sus |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
285 diferencias. Con un sistema centralizado de control de revisiones, el |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
286 proceso \emph{técnico} de reconciliarse es doloroso, y se hace de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
287 forma muy manual. Tiene que decidir qué historia de revisiones va a |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
288 ``win'', e injertar los cambios del otro equipo en el árbol de alguna |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
289 manera. Con esto usualmente se pierde algo o todo del historial de la |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
290 revisión de alguna de las partes. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
291 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
292 Lo que las herramientas distribuidas hacen con respecto a las |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
293 bifurcaciones, es que las bifurcaciones son la \emph{única} forma de |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
294 desarrollar un proyecto. Cada cambio que usted hace es potencialmente |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
295 un punto de bifurcación. La gran fortaleza de esta aproximación es que |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
296 las herramientas distribuidas de control de revisiones tiene que ser |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
297 bueno al \emph{fusionar} las bifurcaciones, porque las bifurcaciones |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
298 son absolutamente fundamentales: pasan todo el tiempo. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
299 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
300 Si todas las porciones de trabajo que todos hacen todo el tiempo, se |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
301 enmarca en términos de bifurcaciones y fusiones, entonces a aquello a |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
302 lo que se refiere en el mundo del código abierto a una ``bifurcación'' |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
303 se convierte \emph{puramente} en una cuestión social. Lo que hacen las |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
304 herramientas distribuidas es \emph{disminuir} la posibilidad de una |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
305 bifurcación porque: |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
306 \begin{itemize} |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
307 \item Eliminan la distinción social que las herramientas centralizadas |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
308 imponen: esto entre los miembros (personas con permiso de consignar) |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
309 y forasteros(los que no tienen el permiso). |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
310 \item Facilitan la reconciliación después de una bifurcación social, |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
311 porque todo lo que concierne al programa de control de revisiones es |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
312 una fusión. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
313 \end{itemize} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
314 |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
315 Algunas personas se resisten a las herramientas distribuidas porque |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
316 desean mantener control completo sobre sus proyectos, y creen que las |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
317 herramientas centralizadas les da tal control. En todo caso, si este |
503
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
318 es su parecer, y publica sus repositorios de CVS o Subversion, hay |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
319 muchas herramientas disponibles que pueden obtener la historia |
1839fd383e50
translated a few subsections of intro
Igor TAmara <igor@tamarapatino.org>
parents:
502
diff
changeset
|
320 completa(A pesar de lo lento) y recrearla en otro sitio que usted no |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
321 controla. Siendo así un control ilusorio, puesto que está impidiendo |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
322 la fluidez de colaboración en lugar de prevenir que alguien se sienta |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
323 impulsado a obtener una copia y hacer una bifurcación con su historia. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
324 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
325 \subsection{Ventajas para proyectos comerciales} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
326 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
327 Muchos proyectos comerciales tienen grupos de trabajo distribuidos |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
328 alrededor del globo. Quienes contribuyen y están lejos de un |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
329 repositorio central verán una ejecución más lenta de las órdenes y tal |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
330 vez menos confiabilidad. Los sistemas de control de revisión |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
331 comerciales intentan amortiguar estos problemas con adiciones de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
332 replicación remota que usualmente son muy costosos y complicados de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
333 administradr. Un sistema distribuido no padece estos problemas. Mejor |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
334 aún, puede colocar varios servidores autorizados, por ejemplo, uno por |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
335 sitio, de tal forma que no haya comunicación redundante entre |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
336 repositorios sobre enlaces de conexión costosos. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
337 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
338 Los sistemas de control de revisiones distribuidos tienden a ser poco |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
339 escalables. No es inusual quw costosos sistemas centralizados caigan |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
340 ante la carga combinada de unas cuantas docenas de usuarios |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
341 concurrentes. De nuevo, las respuestas típicas de replibcación tienden |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
342 a ser costosas y complejas de instalar y administrar. Dado que la |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
343 carga en un servidor central---si es que tiene uno---es muchas veces |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
344 menor con una herramienta distribuida(debido a que los datos están |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
345 replicados en todas partes), un sólo servidor económico puede tratar |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
346 las necesidades de equipos mucho más grandes, y la replicación para |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
347 balancear la carga se vuelve cosa de scripts. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
348 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
349 Si tiene un empleado en el campo, se beneficiará grandemente de un |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
350 sistema distribuido de control de versiones al resolver problemas en |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
351 el sitio del cliente. La herramienta le permitirá generar |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
352 construcciones a la medida, probar diferentes arreglos de forma |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
353 independiente y buscar de forma eficiente las fuentes de fallos en la |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
354 historia y regresiones en los ambientes de los clientes, todo, sin |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
355 necesidad de conectarse al servidor de su compañía. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
356 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
357 \section{¿Por qué elegir Mercurial?} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
358 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
359 Mercurial cuenta con un conjunto único de propiedades que lo hacen |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
360 particularmente una buena elección como un sistema de control de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
361 revisiones, puesto que: |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
362 \begin{itemize} |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
363 \item Es fácil de aprender y usar. |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
364 \item Es liviano. |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
365 \item Escala de forma excelente. |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
366 \item Es fácil de acondicionar. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
367 \end{itemize} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
368 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
369 Si los sistemas de control de revisiones le son familiares, debería |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
370 estar listo para usar Mercurial en menos de cinco minutos. Si no, va a |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
371 tomar unos pocos minutos más. Las órdenes de Mercurial y su conjunto |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
372 de características son uniformes y consistentes generalmente, y basta |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
373 con que siga unas pocas reglas generales en lugar de un montón de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
374 excepciones. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
375 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
376 En un proyecto pequeño, puede comenzar a trabajar con Mercurial poco a |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
377 poco. Creando nuevos cambios y ramas, transfiriendo cambios(localmente |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
378 o por la red); y las operaciones relacionadas con el estado y la |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
379 historia son rápidas. Mercurial buscar ser ligero y no incomodar en su |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
380 camino combinando poca sobrecarga cognitiva con operaciones |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
381 asombrosamente rápidas. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
382 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
383 La utilidad de Mercurial no se limita a proyectos pequeños: está |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
384 siendo usado por proyectos con centenas de miles de contribuyentes, |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
385 cada uno conteniendo decenas de miles de ficheros y centenas de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
386 megabytes de código fuente |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
387 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
388 Si la funcionalidad básica de Mercurial no es suficiente para usted, |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
389 es muy fácil extenderlo. Mercurial se comporta muy bien con tareas de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
390 scripting y su limpieza interna junto con su implementación en Python |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
391 permiten añadir características fácilmente en forma de extensiones. |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
392 Hay un buen número de extensiones útiles y populares en este momento, |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
393 desde ayudar a identificar fallos hasta el mejoramiento de su |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
394 desempeño. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
395 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
396 \section{Comparación de Mercurial con otras herramientas} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
397 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
398 Antes de leer, por favor tenga en cuenta que esta sección |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
399 necesariamente refleja mis propias experiencias, intereses y(tengo que |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
400 decirlo) mis preferencias. He usado cada una de las herramientas de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
401 control de versiones listadas a continuación, y en muchos casos por |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
402 varios años. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
403 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
404 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
405 \subsection{Subversion} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
406 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
407 Subversion es una herramienta de control de revisiones muy popular, |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
408 desarrollada para reemplazar a CVS. Su arquitectura es centralizada |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
409 en cliente/servidor. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
410 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
411 Subversion y Mercurial tienen órdenes con nombres similares para hacer |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
412 las mismas operaciones, por lo que si le son familiares en una, será |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
413 sencillo aprender a usar la otra. Ambas herramientas son portables en |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
414 todos los sistemas operativos populares. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
415 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
416 Antes de la versión 1.5, Subversion no tenía soporte para fusiones. En |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
417 el momento de la escritura, sus capcidades para llevar cuenta de las |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
418 funciones son nuevas, |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
419 \href{http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced.html#svn.branchmerge.advanced.finalword}{complicadas |
508
04ba1c7785ae
Fixing build prevention, goofy translator. Taking a new chapter
Igor TAmara <igor@tamarapatino.org>
parents:
507
diff
changeset
|
420 y poco estables\ndt{buggy}}. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
421 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
422 Mercurial tiene una ventaja considerable en el desempeño sobre |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
423 Subversion en cualquier operación de control de revisiones que yo haya |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
424 medido. He medido sus ventajas con factores desde dos hasta seis veces |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
425 comparando con almacenamiento de ficheros \emph{ra\_local} |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
426 Subversion~1.4.3, el cual es el método de acceso más rápido. En los |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
427 escenarios más sencillos incluyendo almacenamiento con la red de por |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
428 medio, Subversion se encuentra en desventaja aún mayor. Dado que casi |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
429 todas las órdenes de Subversion deben tratar con el servidor y |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
430 Subversion no tiene utilidades de replicación sencillas, la capacidad |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
431 del servidor y el ancho de banda se convierten en cuellos de botella |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
432 para proyectos modestamente grandes. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
433 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
434 Adicionalmente, Subversion tiene un sobrecosto en almacentamiento |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
435 considerable para evitar transacciones por red en algunas operaciones, |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
436 tales como encontrar ficheros modificados(\texttt{status}) y desplegar |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
437 información frente a la revisión actual(\texttt{diff}). Como |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
438 resultado, la copia de trabajo de Subversion termina siendo del mismo |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
439 tamaño o más grande que un repositorio de Mercurial y el directorio de |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
440 trabajo, a pesar de que el repositorio de Mercurial contiene la |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
441 historia completa del proyecto. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
442 |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
443 Subversion tiene soporte amplio de otras herramientas. Mercurial por |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
444 ahora está bastante atrás en este aspecto. Esta diferencia está |
508
04ba1c7785ae
Fixing build prevention, goofy translator. Taking a new chapter
Igor TAmara <igor@tamarapatino.org>
parents:
507
diff
changeset
|
445 disminuyendo, y algunas de las herramientas GUI\ndt{Interfaz de |
506
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
446 Usuario Gráfica}, eclipsan sus equivalentes de Subversion. Al igual |
8b564f6f57f2
Translating Subversion Vs. Mercurial
Igor TAmara <igor@tamarapatino.org>
parents:
504
diff
changeset
|
447 que Mercurial, Subversion tiene un excelente manual de usuario. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
448 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
449 Dado que Subversion no almacena la historia de revisiones en el |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
450 cliente, es muy bueno para administrar proyectos que tienen muchos |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
451 ficheros binarios grandes y opacos. Si consigna cincuenta revisiones |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
452 de un fichero de 10MB que no es comprimible, el esapacio en el cliente |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
453 de Subversion se mantendrá constante mientras que el espacio usado por |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
454 cualquier Sistema Distribuido de Control de Revisiones crecerá |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
455 rápidamente en proporción con el número de revisiones, debido a que |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
456 las diferencias entre cada revisión es grande. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
457 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
458 Adicionalmente, generalmente es difícil o más bien, imposible mezclar |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
459 diferentes versiones de un fichero binario. La habilidad de Subversion |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
460 para permitirle al usuario poner una cerradura a un fichero, de modo |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
461 que tenga un permiso exclusivo para consignar cambios, puede ser una |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
462 ventaja significativa en un proyecto donde los ficheros binarios sean |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
463 usados ampliamente. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
464 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
465 Mercurial puede importar la historia de revisiones de un repositorio |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
466 de Subversion. También puede exportar historia de revisiones a un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
467 repositorio de Subversion. De esta forma es sencillo ``dar un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
468 vistazo'' y usar Mercurial y Subversion en paralelo antes de decidirse |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
469 a dar el paso. La conversión de la historia es incremental, de modo |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
470 que puede aplicar una conversión inicial, y después conversiones |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
471 pequeñas y adicionales posteriormente para traer nuevos cambios. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
472 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
473 \subsection{Git} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
474 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
475 Git es una herramienta distribuida de control de revisiones |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
476 desarrollada para administrar el arbol del Kernel de Linux. Al igual |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
477 que Mercurial los principios de su diseño fueron influenciados por |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
478 Monotone. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
479 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
480 Git tiene un conjunto de órdenes muy grande en la versión~1.5.0 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
481 ofrece~139 órdenes individuales. Tiene cierta reputación de ser |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
482 difícil de aprender. Comparado con Git, Mercurial tiene un fuerte |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
483 enfoque hacia la facilidad. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
484 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
485 En términos de rendimiento, Git es extremadamente rápido. En muchos |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
486 casos, es más rápido que Mercurial, por lo menos en Linux, mientras |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
487 que Mercurial se comporta mejor en otras operaciones. De todas |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
488 maneras en Windows, el desempeño y el nivel general de soporte que |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
489 ofrece Git, al momento de la escritura, está lejos detrás de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
490 Mercurial. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
491 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
492 Mientras que el repositorio de Mercurial no requiere mantenimiento, el |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
493 repositorio de Git requiere frecuentes ``repacks'' a sus metadatos. |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
494 Sin estos, el desempeño se degrada y el espacio crece rápidamente. Un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
495 servidor que contenga repositorios de Git que no sean reempacados |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
496 rigurosa y frecuentemente requerirá trabajo-intenso de disco durante |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
497 las copias de seguridad, y ha habido situaciones en copias de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
498 seguridad diaria que toman más de 24 horas como resultado. Un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
499 repositorio recién reempacado de Git es un poco más pequeño que un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
500 repositorio de Mercurial, pero un repositorio sin reempacar es varios |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
501 órdenes de magnitud más grande. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
502 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
503 El corazón de Git está escrito en C. Muchas órdenes de Git están |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
504 implementadas como scripts de shell o Perl y la calidad de esos |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
505 scripts varía ampliamente. He encontrado muchas situaciones en las |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
506 cuales los scripts no tuvieron en cuenta la presencia de errores que |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
507 podrían haber sido fatales. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
508 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
509 Mercurial puede importar el historial de revisiones de un repositorio |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
510 de Git. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
511 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
512 \subsection{CVS} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
513 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
514 CVS es probablemente la herramienta de control de revisiones más |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
515 ampliamente usada en el planeta. Debido a su edad y su poca pulcritud |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
516 nterna, ha sido ligeramente mantenido en muchos años. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
517 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
518 Tiene una arquitectura centralizada cliente/servidor. No agrupa |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
519 cambios relacionadso en consignaciones atómicas, pemitiendo que con |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
520 facilidad la gente ``rompa la construcción'': una persona puede |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
521 consignar exitósamente parte del cambio y estar bloqueada por la |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
522 necesidad de una mezcla, forzando a otras personas a ver solamente una |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
523 porción del trabajo que estaban buscando hacer. Esto afecta también |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
524 la forma como usted trabaja con la historia del proyecto. Si quiere |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
525 ver todas las modificaciones que alguien hizo como parte de una tarea, |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
526 necesitará inspeccionar manualmente las descripciones y las marcas de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
527 tiempo de cambio de cada fichero involucrado(esto, si usted saber |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
528 cuáles eran tales ficheros). |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
529 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
530 CVS tiene una noción confusa de etiquetas y ramas que yo no trataría |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
531 incluso de describir. No soporta renombramiento de ficheros o |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
532 directorios de buena forma, facilitando el corromper un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
533 repositorio. Casi no tiene chequeo de consistencia interna, por lo |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
534 tanto es casi imposible identificar por que o cómo se corrompió un |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
535 repositorio. Yo no recomendaría un repositorio de CVS para proyecto |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
536 alguno, ni existente ni nuevo. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
537 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
538 Mercurial puede importar la historia de revisiones de CVS. De todas |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
539 maneras hay ciertos trucos para aplicar; los cuales también son |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
540 necesarios para cualquier herramienta importadora de historial de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
541 CVS. Debido a la falta de atomicidad de cambios y el no versionamiento |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
542 de la jerarquía del sistema de archivos, es imposible reconstruir la |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
543 completamente la historia de CVS acertadamente; hay cierto trabajo de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
544 conjetura involucrado y los renombramientos tampoco se |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
545 mostrarán. Debido a que gran parte de la administración avanzada de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
546 CVS tiene que hacerse manualmente y por lo tanto es proclive al error, |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
547 es común que los importadores de CVS encuentren muchos problemas con |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
548 repositorios corruptos( marcas de tiempo totalmente desubicadas y |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
549 archivos que han permanecido con candados por más de una década son |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
550 dos de los problemas más interesantes de los que puedo retomar de mi |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
551 experiencia personal). |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
552 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
553 Mercurial puede importar la historia de revisiones de un repositorio |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
554 CVS. |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
555 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
556 \subsection{Herramientas comerciales} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
557 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
558 Perforce tiene una arquitectura centralizada cliente/servidor sin |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
559 almacenamiento de dato alguno en el lado del cliente. A diferencia de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
560 las herramientas modernas de control de revisiones, Perforce requiere |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
561 que un usuario ejecute una orden para informar al servidor acerca de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
562 todo fichero que se vaya a editar. |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
563 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
564 El rendimiento de Perforce es muy bueno para equipos pequeños, pero se |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
565 degrada rápidamente cuando el número de usuarios va más allá de pocas |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
566 docenas. Instalaciones modestamente grandes de Perforce requiere la |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
567 organización de proxies para soportar la carga que sus usuarios generan. |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
568 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
569 \subsection{Elegir una herramienta de control de revisiones} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
570 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
571 Con la excepción de CVS, toda las herramientas que se han listado |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
572 anteriormente tienen fortalezas que los hacen valiosos de acuerdo al |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
573 tipo de trabajo. No hay una única herramienta de control de revisiones |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
574 que sea la mejor en todas las situaciones. |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
575 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
576 Por ejemplo, Subversion es una buena elección para trabajar con |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
577 edición frecuente de ficheros binarios, debido a su naturaleza |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
578 centralizada y soporte para poner candados a ficheros. |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
579 |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
580 Personalmente encuentro las propiedades de simplicidad, desempeño, y |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
581 buen soporte de fusiones de Mercurial una combinación llamativa que ha |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
582 dado buenos frutos por varios años. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
583 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
584 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
585 \section{Migrar de otra herramienta hacia Mercurial} |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
586 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
587 Mercurial viene con una extensión llamada \hgext{convert}, que puede |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
588 importar historiales de revisiones de forma incremental desde varias |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
589 herramientas de control de revisiones. Por ``incremental'', quiero |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
590 decir que puede migrar toda la historia de un proyecto en una primera |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
591 instancia y después volver a ejecutar la migración posteriormente para |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
592 obtener los nuevos cambios que han sucedido después de la migración |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
593 inicial. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
594 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
595 A continuación presentamos las herramientas de revisiones que la |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
596 orden\hgext{convert} soporta: |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
597 \begin{itemize} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
598 \item Subversion |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
599 \item CVS |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
600 \item Git |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
601 \item Darcs |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
602 \end{itemize} |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
603 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
604 Adicionalmente, \hgext{convert} puede exportar cambios de Mercurial |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
605 hacia Subversion. Lo que hace posible probar Subversion y Mercurial |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
606 en paralelo antes de lanzarse a un migración total, sin arriesgarse a |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
607 perder trabajo alguno. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
608 |
507
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
609 La orden \hgxcmd{conver}{convert} es sencilla de usar. Basta con |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
610 apuntarla hacia la ruta o el URL del repositorio fuente, opcionalmente |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
611 darle el nombre del nombre del repositorio destino y comenzará a hacer |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
612 su trabajo. Después de la conversión inicial, basta con invocar de |
56914d368af4
Finished translation of intro to spanish
Igor TAmara <igor@tamarapatino.org>
parents:
506
diff
changeset
|
613 nuevo la orden para importar nuevos cambios. |
501
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
614 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
615 |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
616 %%% Local Variables: |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
617 %%% mode: latex |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
618 %%% TeX-master: "00book" |
b05e35d641e4
Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents:
432
diff
changeset
|
619 %%% End: |