annotate es/hgext.tex @ 553:6d4465f04bb7

Translated alias from extensions
author Igor Támara <igor@tamarapatino.org>
date Mon, 15 Dec 2008 23:37:01 -0500
parents 3cb3f9b418ea
children b96d80be5a60
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
539
aeda195f54a6 Finally finished translating collab and taking mq and hgext
Igor TAmara <igor@tamarapatino.org>
parents: 435
diff changeset
1 \chapter{Añadir funcionalidad con extensiones}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
2 \label{chap:hgext}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
3
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
4 A pesar de que el corazón de Mercurial es muy completo desde el punto
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
5 de vista de funcionalidad, carece de características rimbombantes
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
6 deliberadamente. Esta aproximación de preservar la simplicidad
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
7 mantiene el programa sencillo tanto para mantenedores como para
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
8 usuarios.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
9
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
10 Si embargo Mercurial no le cierra las posibilidades a un conjunto
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
11 inflexible de órdenes: usted puede añadir características como
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
12 \emph{extensiones} (aveces llamadas \emph{añadidos}\ndt{plugins}). Ya
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
13 hemos discutido algunas de estas extensiones en capítulos anteriores:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
14 \begin{itemize}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
15 \item La sección~\ref{sec:tour-merge:fetch} cubre la extensión
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
16 \hgext{fetch}; que combina jalar cambios y fusionarlos con los
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
17 cambios locales en una sola orden: \hgxcmd{fetch}{fetch}.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
18 \item En el capítulo~\ref{chap:hook}, cubrimos muchas extensiones que
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
19 son útiles en funcionalidades relacionadas con ganchos: Los
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
20 \hgext{acl} añaden listas de control de acceso; \hgext{bugzilla}
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
21 añade integración con el sistema de seguimiento de fallos Bugzilla; y
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
22 \hgext{notify} envía notificaciones por correo de nuevos cambios.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
23 \item La extensión de administración de parches MQ es tan invaluable
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
24 que amerita dos capítulos y un apéndice por sí misma.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
25 El capítulo~\ref{chap:mq} cubre lo básico; el
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
26 capítulo~\ref{chap:mq-collab} discute temas avanzados; y el
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
27 apéndice~\ref{chap:mqref} muestra en detalle cada orden.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
28 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
29
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
30 En este capítulo cubriremos algunas extensiones adicionales
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
31 disponibles para Mercurial, y daremos un vistazo a la maquinaria que
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
32 necesita conocer en caso de que desee escribir una extensión.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
33 \begin{itemize}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
34 \item En la sección~\ref{sec:hgext:inotify}, discutiremos la
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
35 posibilidad de mejorar el desempeño \emph{en gran medida} con la extensión
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
36 \hgext{inotify}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
37 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
38
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
39 \section{Mejorar el desempeño con la extensión \hgext{inotify}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
40 \label{sec:hgext:inotify}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
41
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
42 ¿Desea lograr que las operaciones más comunmente usadas de Mercurial se
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
43 ejecuten centenas de veces más rápido? ¡A leer!
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
44
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
45 Mercurial tiene gran desempeño bajo circunstancias normales. Por
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
46 ejemplo, cuando ejecuta la orden \hgcmd{status}, Mercurial tiene que
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
47 revisar casi todos los ficheros y directorios en su repositorio de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
48 forma que pueda desplegar el estado de los ficheros. Muchas otras
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
49 órdenes tienen que hacer tal trabajo tras bambalinas; por ejemplo la
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
50 orden \hgcmd{diff} usa la maquinaria de estado para evitar hacer
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
51 operaciones de comparación costosas en ficheros que obviamente no han
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
52 cambiado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
53
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
54 Dado que obtener el estado de los ficheros es crucial para obtener
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
55 buen desempeño, los autores de Mercurial han optimizado este código en
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
56 la medida de lo posible. Sin embargo, no puede obviarse el hecho de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
57 que cuando ejecuta \hgcmd{status}, Mercurial tendrá que hacer por lo
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
58 menos una costosa llamada al sistema por cada archivo administrado
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
59 para determinar si ha cambiado desde la última vez que se consignó.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
60 Para un repositorio suficientemente grande, puede tardar bastante
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
61 tiempo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
62
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
63 Para mostrar en números la magnitud de este efect, creé un repositorio
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
64 que contenía 150.000 archivos administrador. Tardó diez segundos para
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
65 ejecutar \hgcmd{status}, a pesar de que \emph{ninguno} de los ficheros
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
66 había sido modificado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
67
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
68 Muchos sistemas operativos modernos contienen una facilidad de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
69 notificación de archivos. Si un programa se registra con un servicio
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
70 apropiado, el sistema operativo le notificará siempre que un fichero
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
71 de interés haya sido creado, modificado o borrado. En sistemas Linux,
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
72 el componente del núcleo que lo hace se llama \texttt{inotify}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
73
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
74 La extensión \hgext{inotify} habla con el componente \texttt{inotify}
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
75 del núcleo para optimizar las órdenes de \hgcmd{status}. La extensión
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
76 tiene dos componentes. Un daemonio está en el fondo recibiendo
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
77 notificaciones del subsistema \texttt{inotify}. También escucha
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
78 conexiones de una orden regular de Mercurial. La extensión modifica
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
79 el comportamiento de Mercurial de tal forma que, en lugar de revisar
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
80 el sistema de ficheros, le pregunta al daemonio. Dado que el daemonio
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
81 tiene información perfecta acerca del estado del repositorio, puede
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
82 responder instantáneamente con el resultado, evitando la necesidad de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
83 revisar cada directorio y fichero del repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
84
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
85 Retomando los diez segundos que medí al ejecutar la orden
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
86 \hgcmd{status} de Mercurial sobre un repositorio de 150.000
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
87 ficheros. Con la extensión \hgext{inotify} habilitada, el tiempo se
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
88 disipó a 0.1~seconds, un factor \emph{cien veces} más rápido.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
89
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
90 Antes de continuar, tenga en cuenta algunos detalles:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
91 \begin{itemize}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
92 \item La extensión \hgext{inotify} es específica de Linux. Porque se
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
93 enlaza directamente con el subsistema \texttt{inotify} del núcleo
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
94 Linux, no funciona en otros sistemas operativos.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
95 \item Debería funcionar en cualquier distribución Linux a partir de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
96 comienzos del 2005. Las distribuciones más antiguas deben tener un
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
97 kernel sin \texttt{inotify}, o una versión de \texttt{glibc} que no
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
98 tiene necesariamente el soporte para la interfaz.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
99 \item No todos los sistemas de ficheros pueden usarse con la extensión
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
100 \hgext{inotify}. Los sistemas de ficheros tales como NFS no lo
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
101 soportan, por ejemplo, si está corriendo Mercurial en vaios
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
102 sistemas, montados todos sobre el mismo sistema de ficheros en red.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
103 El sistema \texttt{inotify} del kernel no tiene forma de saber
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
104 acerca de los cambios hechos en otro sistema. La mayoría de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
105 sistemas de ficheros locales (p.e.~ext3, XFS, ReiserFS) deberían
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
106 funcionar bien.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
107 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
108
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
109 Hacia mayo de 2007 la extensión \hgext{inotify} no venía de forma
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
110 predeterminada en Mercurial\ndt{Desde el 2008 para kernels 2.6 viene
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
111 en Mercurial, pero no está activada de forma predeterminada}, y es
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
112 un poco más compleja de activar que otras extensiones. Pero la mejora
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
113 en el desempeño bien vale la pena!
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
114
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
115 La extensión venía en dos partes: un conjunto de parches al código
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
116 fuente de Mercurial, y una librería de interfaces de Python hacia el
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
117 subsistema \texttt{inotify}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
118 \begin{note}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
119 Hay \emph{dos} librerías de enlace de Python hacia \texttt{inotify}.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
120 Una de ellas se llama \texttt{pyinotify}, y en algunas
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
121 distribuciones de Linux se encuentra como \texttt{python-inotify}.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
122 Esta es la que \emph{no} necesita, puesto que tiene muchos fallos,
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
123 y es ineficiente para ser práctica.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
124 \end{note}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
125 Para comenzar, es mejor tener una copia de Mercurial funcional
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
126 instalada:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
127 \begin{note}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
128 Si sigue las instrucciones a continuación, estará
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
129 \emph{reemplazando} y sobreescribiendo cualquier instalación previa
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
130 de Mercurial que pudiera tener, con el código de Mercurial ``más
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
131 reciente y peligrosa''. No diga que no se le advirtio!
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
132 \end{note}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
133 \begin{enumerate}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
134 \item Clone el repositorio de interfaz entre Python e
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
135 \texttt{inotify}. Ármelo e instálelo:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
136 \begin{codesample4}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
137 hg clone http://hg.kublai.com/python/inotify
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
138 cd inotify
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
139 python setup.py build --force
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
140 sudo python setup.py install --skip-build
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
141 \end{codesample4}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
142 \item Clone el repositorio \dirname{crew} de Mercurial. Clone el
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
143 repositorio de parches de \hgext{inotify} de forma tal que las colas
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
144 de Mercurial puedan aplicar los parches sobre el repositorio \dirname{crew}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
145 \begin{codesample4}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
146 hg clone http://hg.intevation.org/mercurial/crew
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
147 hg clone crew inotify
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
148 hg clone http://hg.kublai.com/mercurial/patches/inotify inotify/.hg/patches
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
149 \end{codesample4}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
150 \item Asegúrese de instalar la extensión Colas de Mercurial
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
151 \hgext{mq} y que estén habilitadas. Si nunca ha usado MQ, lea la
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
152 sección~\ref{sec:mq:start} para poder comenzar rápidamente.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
153 \item Vaya al repositorio de \dirname{inotify} y aplique todos los
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
154 parches de \hgext{inotify} con la opción \hgxopt{mq}{qpush}{-a} de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
155 la orden \hgxcmd{mq}{qpush}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
156 \begin{codesample4}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
157 cd inotify
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
158 hg qpush -a
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
159 \end{codesample4}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
160 Si obtiene un mensaje de error de \hgxcmd{mq}{qpush}, no debería
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
161 continuar. Mejor pida ayuda.
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
162 \item Arme e instale la versión parchada de Mercurial.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
163 \begin{codesample4}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
164 python setup.py build --force
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
165 sudo python setup.py install --skip-build
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
166 \end{codesample4}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
167 \end{enumerate}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
168 Una vez que haya armado una versión funcional parchada de Mercurial,
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
169 todo lo que necesita es habilitar la extensión \hgext{inotify}
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
170 colocando una entrada en su \hgrc.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
171 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
172 [extensions]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
173 inotify =
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
174 \end{codesample2}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
175 Cuando la extensión \hgext{inotify} esté habilitada, Mercurial
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
176 iniciará transparente y automáticamente el daemonio de estado la
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
177 primera vez que ejecute un comando que requiera estado del
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
178 repositorio. Ejecuta un daemoniot de estado por repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
179
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
180 El daemonio de estado se inicia silenciosamente y se ejecuta en el
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
181 fondo. Si mira a la lista de procesos en ejecución después de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
182 habilitar la extensión \hgext{inotify} y ejecuta unos pocos comandos
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
183 en diferentes repositorios, verá que hay algunos procesos de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
184 \texttt{hg} por ahí, esperando actualizaciones del kernel y
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
185 solicitudes de Mercurial.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
186
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
187 La primera vez que ejecuta un comando de Mercurial en un repositorio
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
188 cuando tiene la extensión \hgext{inotify} habilitada, correrá casi con
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
189 el mismo desempeño que una orden usual de Mercurial. Esto es debido a
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
190 que el estado del daemonio necesita aplicar una búsqueda normal sobre
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
191 el estado para poder tener una línea de partida frente a la cual
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
192 aplicar posteriormente actualizaciones del núcleo. De todas formas,
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
193 \emph{todo} comando posterior que haga cualquier clase de revisión del
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
194 estado debería ser notablemente más rápido en repositorios con incluso
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
195 un tamaño modesto. Aún mejor, a medida que su repositorio sea más
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
196 grande, mejor desempeño verá. El daemonio \hgext{inotify} hace
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
197 operaciones de estado de forma casi instantánea en repositorios de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
198 todos los tamaños!
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
199
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
200 Si lo desea, puede iniciar manualmente un daemonio de estado con la orden
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
201 \hgxcmd{inotify}{inserve}. Esto le da un control un poco más fino
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
202 acerca de cómo debería ejecutarse el daemonio. Esta orden solamente
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
203 estará disponible cuando haya habilitado la extensión \hgext{inotify}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
204
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
205 Cuando esté usando la extensión \hgext{inotify},
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
206 \emph{no debería ver diferencia} en el comportamiento de Mercurial,
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
207 con la única excepción de que los comandos relacionados con el estado
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
208 deberían ejectuarse mucho más rápido que como solían hacerlo. Debería
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
209 esperar específicamente que las órdenes no deberían ofrecer salidas
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
210 distintas; ni ofrecer resultados diferentes. Si alguna de estas
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
211 situaciones ocurre, por favor reporte el fallo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
212
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
213 \section{Soporte flexible de diff con la extensión \hgext{extdiff}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
214 \label{sec:hgext:extdiff}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
215
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
216 La orden predeterminada \hgcmd{diff} de Mercurial despliega diffs en
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
217 texto plano unificadas.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
218 \interaction{extdiff.diff}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
219 Si dese emplear una herramienta externa para desplegar las
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
220 modificaciones, querrá usar la extensión \hgext{extdiff}. Esta le
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
221 permitirá usar por ejemplo una herramienta gráfica de diff.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
222
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
223 La extensión \hgext{extdiff} viene con Mercurial, y es fácil
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
224 configurarl. En la sección \rcsection{extensions} de su \hgrc,
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
225 basta con añadir una entrada de una línea para habilitar la extensión.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
226 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
227 [extensions]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
228 extdiff =
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
229 \end{codesample2}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
230 Esto introduce una orden llamada \hgxcmd{extdiff}{extdiff}, que de
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
231 forma predeterminada usa su orden del sistema \command{diff} para
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
232 generar un diff unificado de la misma forma que lo hace el comando
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
233 predeterminado \hgcmd{diff}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
234 \interaction{extdiff.extdiff}
550
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
235 El resultado no será exactamente el mismo que con la orden interna
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
236 \hgcmd{diff}, puesto que la salida de \command{diff} varía de un
f4904a9b4fdb Started translating hgext
Igor TAmara <igor@tamarapatino.org>
parents: 539
diff changeset
237 sistema a otro, incluso pasando las mismas opciones.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
238
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
239 Como lo indican las líneas``\texttt{making snapshot}'', la orden
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
240 \hgxcmd{extdiff}{extdiff} funciona creando dos instantáneas de su
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
241 árbol de fuentes. La primera instantánea es la revisión fuente; la
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
242 segunda es la revisión objetivo del directorio de trabajo. La orden
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
243 \hgxcmd{extdiff}{extdiff} genera estas instantáneas en un directorio
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
244 temporal, pasa el nombre de cada directorio a un visor de diffs
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
245 temporal y borra los directorios temporales. Por cuestiones de
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
246 eficiencia solamente genera instantáneas de los directorios y ficheros
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
247 que han cambiado entre dos revisiones.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
248
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
249 Los nombres de los directorios de instantáneas tienen los mismos
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
250 nombres base de su repositorio. Si su repositorio tiene por ruta
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
251 \dirname{/quux/bar/foo}, \dirname{foo} será el nombre de cada
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
252 instantánea de directorio. Cada instantánea de directorio tiene sus
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
253 identificadores de conjuntos de cambios al final del nombre en caso de
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
254 que sea apropiado. Si una instantánea viene de la revisión
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
255 \texttt{a631aca1083f}, el directorio se llamará
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
256 \dirname{foo.a631aca1083f}. Una instantánea del directorio de trabajo
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
257 no tendrá el identificador del conjunto de cambios, y por lo tanto
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
258 será solamente \dirname{foo} en este ejemplo. Para ver cómo luce en
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
259 la práctica, veamos de nuevo el ejemplo \hgxcmd{extdiff}{extdiff}
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
260 antes mencionado. Tenga en cuenta que los diffs tienen los nombres de
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
261 las instantáneas de directorio dentro de su encabezado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
262
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
263 La orden \hgxcmd{extdiff}{extdiff} acepta dos opciones importantes.
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
264 La opción \hgxopt{extdiff}{extdiff}{-p} le permite elegir un programa
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
265 para ver las diferencias, en lugar de \command{diff}. Con la opción
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
266 \hgxopt{extdiff}{extdiff}{-o} puede cambiar las opciones que
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
267 \hgxcmd{extdiff}{extdiff} pasa a tal programa(de forma predeterminada
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
268 las opciones son``\texttt{-Npru}'', que tienen sentido únicamente si
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
269 está usando \command{diff}). En otros aspectos, la orden
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
270 \hgxcmd{extdiff}{extdiff} actúa de forma similar a como lo hace la
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
271 orden \hgcmd{diff} de Mercurial: usted usa los mismos nombres de
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
272 opciones, sintaxis y argumentos para especificar las revisiones y los
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
273 ficheros que quiere, y así sucesivamente.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
274
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
275 Por ejemplo, para ejecutar la orden usual del sistema \command{diff},
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
276 para lograr que se generen diferencias de contexto (con la opción
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
277 \cmdopt{diff}{-c}) en lugar de diferencias unificadas, y cinco líneas
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
278 de contexto en lugar de las tres predeterminadas(pasando \texttt{5}
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
279 como argumento a la opción \cmdopt{diff}{-C}).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
280 \interaction{extdiff.extdiff-ctx}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
281
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
282 Es sencillo lanzar unas herramienta usual de diferencias. Para lanzar
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
283 el visor \command{kdiff3}:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
284 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
285 hg extdiff -p kdiff3 -o ''
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
286 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
287
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
288 Si su orden para visualizar diferencias no puede tratar con
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
289 directorios, puede usar un poco de scripting para lograrlo. Un
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
290 ejemplo de un script con la extensión \hgext{mq} junto con la orden
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
291 \command{interdiff} está en la sección~\ref{mq-collab:tips:interdiff}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
292
552
3cb3f9b418ea Translated some paragraphs on exts
Igor TAmara <igor@tamarapatino.org>
parents: 550
diff changeset
293 \subsection{Definición de alias de comandos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
294
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
295 Acordarse de todas las opciones de las órdenes
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
296 \hgxcmd{extdiff}{extdiff} y el visor de diferencias de su preferencia
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
297 puede ser dispendioso, y por lo tanto la extensión \hgext{extdiff} le
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
298 permite definir \emph{nuevas} órdenes que invocarán su visor de
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
299 diferencias con las opciones exactas.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
300
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
301 Basta con editar su fichero \hgrc, y añadir una sección llamada
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
302 \rcsection{extdiff}. Dentro de esta sección puede definir varias
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
303 órdenes. Mostraremos como añadir la orden \texttt{kdiff3}. Después de
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
304 definido, puede teclear ``\texttt{hg kdiff3}'' y la extensión a
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
305 \hgext{extdiff} ejecutará la orden \command{kdiff3}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
306 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
307 [extdiff]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
308 cmd.kdiff3 =
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
309 \end{codesample2}
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
310 Si deja vacía la porción derecha de la definición, como en el ejemplo,
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
311 la extensión \hgext{extdiff} usa el nombre de la orden se definirá
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
312 como el nombre del programa externo a ejecutar. Pero tales nombres no
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
313 tienen por qué ser iguales. Definimos ahora la orden llamada
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
314 ``\texttt{hg wibble}'', que ejecuta \command{kdiff3}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
315 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
316 [extdiff]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
317 cmd.wibble = kdiff3
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
318 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
319
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
320 También puede especificar las opciones predeterminadas con las cuales
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
321 desea invocar el visor de diferencias. Se usa el prefijo ``\texttt{opts.}'',
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
322 seguido por el nombre de la orden a la cual se aplican las opciones.
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
323 En este ejemplos se define la orden ``\texttt{hg vimdiff}'' que
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
324 ejecuta la extensión \texttt{DirDiff} del editor \command{vim}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
325 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
326 [extdiff]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
327 cmd.vimdiff = vim
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
328 opts.vimdiff = -f '+next' '+execute "DirDiff" argv(0) argv(1)'
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
329 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
330
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
331 \section{Uso de la extensión \hgext{transplant} para seleccionar}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
332 \label{sec:hgext:transplant}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
333
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
334 Need to have a long chat with Brendan about this.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
335
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
336 \section{Enviar cambios vía correo electrónico con la extensión \hgext{patchbomb}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
337 \label{sec:hgext:patchbomb}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
338
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
339 Varios proyectos tienen la cultura de ``revisión de cambios'', en la
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
340 cual la gente envía sus modificaciones a una lista de correo para que
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
341 otros las lean y comenten antes de consignar la versión final a un
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
342 repositorio compartido. Algunos proyectos tienen personas que actúan
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
343 como cancerberos; ellos aplican los cambios de otras personas a un
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
344 repositorio para aquellos que no tienen acceso.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
345
553
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
346 Mercurial facilita enviar cambios por correo para revisión o
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
347 aplicación gracias a su extensión \hgext{patchbomb}. La extensión es
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
348 tan popular porque los cambios se formatean como parches y es usual
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
349 que se envía un conjunto de cambios por cada correo. Enviar una gran
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
350 cantidad de cambios por correos se llama por tanto ``bombardear'' el
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
351 buzón de entrada del destinatario, de ahí su nombre ``bombardeo de
6d4465f04bb7 Translated alias from extensions
Igor Támara <igor@tamarapatino.org>
parents: 552
diff changeset
352 parches''.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
353
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
354 As usual, the basic configuration of the \hgext{patchbomb} extension
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
355 takes just one or two lines in your \hgrc.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
356 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
357 [extensions]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
358 patchbomb =
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
359 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
360 Once you've enabled the extension, you will have a new command
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
361 available, named \hgxcmd{patchbomb}{email}.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
362
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
363 The safest and best way to invoke the \hgxcmd{patchbomb}{email}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
364 command is to \emph{always} run it first with the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
365 \hgxopt{patchbomb}{email}{-n} option. This will show you what the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
366 command \emph{would} send, without actually sending anything. Once
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
367 you've had a quick glance over the changes and verified that you are
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
368 sending the right ones, you can rerun the same command, with the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
369 \hgxopt{patchbomb}{email}{-n} option removed.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
370
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
371 The \hgxcmd{patchbomb}{email} command accepts the same kind of
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
372 revision syntax as every other Mercurial command. For example, this
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
373 command will send every revision between 7 and \texttt{tip},
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
374 inclusive.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
375 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
376 hg email -n 7:tip
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
377 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
378 You can also specify a \emph{repository} to compare with. If you
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
379 provide a repository but no revisions, the \hgxcmd{patchbomb}{email}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
380 command will send all revisions in the local repository that are not
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
381 present in the remote repository. If you additionally specify
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
382 revisions or a branch name (the latter using the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
383 \hgxopt{patchbomb}{email}{-b} option), this will constrain the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
384 revisions sent.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
385
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
386 It's perfectly safe to run the \hgxcmd{patchbomb}{email} command
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
387 without the names of the people you want to send to: if you do this,
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
388 it will just prompt you for those values interactively. (If you're
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
389 using a Linux or Unix-like system, you should have enhanced
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
390 \texttt{readline}-style editing capabilities when entering those
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
391 headers, too, which is useful.)
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
392
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
393 When you are sending just one revision, the \hgxcmd{patchbomb}{email}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
394 command will by default use the first line of the changeset
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
395 description as the subject of the single email message it sends.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
396
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
397 If you send multiple revisions, the \hgxcmd{patchbomb}{email} command
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
398 will usually send one message per changeset. It will preface the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
399 series with an introductory message, in which you should describe the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
400 purpose of the series of changes you're sending.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
401
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
402 \subsection{Changing the behaviour of patchbombs}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
403
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
404 Not every project has exactly the same conventions for sending changes
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
405 in email; the \hgext{patchbomb} extension tries to accommodate a
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
406 number of variations through command line options.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
407 \begin{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
408 \item You can write a subject for the introductory message on the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
409 command line using the \hgxopt{patchbomb}{email}{-s} option. This
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
410 takes one argument, the text of the subject to use.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
411 \item To change the email address from which the messages originate,
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
412 use the \hgxopt{patchbomb}{email}{-f} option. This takes one
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
413 argument, the email address to use.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
414 \item The default behaviour is to send unified diffs (see
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
415 section~\ref{sec:mq:patch} for a description of the format), one per
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
416 message. You can send a binary bundle instead with the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
417 \hgxopt{patchbomb}{email}{-b} option.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
418 \item Unified diffs are normally prefaced with a metadata header. You
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
419 can omit this, and send unadorned diffs, with the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
420 \hgxopt{patchbomb}{email}{--plain} option.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
421 \item Diffs are normally sent ``inline'', in the same body part as the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
422 description of a patch. This makes it easiest for the largest
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
423 number of readers to quote and respond to parts of a diff, as some
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
424 mail clients will only quote the first MIME body part in a message.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
425 If you'd prefer to send the description and the diff in separate
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
426 body parts, use the \hgxopt{patchbomb}{email}{-a} option.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
427 \item Instead of sending mail messages, you can write them to an
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
428 \texttt{mbox}-format mail folder using the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
429 \hgxopt{patchbomb}{email}{-m} option. That option takes one
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
430 argument, the name of the file to write to.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
431 \item If you would like to add a \command{diffstat}-format summary to
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
432 each patch, and one to the introductory message, use the
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
433 \hgxopt{patchbomb}{email}{-d} option. The \command{diffstat}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
434 command displays a table containing the name of each file patched,
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
435 the number of lines affected, and a histogram showing how much each
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
436 file is modified. This gives readers a qualitative glance at how
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
437 complex a patch is.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
438 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
439
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
440 %%% Local Variables:
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
441 %%% mode: latex
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
442 %%% TeX-master: "00book"
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
443 %%% End: