annotate es/hook.tex @ 705:1735c9699f92

Accommodate change in Django admin code.
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 31 Mar 2009 08:58:25 -0700
parents f9e5dfca1584
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
536
05bfbe50e7e4 translated a paragraph
Javier Rojas <jerojasro@devnull.li>
parents: 534
diff changeset
1 \chapter{Manejo de eventos en repositorios mediante ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
2 \label{chap:hook}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
3
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
4 Mercurial ofrece un poderoso mecanismo para permitirle a usted
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
5 automatizar la ejecución de acciones en respuesta a eventos que
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
6 ocurran en un repositorio. En algunos casos, usted puede controlar
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
7 incluso la respuesta de Mercurial a dichos eventos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
8
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
9 Mercurial usa el término \emph{gancho} para identificar estas
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
10 acciones. Los ganchos son conocidos como ``disparadores'' en algunos
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
11 sistemas de control de revisiones, pero los dos nombres se refieren al
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
12 mismo concepto.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
13
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
14 \section{Vistazo general de ganchos en Mercurial}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
15
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
16 A continuación se encuentra una breve lista de los ganchos que
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
17 Mercurial soporta. Volveremos a cada uno de estos ganchos con más
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
18 detalle después, en la sección~\ref{sec:hook:ref}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
19
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
20 \begin{itemize}
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
21 \item[\small\hook{changegroup}] Es ejecutado luego de que un grupo de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
22 conjuntos de cambios ha sido traído al repositorio desde algún
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
23 otro sitio.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
24 \item[\small\hook{commit}] Es ejecutado después de la creación de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
25 un conjunto de cambios en el repositorio local.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
26 \item[\small\hook{incoming}] Es ejecutado una vez por cada conjunto de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
27 cambios traído al repositorio desde otra ubicación. Note la
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
28 diferencia respecto al gancho \hook{changegroup}, que es ejecutado
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
29 una vez por cada \emph{grupo} de conjuntos de cambios que se
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
30 traiga.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
31 \item[\small\hook{outgoing}] Es ejecutado luego de que un grupo de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
32 conjuntos de cambios ha sido transmitido desde el repositorio.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
33 \item[\small\hook{prechangegroup}] Es ejecutado antes de iniciar la
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
34 recepción de un grupo de conjuntos de cambios en el repositorio.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
35 \item[\small\hook{precommit}] De control. Es ejecutado antes de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
36 iniciar una consignación.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
37 \item[\small\hook{preoutgoing}] De control. Es ejecutado antes de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
38 iniciar la transmisión de un grupo de conjuntos de cambios desde
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
39 el repositorio.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
40 \item[\small\hook{pretag}] De control. Es ejecutado antes de crear una
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
41 etiqueta.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
42 \item[\small\hook{pretxnchangegroup}] De control. Es ejecutado después
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
43 de haber recibido un grupo de conjuntos de cambios en el
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
44 repositorio local, pero antes de que la transacción se complete y
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
45 los cambios sean permanentes dentro del repositorio.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
46 \item[\small\hook{pretxncommit}] De control. Es ejecutado luego de la
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
47 creación de un conjunto de cambios en el repositorio local, pero
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
48 antes de que la transacción que hace permanente el cambio sea
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
49 completada.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
50 \item[\small\hook{preupdate}] De control. Es ejecutado antes de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
51 iniciar una actualización o fusión en el directorio de trabajo.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
52 \item[\small\hook{tag}] Es ejecutado después de la creación de una
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
53 etiqueta.
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
54 \item[\small\hook{update}] Es ejecutado después de que termina una
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
55 actualización o una fusión.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
56 \end{itemize}
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
57 Cada uno de los ganchos cuya descripción empieza con la frase
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
58 ``de control'' tiene la facultad de determinar si una actividad puede
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
59 continuar. Si el gancho se ejecuta con éxito, la actividad puede
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
60 continuar; si falla, o bien la actividad no es permitida, o se
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
61 deshacen los cambios que se puedan haber llevado a cabo, dependiendo
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
62 del gancho involucrado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
63
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
64 \section{Ganchos y seguridad}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
65
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
66 \subsection{Los ganchos se ejecutan con sus privilegios de usuario}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
67
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
68 Cuando usted ejecuta un comando de Mercurial en un repositorio, y el
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
69 comando causa la ejecución de un gancho, dicho gancho se ejecuta en
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
70 \emph{su} sistema, en \emph{su} cuenta de usuario, con \emph{sus}
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
71 privilegios. Ya que los ganchos son elementos arbitrarios de código
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
72 ejecutable, usted debería tratarlos con un nivel adecuado de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
73 desconfianza. No instale un gancho a menos en que confíe en quien lo
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
74 creó y en lo que el gancho hace.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
75
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
76 En algunos casos, usted puede estar expuesto a ganchos que usted no
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
77 %TODO acá introduzco algo de texto por mi cuenta, por claridad
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
78 instaló. Si usted usa Mercurial en un sistema extraño, tenga en cuenta
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
79 que Mercurial ejecutará los ganchos definidos en el fichero \hgrc.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
80
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
81 Si está trabajando con un repositorio propiedad de otro usuario,
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
82 Mercurial podrá ejecutar los ganchos definidos en el repositorio de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
83 dicho usuario, pero los ejecutará como ``usted''. Por ejemplo, si
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
84 usted jala (\hgcmd{pull}) desde ese repositorio, y el
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
85 \sfilename{.hg/hgrc} define un gancho saliente (\hook{outgoing}),
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
86 dicho gancho se ejecuta bajo su cuenta de usuario, aun cuando usted no
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
87 es el propietario del repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
88
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
89 \begin{note}
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
90 Esto sólo aplica si usted está jalando desde un repositorio en un
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
91 sistema de ficheros local o de red. Si está jalando a través de http
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
92 o ssh, cualquier gancho saliente (\hook{outgoing}) se ejecutará bajo
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
93 la cuenta que está ejecutando el proceso servidor, en el servidor.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
94 \end{note}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
95
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
96 XXX Para ver qué ganchos han sido definidos en un repositorio, use el
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
97 comando \hgcmdargs{config}{hooks}. Si usted está trabajando en un
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
98 repositorio, pero comunicándose con otro que no le pertenece
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
99 (por ejemplo, usando \hgcmd{pull} o \hgcmd{incoming}), recuerde que
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
100 los ganchos que debe considerar son los del otro repositorio, no los
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
101 del suyo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
102
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
103 \subsection{Los ganchos no se propagan}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
104
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
105 En Mercurial, no se hace control de revisiones de los ganchos, y no se
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
106 propagan cuando usted clona, o jala de, un repositorio. El motivo para
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
107 esto es simple: un gancho es código ejecutable arbitrario. Se ejecuta
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
108 bajo su identidad, con su nivel de privilegios, en su máquina.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
109
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
110 Sería extremadamente descuidado de parte de cualquier sistema
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
111 distribuido de control de revisiones el implementar control de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
112 revisiones para ganchos, ya que esto ofrecería maneras fácilmente
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
113 %TODO subvertir
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
114 aprovechables de subvertir las cuentas de los usuarios del sistema de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
115 control de revisiones.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
116
534
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
117 Ya que Mercurial no propaga los ganchos, si usted está colaborando con
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
118 otras personas en un proyecto común, no debería asumir que ellos están
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
119 usando los mismos ganchos para Mercurial que usted usa, o que los de
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
120 ellos están configurado correctamente. Usted debería documentar los
263a8436d72d translated more text. Surprise!
jerojasro@localhost
parents: 435
diff changeset
121 ganchos que usted espera que la gente use.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
122
536
05bfbe50e7e4 translated a paragraph
Javier Rojas <jerojasro@devnull.li>
parents: 534
diff changeset
123 En una intranet corporativa, esto es algo más fácil de manejar, ya que
05bfbe50e7e4 translated a paragraph
Javier Rojas <jerojasro@devnull.li>
parents: 534
diff changeset
124 usted puede, por ejemplo, proveer una instalación ``estándar'' de
05bfbe50e7e4 translated a paragraph
Javier Rojas <jerojasro@devnull.li>
parents: 534
diff changeset
125 Mercurial en un sistema de ficheros NFS, y usar un fichero \hgrc\
05bfbe50e7e4 translated a paragraph
Javier Rojas <jerojasro@devnull.li>
parents: 534
diff changeset
126 global para definir los ganchos que verán todos los usuarios. Sin
05bfbe50e7e4 translated a paragraph
Javier Rojas <jerojasro@devnull.li>
parents: 534
diff changeset
127 embargo, este enfoque tiene sus límites; vea más abajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
128
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
129 \subsection{Es posible hacer caso omiso de los ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
130
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
131 Mercurial le permite hacer caso omiso de la deficinión de un gancho,
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
132 a través de la redefinición del mismo. Usted puede deshabilitar el
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
133 gancho fijando su valor como una cadena vacía, o cambiar su
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
134 comportamiento como desee.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
135
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
136 Si usted instala un fichero \hgrc\ a nivel de sistema o sitio completo
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
137 que define algunos ganchos, debe entender que sus usuarios pueden
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
138 deshabilitar o hacer caso omiso de los mismos.
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
139
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
140 \subsection{Asegurarse de que ganchos críticos sean ejecutados}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
141
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
142 Algunas veces usted puede querer hacer respetar una política, y no
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
143 permitir que los demás sean capaces de evitarla. Por ejemplo, usted
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
144 puede tener como requerimiento que cada conjunto de cambios debe pasar
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
145 un riguroso conjunto de pruebas. Definir este requerimientos a través
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
146 de un gancho en un fichero \hgrc\ global no servirá con usuarios
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
147 remotos en computadoras portátiles, y por supuesto que los usuarios
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
148 locales pueden evitar esto a voluntad haciendo caso omiso del gancho.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
149
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
150 En vez de eso, usted puede definir las políticas para usar Mercurial
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
151 de tal forma que se espere que los usuarios propaguen los cambios a
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
152 través de un servidor ``canónico'' bien conocido que usted ha
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
153 asegurado y configurado apropiadamente.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
154
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
155 Una manera de hacer esto es a través de una combinación de ingeniería
628
e0e65bfe7776 corrected small typo
Javier Rojas <jerojasro@devnull.li>
parents: 604
diff changeset
156 social y tecnología. Cree una cuenta de acceso restringido; los
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
157 usuarios pueden empujar cambios a través de la red a los repositorios
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
158 administrados por esta cuenta, pero no podrán ingresar a dicha cuenta
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
159 para ejecutar órdenes en el intérprete de comandos. En este escenario,
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
160 un usuario puede enviar un conjunto de cambios que contenga la
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
161 porquería que él desee.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
162
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
163 Cuando alguien empuja un conjunto de cambios al servidor del que todos
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
164 jalan, el servidor probará el conjunto de cambios antes de aceptarlo
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
165 como permanente, y lo rechazará si no logra pasar el conjunto de
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
166 pruebas. Si la gente sólo jala cambios desde este servidor de filtro,
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
167 servirá para asegurarse de que todos los cambios que la gente jala han
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
168 sido examinados automáticamente
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
169
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
170 \section{Precauciones con ganchos \texttt{pretxn} en un repositorio de
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
171 acceso compartido}
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
172
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
173 Si usted desea usar ganchos para llevar a cabo automáticamente algún
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
174 trabajo en un repositorio al que varias personas tienen acceso
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
175 compartido, debe tener cuidado con la forma de hacerlo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
176
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
177 Mercurial sólo bloquea un repositorio cuando está escribiendo al
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
178 mismo, y sólo las partes de Mercurial que escriben al repositorio le
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
179 prestan atención a los bloqueos. Los bloqueos de escritura son
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
180 necesarios para evitar que múltiples escritores simultáneos
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
181 interfieran entre sí, corrompiendo el repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
182
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
183 Ya que Mercurial tiene cuidado con el orden en que lee y escribe
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
184 datos, no necesita adquirir un bloqueo cuando desea leer datos del
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
185 repositorio. Las partes de Mercurial que leen del repositorio nunca le
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
186 prestan atención a los bloqueos. Este esquema de lectura libre de
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
187 bloqueos incremententa en gran medida el desempeño y la concurrencia.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
188
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
189 Sin embargo, para tener un gran desempeño es necesario hacer
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
190 sacrificios, uno de los cuales tiene el potencial de causarle
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
191 problemas a menos de que usted esté consciente de él. Describirlo
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
192 requiere algo de detalle respecto a cómo Mercurial añade conjuntos de
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
193 cambios al repositorio y cómo lee esos cambios de vuelta.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
194
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
195 Cuando Mercurial \emph{escribe} metadatos, los escribe directamente en
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
196 el fichero de destino. Primero escribe los datos del fichero, luego
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
197 los datos del manifiesto (que contienen punteros a los nuevos datos
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
198 del fichero), luego datos de la bitácora de cambios (que contienen
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
199 punteros a los nuevos datos del manifiesto). Antes de la primera
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
200 escritura a cada fichero, se guarda un registro de dónde estaba el
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
201 final de fichero en su registro de transacciones. Si la transacción
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
202 debe ser deshecha, Mercurial simplemente trunca cada fichero de vuelta
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
203 al tamaño que tenía antes de que empezara la transacción.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
204
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
205 Cuando Mercurial \emph{lee} metadatos, lee la bitácora de cambios
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
206 primero, y luego todo lo demás. Como un lector sólo accederá a las
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
207 partes del manifiesto o de los metadatos de fichero que él puede ver
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
208 en la bitácora de cambios, nunca puede ver datos parcialmente
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
209 escritos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
210
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
211 Algunos ganchos de control (\hook{pretxncommit} y
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
212 \hook{pretxnchangegroup}) se ejecutan cuando una transacción está casi
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
213 completa. Todos los metadatos han sido escritos, pero Mercurial aún
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
214 puede deshacer la transacción y hacer que los datos recién escritos
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
215 desaparezcan.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
216
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
217 Si alguno de estos ganchos permanece en ejecución por mucho tiempo,
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
218 abre una ventana de tiempo en la que un lector puede ver los metadatos
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
219 de conjuntos de cambios que aún no son permanentes y que no debería
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
220 considerarse que estén ``realmante ahí''. Entre más tiempo tome la
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
221 ejecución del gancho, más tiempo estará abierta esta ventana.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
222
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
223 \subsection{Ilustración del problema}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
224
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
225 En principio, un buen uso del gancho \hook{pretxnchangegroup} sería
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
226 ensamblar y probar automáticamente todos los cambios entrantes antes
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
227 de que sean aceptados en un repositorio central. Esto le permitiría a
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
228 usted garantizar que nadie pueda empujar cambios que ``rompan el
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
229 ensamblaje''. Pero si un cliente puede jalar cambios mientras están
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
230 siendo probados, la utilidad de esta prueba es nula; alguien confiado
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
231 puede jalar cambios sin probar, lo que potencialmente podría romper su
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
232 proceso de ensamblaje.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
233
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
234 La respuesta técnica más segura frente a este retos es montar dicho
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
235 repositorio ``guardián'' como \emph{unidireccional}. Permita que
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
236 reciba cambios desde el exterior, pero no permita que nadie jale
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
237 cambios de él (use el gancho \hook{preoutgoing} para bloquear esto).
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
238 Configure un gancho \hook{changegroup} para que si el ensamblaje o
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
239 prueba tiene éxito, el gancho empuje los nuevos cambios a otro
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
240 repositorio del que la gente \emph{pueda} jalar.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
241
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
242 En la práctica, montar un cuello de botella centralizado como éste a
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
243 menudo no es una buena idea, y la visibilidad de las transacciones no
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
244 tiene nada que ver con el problema. A medida que el tamaño de un
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
245 proyecto---y el tiempo que toma ensamblarlo y probarlo---crece, usted
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
246 se acerca rápidamente a un límite con este enfoque ``pruebe antes de
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
247 comprar'', en el que tiene más conjuntos de cambios a probar que
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
248 tiempo para ocuparse de ellos. El resultado inevitable es frustración
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
249 para todos los que estén involucrados.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
250
540
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
251 Una aproximación que permite manejar mejor el crecimiento es hacer que
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
252 la gente ensamble y pruebe antes de empujar, y ejecutar el ensamble y
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
253 pruebas automáticas centralmente \emph{después} de empujar, para
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
254 asegurarse de que todo esté bien. La ventaja de este enfoque es que no
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
255 impone un límite a la rata en la que un repositorio puede aceptar
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
256 cambios.
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
257
4e0684e824e1 translated up to the tutorial on using hooks
jerojasro@abu.no-ip.org
parents: 536
diff changeset
258 \section{Tutorial corto de uso de ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
259 \label{sec:hook:simple}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
260
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
261 Escribir un gancho para Mercurial es fácil. Empecemos con un gancho
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
262 que se ejecute cuando usted termine un \hgcmd{commit}, y simplemente
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
263 muestre el hash del conjunto de cambios que usted acaba de crear. El
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
264 gancho se llamará \hook{commit}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
265
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
266 \begin{figure}[ht]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
267 \interaction{hook.simple.init}
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
268 \caption{Un gancho simple que se ejecuta al hacer la consignación de
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
269 un conjunto de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
270 \label{ex:hook:init}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
271 \end{figure}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
272
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
273 Todos los ganchos siguen el patrón del ejemplo~\ref{ex:hook:init}.
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
274 Usted puede añadir una entrada a la sección \rcsection{hooks} de su
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
275 fichero \hgrc. A la izquierda está el nombre del evento respecto al
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
276 cual dispararse; a la derecha está la acción a llevar a cabo. Como
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
277 puede ver, es posible ejecutar cualquier orden de la línea de comandos
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
278 en un gancho. Mercurial le pasa información extra al gancho usando
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
279 variables de entorno (busque \envar{HG\_NODE} en el ejemplo).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
280
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
281 \subsection{Llevar a cabo varias acciones por evento}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
282
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
283 A menudo, usted querrá definir más de un gancho para un tipo de evento
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
284 particular, como se muestra en el ejemplo~\ref{ex:hook:ext}.
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
285 Mercurial le permite hacer esto añadiendo una \emph{extensión} al
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
286 final del nombre de un gancho. Usted extiende el nombre del gancho
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
287 %TODO Yuk, no me gusta ese "parada completa"
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
288 poniendo el nombre del gancho, seguido por una parada completa (el
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
289 caracter ``\texttt{.}''), seguido de algo más de texto de su elección.
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
290 Por ejemplo, Mercurial ejecutará tanto \texttt{commit.foo} como
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
291 \texttt{commit.bar} cuando ocurra el evento \texttt{commit}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
292
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
293 \begin{figure}[ht]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
294 \interaction{hook.simple.ext}
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
295 \caption{Definición de un segundo gancho \hook{commit}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
296 \label{ex:hook:ext}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
297 \end{figure}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
298
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
299 Para dar un orden bien definido de ejecución cuando hay múltiples
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
300 ganchos definidos para un evento, Mercurial ordena los ganchos de
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
301 acuerdo a su extensión, y los ejecuta en dicho orden. En el ejemplo de
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
302 arribam \texttt{commit.bar} se ejecutará antes que
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
303 \texttt{commit.foo}, y \texttt{commit} se ejecutará antes de ambos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
304
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
305 Es una buena idea usar una extensión descriptiva cuando usted define
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
306 un gancho. Esto le ayudará a recordar para qué se usa el gancho. Si el
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
307 gancho falla, usted recibirá un mensaje de error que contiene el
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
308 nombre y la extensión del gancho, así que usar una extensión
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
309 descriptiva le dará una pista inmediata de porqué el gancho falló (vea
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
310 un ejemplo en la sección~\ref{sec:hook:perm}).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
311
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
312 \subsection{Controlar cuándo puede llevarse a cabo una actividad}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
313 \label{sec:hook:perm}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
314
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
315 En los ejemplos anteriores, usamos el gancho \hook{commit}, que es
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
316 ejecutado después de que se ha completado una consignación. Este es
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
317 uno de los varios ganchos que Mercurial ejecuta luego de que una
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
318 actividad termina. Tales ganchos no tienen forma de influenciar la
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
319 actividad como tal.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
320
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
321 Mercurial define un número de eventos que ocurren antes de que una
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
322 actividad empiece; o luego de que empiece, pero antes de que termine.
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
323 Los ganchos que se disparan con estos eventos tienen la capacidad
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
324 adicional de elegir si la actividad puede continuar, o si su ejecución
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
325 es abortada.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
326
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
327 El gancho \hook{pretxncommit} se ejecuta justo antes de que una
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
328 consignación se ejecute. En otras palabras, los metadatos que
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
329 representan el conjunto de cambios han sido escritos al disco, pero no
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
330 se ha terminado la transacción. El gancho \hook{pretxncommit} tiene la
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
331 capacidad de decidir si una transacción se completa, o debe
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
332 deshacerse.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
333
541
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
334 Si el gancho \hook{pretxncommit} termina con un código de salida de
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
335 cero, se permite que la transacción se complete; la consignación
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
336 termina; y el gancho \hook{commit} es ejecutado. Si el gancho
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
337 \hook{pretxncommit} termina con un código de salida diferente de cero,
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
338 la transacción es revertida; los metadatos representando el conjunto
606295a87ff2 translated a bit more of hook.tex
jerojasro@abu.no-ip.org
parents: 540
diff changeset
339 de cambios son borrados; y el gancho \hook{commit} no es ejecutado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
340
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
341 \begin{figure}[ht]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
342 \interaction{hook.simple.pretxncommit}
636
f9e5dfca1584 missing translation
Javier Rojas <jerojasro@devnull.li>
parents: 628
diff changeset
343 \caption{Uso del gancho \hook{pretxncommit} para controlar consignaciones}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
344 \label{ex:hook:pretxncommit}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
345 \end{figure}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
346
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
347 El gancho en el ejemplo~\ref{ex:hook:pretxncommit} revisa si el
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
348 mensaje de consignación contiene el ID de algún fallo. Si lo contiene,
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
349 la consignación puede continuar. Si no, la consignación es cancelada.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
350
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
351 \section{Escribir sus propios ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
352
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
353 Cuando usted escriba un gancho, puede encontrar útil el ejecutar
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
354 Mercurial o bien pasándole la opción \hggopt{-v}, o con el valor de
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
355 configuración \rcitem{ui}{verbose} fijado en ``true'' (verdadero).
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
356 Cuando lo haga, Mercurial imprimirá un mensaje antes de llamar cada
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
357 gancho.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
358
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
359 \subsection{Escoger cómo debe ejecutarse su gancho}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
360 \label{sec:hook:lang}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
361
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
362 Usted puede escribir un gancho que funcione como un programa normal
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
363 ---típicamente un guión de línea de comandos---o como una función de
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
364 Python que se ejecuta dentro del proceso Mercurial.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
365
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
366 Escribir un gancho como un programa externo tiene la ventaja de que no
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
367 requiere ningún conocimiento del funcionamiento interno de Mercurial.
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
368 Usted puede ejecutar comandos Mercurial normales para obtener la
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
369 informción extra que pueda necesitar. La contraparte de esto es que
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
370 los ganchos externos son más lentos que los ganchos internos
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
371 ejecutados dentro del proceso.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
372
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
373 Un gancho Python interno tiene acceso completo a la API de Mercurial,
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
374 y no se ``externaliza'' a otro proceso, así que es inherentemente más
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
375 rápido que un gancho externo. Adicionalmente es más fácil obtener la
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
376 mayoría de la información que un gancho requiere a través de llamadas
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
377 directas a la API de Mercurial que hacerlo ejecutando comandos
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
378 Mercurial.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
379
551
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
380 Si se siente a gusto con Python, o requiere un alto desempeño,
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
381 escribir sus ganchos en Python puede ser una buena elección. Sin
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
382 embargo, cuando usted tiene un gancho bastante directo por escribir y
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
383 no le importa el desempeño (el caso de la mayoría de los ganchos), es
5a0401ba9faa translated some paragraphs of hooks
jerojasro@abu.no-ip.org
parents: 541
diff changeset
384 perfectamente admisible un guión de línea de comandos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
385
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
386 \subsection{Parámetros para ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
387 \label{sec:hook:param}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
388
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
389 Mercurial llama cada gancho con un conjunto de paŕametros bien
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
390 definidos. En Python, un parámetro se pasa como argumento de palabra
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
391 clave a su función de gancho. Para un programa externo, los parámetros
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
392 son pasados como variables de entornos.
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
393
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
394 Sin importar si su gancho está escrito en Python o como guión de línea
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
395 de comandos, los nombres y valores de los parámetros específicos de
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
396 los ganchos serán los mismos. Un parámetro booleano será representado
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
397 como un valor booleano en Python, pero como el número 1 (para
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
398 ``verdadero'') o 0 (para falso) en una variable de entorno para un
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
399 gancho externo. Si un parámetro se llama \texttt{foo}, el argumento de
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
400 palabra clave para un gancho en Python también se llamará
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
401 \texttt{foo}, mientras que la variable de entorno para un gancho
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
402 externo se llamará \texttt{HG\_FOO}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
403
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
404 \subsection{Valores de retorno de ganchos y control de actividades}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
405
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
406 Un gancho que se ejecuta exitosamente debe terminar con un código de
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
407 salida de cero, si es externo, o retornar el valor booleano
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
408 ``falso'', si es interno. Un fallo se indica con un código de salida
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
409 diferente de cero desde un gancho externo, o un valor de retorno
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
410 booleano ``verdadero''. Si un gancho interno genera una excepción, se
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
411 considera que el gancho ha fallado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
412
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
413 Para los ganchos que controlan si una actividad puede continuar o no,
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
414 cero/falso quiere decir ``permitir'', mientras que
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
415 % TODO me suena mejor "no permitir" que "denegar"
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
416 no-cero/verdadero/excepción quiere decir ``no permitir''.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
417
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
418 \subsection{Escribir un gancho externo}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
419
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
420 Cuando usted define un gancho externo en su fichero \hgrc\ y el mismo
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
421 es ejecutado, dicha definición pasa a su intérprete de comandos, que
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
422 hace la interpretación correspondiente. Esto significa que usted puede
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
423 usar elementos normales del intérprete en el cuerpo del gancho.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
424
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
425 Un gancho ejecutable siempre es ejecutado con su directorio actual
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
426 fijado al directorio raíz del repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
427
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
428 Cada parámetro para el gancho es pasado como una variable de entorno;
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
429 el nombre está en mayúsculas, y tiene como prefijo la cadena
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
430 ``\texttt{HG\_}''.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
431
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
432 Con la excepción de los parámetros para los ganchos, Mercurial no
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
433 define o modifica ninguna variable de entorno al ejecutar un gancho.
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
434 Es útil recordar esto al escribir un gancho global que podría ser
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
435 ejecutado por varios usuarios con distintas variables de entorno
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
436 fijadas. En situaciones con múltiples usuarios, usted no debería
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
437 asumir la existencia de ninguna variable de entorno, ni que sus
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
438 valores sean los mismos que tenían cuando usted probó el gancho en su
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
439 ambiente de trabajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
440
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
441 \subsection{Indicar a Mercurial que use un gancho interno}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
442
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
443 La sintaxis para definir un gancho interno en el fichero \hgrc\ es
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
444 ligeramente diferente de la usada para un gancho externo. El valor del
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
445 gancho debe comenzar con el texto ``\texttt{python:}'', y continuar
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
446 con el nombre completamente cualificado de un objeto invocable que se
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
447 usará como el valor del gancho.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
448
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
449 El módulo en que vive un gancho es importado automáticamente cuando se
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
450 ejecuta un gancho. Siempre que usted tenga el nombre del módulo y la
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
451 variable de entorno \envar{PYTHONPATH} ajustada adecuadamente, todo
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
452 debería funcionar sin problemas.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
453
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
454 El siguiente fragmento de ejemplo de un fichero \hgrc\ ilustra la
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
455 sintaxis y significado de los conceptos que acabamos de describir.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
456 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
457 [hooks]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
458 commit.example = python:mymodule.submodule.myhook
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
459 \end{codesample2}
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
460 Cuando Mercurial ejecuta el gancho \texttt{commit.example}, importa
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
461 \texttt{mymodule.submodule}, busca el objeto invocable llamado
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
462 \texttt{myhook}, y lo invoca (llama).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
463
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
464 \subsection{Escribir un gancho interno}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
465
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
466 El gancho interno más sencillo no hace nada, pero ilustra la
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
467 estructura básica de la API\ndt{\emph{Application Progamming
560
67d34d8b6ba0 translated up to the "writing an in-process hook" section
Javier Rojas <jerojasro@devnull.li>
parents: 551
diff changeset
468 Interface}, Interfaz para Programación de Aplicaciones} para ganchos:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
469 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
470 def myhook(ui, repo, **kwargs):
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
471 pass
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
472 \end{codesample2}
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
473 El primer argumento para un gancho Python siempre es un objeto
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
474 \pymodclass{mercurial.ui}{ui}. El segundo es un objeto repositorio;
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
475 de momento, siempre es una instancia de
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
476 \pymodclass{mercurial.localrepo}{localrepository}. Después de estos
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
477 dos argumentos están los argumentos de palabra clave. Los argumentos
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
478 que se pasen dependerán del tipo de gancho que se esté llamando, pero
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
479 un gancho siempre puede ignorar los argumentos que no le interesen,
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
480 relegándolos a un diccionario de argumentos por palabras clave, como se
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
481 hizo arriba con \texttt{**kwargs}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
482
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
483 \section{Ejemplos de ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
484
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
485 \subsection{Escribir mensajes de consignación significativos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
486
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
487 Es difícil de imaginar un mensaje de consignación útil y al mismo
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
488 tiempo muy corto. El simple gancho \hook{pretxncommit} de la
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
489 figura~\ref{ex:hook:msglen.go} evitará que usted consigne un conjunto
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
490 de cambios con un mensaje de menos de 10 bytes de longitud.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
491
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
492 \begin{figure}[ht]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
493 \interaction{hook.msglen.go}
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
494 \caption{Un gancho que prohíbe mensajes de consignación demasiado
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
495 cortos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
496 \label{ex:hook:msglen.go}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
497 \end{figure}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
498
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
499 \subsection{Comprobar espacios en blanco finales}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
500
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
501 Un uso interesante para ganchos relacionados con consignaciones es
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
502 ayudarle a escribir código más limpio. Un ejemplo simple de
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
503 %TODO dictum => regla
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
504 ``código más limpio'' es la regla de que un cambio no debe añadir
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
505 líneas de texto que contengan ``espacios en blanco finales''. El
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
506 espacio en blanco final es una serie de caracteres de espacio y
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
507 tabulación que se encuentran al final de una línea de texto. En la
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
508 mayoría de los casos, el espacio en blanco final es innecesario, ruido
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
509 invisible, pero ocasionalmente es problemático, y la gente en general
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
510 prefiere deshacerse de él.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
511
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
512 Usted puede usar cualquiera de los ganchos \hook{precommit} o
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
513 \hook{pretxncommit} para revisar si tiene el problema de los espacios
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
514 en blanco finales. Si usa el gancho \hook{precommit}, el gancho no
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
515 sabrá qué ficheros se están consignando, por lo que se tendrá que
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
516 revisar cada fichero modificado en el repositorio para ver si tiene
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
517 espacios en blanco finales. Si usted sólo quiere consignar un cambio
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
518 al fichero \filename{foo}, y el fichero \filename{bar} contiene
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
519 espacios en blanco finales, hacer la revisión en el gancho
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
520 \hook{precommit} evitará que usted haga la consignación de
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
521 \filename{foo} debido al problem en \filename{bar}. Este no parece el
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
522 enfoque adeucado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
523
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
524 Si usted escogiera el gancho \hook{pretxncommit}, la revisión no
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
525 ocurriría sino hasta justo antes de que la transacción para la
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
526 consignación se complete. Esto le permitirá comprobar por posibles
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
527 problemas sólo en los ficheros que serán consignados. Sin embargo, si
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
528 usted ingresó el mensaje de consignación de manera interactiva y el
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
529 %TODO roll-back
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
530 gancho falla, la transacción será deshecha; usted tendrá que
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
531 reingresar el mensaje de consignación luego de que corrija el problema
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
532 con los espacios en blanco finales y ejecute \hgcmd{commit} de nuevo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
533
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
534 \begin{figure}[ht]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
535 \interaction{hook.ws.simple}
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
536 \caption{Un gancho simple que revisa si hay espacios en blanco
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
537 finales}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
538 \label{ex:hook:ws.simple}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
539 \end{figure}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
540
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
541 La figura~\ref{ex:hook:ws.simple} presenta un gancho
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
542 \hook{pretxncommit} simple que comprueba la existencia de espacios en
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
543 blanco finales. Este gancho es corto, pero no brinda mucha ayuda.
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
544 Termina con un código de salida de error si un cambio añade una línea
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
545 con espacio en blanco final a cualquier fichero, pero no muestra
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
546 ninguna información que pueda ser útil para identificar el fichero o
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
547 la línea de texto origen del problema. También tiene la agradable
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
548 propiedad de no prestar atención a las líneas que no sufrieron
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
549 modificaciones; sólo las líneas que introducen nuevos espacios en
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
550 blanco finales causan problemas.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
551
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
552 \begin{figure}[ht]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
553 \interaction{hook.ws.better}
604
54d3cad45353 corrected some typos, and a missing translation
Javier Rojas <jerojasro@devnull.li>
parents: 583
diff changeset
554 \caption{Un mejor gancho para espacios en blanco finales}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
555 \label{ex:hook:ws.better}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
556 \end{figure}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
557
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
558 El ejemplo de la figura~\ref{ex:hook:ws.better} es mucho más complejo,
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
559 pero también más útil. El gancho procesa un diff unificado para
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
560 revisar si alguna línea añade espacios en blanco finales, e imprime el
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
561 nombre del fichero y el número de línea de cada ocurrencia. Aún mejor,
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
562 si el cambio añade espacios en blanco finales, este gancho guarda el
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
563 mensaje de consignación e imprime el nombre del fichero en el que el
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
564 mensaje fue guardado, antes de terminar e indicarle a Mercurial que
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
565 deshaga la transacción, para que uste pueda usar
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
566 \hgcmdargs{commit}{\hgopt{commit}{-l}~\emph{nombre\_fichero}} para
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
567 reutilizar el mensaje de consignación guardado anteriormente, una vez
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
568 usted haya corregido el problema.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
569
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
570 Como anotación final, note en la figura~\ref{ex:hook:ws.better} el
561
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
571 %TODO on-site => in-situ ?
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
572 uso de la característica de edición \emph{in-situ} de \command{perl}
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
573 para eliminar los espacios en blanco finales en un fichero. Esto es
5389bef3a95b translated up to the "Bundled hooks" section
Javier Rojas <jerojasro@devnull.li>
parents: 560
diff changeset
574 lo suficientemente conciso y poderoso para que lo presente aquí.
562
0ab26d50eba3 corrected a typo in a perl regexp. \o/ \o/ \o/ therefore I know quantum mechanics!!! see xkcd
Javier Rojas <jerojasro@devnull.li>
parents: 561
diff changeset
575 % TODO corregí el backslash, y comprobé por mi cuenta un archivo
0ab26d50eba3 corrected a typo in a perl regexp. \o/ \o/ \o/ therefore I know quantum mechanics!!! see xkcd
Javier Rojas <jerojasro@devnull.li>
parents: 561
diff changeset
576 % aparte, y el comando hace lo que debe hacer. Favor copiar del pdf el
0ab26d50eba3 corrected a typo in a perl regexp. \o/ \o/ \o/ therefore I know quantum mechanics!!! see xkcd
Javier Rojas <jerojasro@devnull.li>
parents: 561
diff changeset
577 % comando perl y comprobar con un archivo con espacios en blanco
0ab26d50eba3 corrected a typo in a perl regexp. \o/ \o/ \o/ therefore I know quantum mechanics!!! see xkcd
Javier Rojas <jerojasro@devnull.li>
parents: 561
diff changeset
578 % finales, y si todo está bien (que debería), borrar esta nota
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
579 \begin{codesample2}
562
0ab26d50eba3 corrected a typo in a perl regexp. \o/ \o/ \o/ therefore I know quantum mechanics!!! see xkcd
Javier Rojas <jerojasro@devnull.li>
parents: 561
diff changeset
580 perl -pi -e 's,\textbackslash{}s+\$,,' nombre\_fichero
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
581 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
582
604
54d3cad45353 corrected some typos, and a missing translation
Javier Rojas <jerojasro@devnull.li>
parents: 583
diff changeset
583 \section{Ganchos adicionales}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
584
604
54d3cad45353 corrected some typos, and a missing translation
Javier Rojas <jerojasro@devnull.li>
parents: 583
diff changeset
585 Mercurial se instala con varios ganchos adicionales. Usted puede
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
586 encontrarlos en el directorio \dirname{hgext} del árbol de ficheros
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
587 fuente de Mercurial. Si usted está usando un paquete binario de
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
588 Mercurial, los ganchos estarán ubicados en el directorio
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
589 \dirname{hgext} en donde su instalador de paquetes haya puesto a
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
590 Mercurial.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
591
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
592 \subsection{\hgext{acl}---control de acceso a partes de un repositorio}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
593
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
594 La extensión \hgext{acl} le permite controlar a qué usuarios remotos
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
595 les está permitido empujar conjuntos de cambios a un servidor en red.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
596 Usted puede proteger cualquier porción de un repositorio (incluyendo
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
597 el repositorio completo), de tal manera que un usuario remoto
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
598 específico pueda empujar cambios que no afecten la porción protegida.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
599
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
600 Esta extensión implementa control de acceso basado en la identidad del
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
601 usuario que empuja los conjuntos de cambios, \emph{no} en la identidad
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
602 de quien hizo la consignación de los mismos. Usar este gancho tiene
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
603 sentido sólo si se tiene un servidor adecuadamente asegurado que
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
604 autentique a los usuarios remotos, y si usted desea segurarse de que
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
605 sólo se le permita a ciertos usuarios empujar cambios a dicho
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
606 servidor.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
607
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
608 \subsubsection{Configuración del gancho \hook{acl}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
609
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
610 Para administrar los conjuntos de cambios entrantes, se debe usar el
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
611 gancho \hgext{acl} como un gancho de tipo \hook{pretxnchangegroup}.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
612 Esto le permite ver qué ficheros son modificados por cada conjunto de
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
613 %TODO rollback => "deshacer el efecto"
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
614 cambios entrante, y deshacer el efecto de un grupo de conjuntos de
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
615 cambios si alguno de ellos modifica algún fichero ``prohibido''.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
616 Ejemplo:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
617 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
618 [hooks]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
619 pretxnchangegroup.acl = python:hgext.acl.hook
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
620 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
621
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
622 La extensión \hgext{acl} es configurada mediante tres secciones.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
623
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
624 La sección \rcsection{acl} sólo tiene una entrada,
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
625 \rcitem{acl}{sources}\ndt{Fuentes.}, que lista las fuentes de los
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
626 conjuntos de cambios entrantes a las que el gancho debe prestar
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
627 atención. Usualmente usted no necesita configurar esta sección.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
628 \begin{itemize}
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
629 \item[\rcitem{acl}{serve}] Controlar conjuntos de
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
630 cambios entrantes que están llegando desde un repositorio a
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
631 través de http o ssh. Este es el valor por defecto de
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
632 \rcitem{acl}{sources}, y usualmente es el único valor de
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
633 configuración que necesitará para este ítem.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
634 \item[\rcitem{acl}{pull}] Controlar conjuntos de cambios entrantes que
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
635 lleguen vía un pull (jalado) desde un repositorio local.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
636 \item[\rcitem{acl}{push}] Controlar conjuntos de cambios entrantes que
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
637 lleguen vía un push (empuje) desde un repositorio local.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
638 \item[\rcitem{acl}{bundle}] Controlar conjuntos de cambios entrantes
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
639 %TODO bundle
604
54d3cad45353 corrected some typos, and a missing translation
Javier Rojas <jerojasro@devnull.li>
parents: 583
diff changeset
640 que lleguen desde otro repositorio a través de un paquete.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
641 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
642
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
643 La sección \rcsection{acl.allow} controla los usuarios a los que les
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
644 está permitido añadir conjuntos de cambios al repositorio. Si esta
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
645 sección no está presente, se le permite acceso a todos los usuarios
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
646 excepto a los que se les haya negado explícitamente el acceso. Si
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
647 esta sección no está presente, se niega el acceso a todos los usuarios
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
648 excepto a todos a los que se les haya permitido de manera explícita
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
649 (así que una sección vacía implica que se niega el acceso a todos los
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
650 usuarios).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
651
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
652 La sección \rcsection{acl.deny} determina a qué usuarios no se les
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
653 permite añadir conjuntos de cambios al repositorio. Si esta sección no
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
654 está presente o está vacía, no se niega el acceso a ningún usuario.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
655
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
656 La sintaxis para los ficheros \rcsection{acl.allow} y
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
657 \rcsection{acl.deny} es idéntica. A la izquierda de cada entrada se
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
658 encuentra un patrón glob que asocia ficheros o directorios, respecto a
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
659 la raíz del repositorio; a la derecha, un nombre usuario.
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
660
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
661 En el siguiente ejemplo, el usuario \texttt{escritordoc} sólo puede
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
662 empujar cambios al directorio \dirname{docs} del repositorio, mientras
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
663 que \texttt{practicante} puede enviar cambios a cualquier fichero o
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
664 directorio excepto \dirname{fuentes/sensitivo}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
665 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
666 [acl.allow]
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
667 docs/** = escritordoc
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
668
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
669 [acl.deny]
563
951bf84ca8e2 translated up to the section "testing and troubleshooting"
Javier Rojas <jerojasro@devnull.li>
parents: 562
diff changeset
670 fuentes/sensitivo/** = practicante
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
671 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
672
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
673 \subsubsection{Pruebas y resolución de problemas}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
674
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
675 Si usted desea probar el gancho \hgext{acl}, ejecútelo habilitando la
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
676 opción de salida de depuración habilitada. Ya que usted probablemente
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
677 lo estará ejecutando en un servidor donde no es conveniente (o incluso
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
678 posible) pasar la opción \hggopt{--debug}, no olvide que usted puede
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
679 habilitar la salida de depuración en su \hgrc:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
680 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
681 [ui]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
682 debug = true
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
683 \end{codesample2}
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
684 Con esto habilitado, el gancho \hgext{acl} imprimirá suficiente
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
685 información para permitirle saber porqué está permitiendo o denegando
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
686 la operación de empujar a usuarios específicos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
687
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
688 \subsection{\hgext{bugzilla}---integración con Bugzilla}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
689
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
690 La extensión \hgext{bugzilla} añade un comentario a un fallo Bugzilla
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
691 siempre que encuentre una referencia al ID de dicho fallo en un
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
692 mensaje de consignación. Usted puede instalar este gancho en un
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
693 servidor compartido, para que cada vez que un usuario remoto empuje
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
694 cambios al servidor, el gancho sea ejecutado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
695
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
696 Se añade un comentario al fallo que se ve así (usted puede configurar
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
697 los contenidos del comentario---vea más abajo):
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
698 %TODO traducir?
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
699 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
700 Changeset aad8b264143a, made by Joe User <joe.user@domain.com> in
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
701 the frobnitz repository, refers to this bug.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
702
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
703 For complete details, see
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
704 http://hg.domain.com/frobnitz?cmd=changeset;node=aad8b264143a
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
705
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
706 Changeset description:
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
707 Fix bug 10483 by guarding against some NULL pointers
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
708 \end{codesample2}
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
709 El valor de este gancho se encuentra en que automatiza el proceso de
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
710 actualizar un fallo cuando un conjunto de cambios se refiera a él. Si
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
711 usted configura este gancho adecuadamente, hará fácil para la gente
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
712 navegar directamente desde un fallo Bugzilla a un conjunto de cambios
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
713 que se refiere a ese fallo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
714
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
715 Usted puede usar el código de este gancho como un punto de partida
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
716 para otras recetas de integración con Bugzilla aún más exóticas. Acá
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
717 hay algunas posibilidades:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
718 \begin{itemize}
564
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
719 \item Requerir que cada conjunto de cambios tenga un ID de fallo en su
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
720 mensaje de consignación. En este caso, usted querrá configurar el
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
721 gancho como uno de tipo \hook{pretxncommit}. Esto le permitirá al
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
722 gancho rechazar cambios que no contiene IDs de fallos.
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
723 \item Permitir a los conjuntos de cambios entrantes modificar
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
724 automáticamente el \emph{estado} de un fallo, así como simplemente
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
725 añadir un comentario. Por ejemplo, el gancho podría reconocer la
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
726 cadena ``corregido fallo 31337'' como la señal de que debería
aa6036a9688e translated up to almost the end of the "integration with bugzilla" section. upgraded project status
Javier Rojas <jerojasro@devnull.li>
parents: 563
diff changeset
727 actualizar el estado del fallo 31337 a ``requiere pruebas''.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
728 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
729
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
730 \subsubsection{Configuración del gancho \hook{bugzilla}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
731 \label{sec:hook:bugzilla:config}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
732
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
733 Usted debería configurar este gancho en el \hgrc\ de su servidor como
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
734 un gancho \hook{incoming}\ndt{Entrante.}, por ejemplo como sigue:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
735 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
736 [hooks]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
737 incoming.bugzilla = python:hgext.bugzilla.hook
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
738 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
739
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
740 Debido a la naturaleza especializada de este gancho, y porque Bugzilla
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
741 no fue escrito con este tipo de integración en mente, configurar este
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
742 % TODO involved => complejo ? no intarwebs here :(
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
743 gancho es un proceso algo complejo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
744
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
745 Antes de empezar, usted debe instalar la interfaz de Python para MySQL
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
746 en los sistemas en los que se vaya a ejecutar el gancho. Si no está
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
747 disponible como paquete binario para su sistema, usted puede descargar
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
748 el paquete desde~\cite{web:mysql-python}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
749
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
750 La información para configurar este gancho se ubica en la sección
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
751 \rcsection{bugzilla} de su \hgrc.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
752 \begin{itemize}
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
753 \item[\rcitem{bugzilla}{version}] La versión de Bugzilla instalada en
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
754 el servidor. El esquema de base de datos que Bugzilla usa cambia
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
755 ocasionalmente, así que este gancho debe saber exactamente qué
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
756 esquema usar. A la fecha, la única versión soportada es la
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
757 \texttt{2.16}.
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
758 \item[\rcitem{bugzilla}{host}] El nombre de máquina (\emph{hostname})
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
759 del servidor MySQL que almacena sus datos Bugzilla. La base de datos
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
760 debe ser configurada para permitir conexiones desde las máquinas en
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
761 las que usted ejecute el gancho \hook{bugzilla}.
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
762 \item[\rcitem{bugzilla}{user}] El nombre de usuario que se usará para
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
763 conectarse al servidor MySQL. La base de datos debe ser configurada
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
764 para permitir a dicho usuario conectarse desde cualquiera de las
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
765 máquinas en las que se ejecute el gancho \hook{bugzilla}. Este
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
766 usuario debe tener acceso y poder modificar las tablas de Bugzilla.
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
767 El valor por defecto para este ítem es \texttt{bugs}, que es el
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
768 nombre estándar del usuario para Bugzilla en una base de datos
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
769 MySQL.
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
770 \item[\rcitem{bugzilla}{password}] La contraseña MySQL para el usuario
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
771 configurado anteriormente. Ésta es almacenada como texto plano, así
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
772 que usted deberá asegurarse de que los usuarios no autorizados no
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
773 puedan leer el fichero \hgrc\ en donde usted guarda esta
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
774 información.
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
775 \item[\rcitem{bugzilla}{db}] El nombre de la base de datos Bugzilla en
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
776 el servidor MySQL. El nombre por defecto para este ítem es
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
777 \texttt{bugs}, que es el nombre estándar de la base de datos MySQL
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
778 en donde Bugzilla almacena sus datos.
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
779 \item[\rcitem{bugzilla}{notify}] Si usted desea que Bugzilla envíe un
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
780 %TODO suBscriptores?
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
781 correo de notificación a los suscriptores después de que el gancho
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
782 haya añadido un comentario a un fallo, necesitará que este gancho
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
783 ejecute un comando siempre que actualice la base de datos. El
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
784 comando que se ejecute depende de en dónde haya sido instalado
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
785 Bugzilla, pero típicamente se verá así, si usted ha instalado
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
786 Bugzilla en \dirname{/var/www/html/bugzilla}:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
787 \begin{codesample4}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
788 cd /var/www/html/bugzilla && ./processmail %s nobody@nowhere.com
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
789 \end{codesample4}
565
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
790 El programa \texttt{processmail} de Bugzilla espera recibir un ID de
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
791 fallo (el gancho reemplaza ``\texttt{\%s}'' por el ID del fallo) y
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
792 una dirección de correo. También espera poder escribir a ciertos
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
793 ficheros en el directorio en que se ejecuta. Si Bugzilla y éste
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
794 gancho no están instalados en la misma máquina, usted deberá
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
795 encontrar una manera de ejecutar \texttt{processmail} en el servidor
e0da346e4681 translated up to the "integration with bugzilla" section
Javier Rojas <jerojasro@devnull.li>
parents: 564
diff changeset
796 donde está instalado Bugzilla.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
797 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
798
566
616656741ba7 translated a subsection title. Mostly to see if hg churn changes :P
Javier Rojas <jerojasro@devnull.li>
parents: 565
diff changeset
799 \subsubsection{Asociar nombres de consignadores a nombres de usuario
616656741ba7 translated a subsection title. Mostly to see if hg churn changes :P
Javier Rojas <jerojasro@devnull.li>
parents: 565
diff changeset
800 Bugzilla}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
801
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
802 Por defecto, el gancho \hgext{bugzilla} trata de usar la dirección de
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
803 correo electrónico de la persona que hizo la consignación del conjunto
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
804 de cambios como el nombre de usuario Bugzilla con el cual debe
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
805 actualizar el fallo. Si esto no se ajusta a sus necesidades, es
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
806 posible asociar direcciones de correo a nombres de usuario Bugzilla
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
807 usando una sección \rcsection{usermap}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
808
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
809 Cada ítem en la sección \rcsection{usermap} contiene una dirección de
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
810 correo electrónico a la izquierda, y un nombre de usuario Bugzilla a
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
811 la derecha.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
812 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
813 [usermap]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
814 jane.user@example.com = jane
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
815 \end{codesample2}
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
816 Usted puede mantener los datos de \rcsection{usermap} en un fichero
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
817 \hgrc, o decirle al gancho \hgext{bugzilla} que lea la información
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
818 desde un fichero \filename{usermap} externo. En este caso, usted
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
819 puede almacenar los datos de \filename{usermap} en (por ejemplo) un
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
820 repositorio modificable por los usuarios. Esto hace posible para sus
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
821 usuarios mantener sus propias entradas \rcitem{bugzilla}{usermap}. El
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
822 fichero \hgrc\ principal se vería así:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
823 \begin{codesample2}
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
824 # fichero hgrc normal se refiere a un fichero usermap externo
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
825 [bugzilla]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
826 usermap = /home/hg/repos/userdata/bugzilla-usermap.conf
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
827 \end{codesample2}
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
828 Mientras que el fichero \filename{usermap} al que se hace referencia
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
829 se vería así:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
830 \begin{codesample2}
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
831 # bugzilla-usermap.conf - dentro de un repositorio hg
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
832 [usermap]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
833 stephanie@example.com = steph
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
834 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
835
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
836 \subsubsection{Configurar el texto que se añade a un fallo}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
837
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
838 Usted puede configurar el texto que este gancho añade como comentario;
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
839 usted los especifica como una plantilla Mercurial. Varias entradas
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
840 \hgrc\ (aún en la sección \rcsection{bugzilla}) controlan este
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
841 comportamiento.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
842 \begin{itemize}
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
843 \item[\texttt{strip}] La cantidad de elementos iniciales de ruta a
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
844 remover de un nombre de ruta del repositorio para construir una ruta
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
845 parcial para una URL. Por ejemplo, si los repositorios en su
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
846 servidor se ubican en \dirname{/home/hg/repos}, y usted tiene un
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
847 repositorio cuya ruta es \dirname{/home/hg/repos/app/tests},
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
848 entonces fijar \texttt{strip} a \texttt{4} resultará en una ruta
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
849 parcial de \dirname{app/tests}. El gancho hará disponible esta ruta
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
850 parcial cuando expanda una plantilla, como \texttt{webroot}.
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
851 \item[\texttt{template}] El texto de la plantilla a usar. En adición a
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
852 las variables usuales relacionadas con conjuntos de cambios, esta
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
853 plantilla puede usar \texttt{hgweb} (el valor del ítem de
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
854 configuración \texttt{hgweb} de arriba) y \texttt{webroot} (la ruta
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
855 construida usando \texttt{strip} arriba).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
856 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
857
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
858 Adicionalmente, usted puede añadir un ítem \rcitem{web}{baseurl} a la
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
859 sección \rcsection{web} de su \hgrc. El gancho \hgext{bugzilla}
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
860 publicará esto cuando expanda una plantilla, como la cadena base a
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
861 usar cuando se construya una URL que le permita a los usuarios navegar
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
862 desde un comentario de Bugzilla a la vista de un conjunto de cambios.
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
863 Ejemplo:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
864 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
865 [web]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
866 baseurl = http://hg.domain.com/
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
867 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
868
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
869 A continuación se presenta un ejemplo completo de configuración para
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
870 el gancho \hgext{bugzilla}.
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
871 %TODO traducir?
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
872 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
873 [bugzilla]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
874 host = bugzilla.example.com
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
875 password = mypassword
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
876 version = 2.16
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
877 # server-side repos live in /home/hg/repos, so strip 4 leading
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
878 # separators
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
879 strip = 4
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
880 hgweb = http://hg.example.com/
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
881 usermap = /home/hg/repos/notify/bugzilla.conf
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
882 template = Changeset \{node|short\}, made by \{author\} in the \{webroot\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
883 repo, refers to this bug.\\nFor complete details, see
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
884 \{hgweb\}\{webroot\}?cmd=changeset;node=\{node|short\}\\nChangeset
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
885 description:\\n\\t\{desc|tabindent\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
886 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
887
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
888 \subsubsection{Pruebas y resolución de problemas}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
889
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
890 Los problemas más comunes que aparecen en la configuración del gancho
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
891 \hgext{bugzilla} suelen estar relacionados con la ejecución del guión
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
892 de Bugzilla \filename{processmail} y la asociación de nombres de
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
893 consignadores a nombres de usuario.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
894
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
895 Recuerde que en la sección~\ref{sec:hook:bugzilla:config} arriba el
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
896 usuario que ejecuta el proceso Mercurial en el servidor es también
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
897 el usuario que ejecutará el guión \filename{processmail}. El guión
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
898 \filename{processmail} algunas veces hace que Bugzilla escriba en
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
899 ficheros en su directorio de configuración, y los ficheros de
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
900 configuración de Bugzilla usualmente son propiedad del usuario bajo el
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
901 cual se ejecuta el servidor web.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
902
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
903 Usted puede hacer que \filename{processmail} sea ejecutado con la
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
904 identidad del usuario adecuado usando el comando \command{sudo}. A
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
905 continuación se presenta una entrada de ejemplo para un fichero
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
906 \filename{sudoers}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
907 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
908 hg_user = (httpd_user) NOPASSWD: /var/www/html/bugzilla/processmail-wrapper %s
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
909 \end{codesample2}
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
910 Esto permite que el usuario \texttt{hg\_user} ejecute el programa
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
911 \filename{processmail-wrapper} con la identidad del usuario
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
912 \texttt{httpd\_user}.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
913
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
914 Esta indirección a través de un guión envoltorio es necesaria, porque
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
915 \filename{processmail} espera que al ser ejecutado su directorio
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
916 actual sea aquel en el cual se instaló Bugzilla; usted no puede
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
917 especificar ese tipo de condición en un fichero \filename{sudoers}.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
918 Los contenidos del giuón envoltorio son simples:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
919 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
920 #!/bin/sh
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
921 cd `dirname $0` && ./processmail "$1" nobody@example.com
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
922 \end{codesample2}
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
923 No parece importar qué dirección de correo se le pase a
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
924 \filename{processmail}.
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
925
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
926 Si su \rcsection{usermap} no es configurada correctamente, los
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
927 usuarios verán un mensaje de error del gancho \hgext{bugzilla} cuando
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
928 empujen cambios al servidor. El mensaje de error se verá así:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
929 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
930 cannot find bugzilla user id for john.q.public@example.com
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
931 \end{codesample2}
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
932 Lo que esto quiere decir es que la dirección del consignador,
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
933 \texttt{john.q.public@example.com}, no es un nombre de usuario
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
934 Bugzilla válido, ni tiene una entrada en su \rcsection{usermap} que lo
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
935 asocie con un nombre de usuario válido Bugzilla.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
936
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
937 \subsection{\hgext{notify}---enviar notificaciones de correo
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
938 electrónico}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
939
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
940 %TODO feeds => notificaciones: lo más fácil es mirar en wikipedia
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
941 Aunque el servidor web embebido de Mercurial provee notificaciones de
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
942 cambios en cada repositorio, muchas personas prefieren recibir las
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
943 notificaciones de cambios vía correo electrónico. El gancho
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
944 \hgext{notify}\ndt{Notificación.} le permite a usted enviar
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
945 notificaciones a un conjunto de direcciones de correo cuando lleguen
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
946 conjuntos de cambios en los que los subscriptores estén interesados.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
947
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
948 De la misma forma que con el gancho \hgext{bugzilla}, el gancho
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
949 \hgext{notify} está orientado a plantillas, así que usted puede
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
950 personalizar los contenidos del mensaje de notificación que se envía.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
951
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
952 Por defecto, el gancho \hgext{notify} incluye un diff de cada conjunto
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
953 %TODO que se envía? revisar, pienso que es ``que se recibe''
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
954 de cambios que se envía; usted puede limitar el tamaño del diff, o
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
955 desactivar completamente esta característica. Es útil para permitir a
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
956 los subscriptores revisar los cambios inmediatamente, en vez de tener
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
957 que hacer clic para visitar una URL.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
958
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
959 \subsubsection{Configuración del gancho \hgext{notify}}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
960
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
961 Usted puede configurar el gancho \hgext{notify} para enviar un mensaje
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
962 de correo por conjunto de cambios entrante, o uno por grupo entrante
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
963 de conjuntos de cambios (todos los que llegaron en un único empuje o
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
964 jalado).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
965 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
966 [hooks]
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
967 # enviar un correo por grupo de cambios
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
968 changegroup.notify = python:hgext.notify.hook
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
969 # enviar un correo por cambio
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
970 incoming.notify = python:hgext.notify.hook
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
971 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
972
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
973 La información para configurar este gancho se ubica en la sección
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
974 \rcsection{notify} de un fichero \hgrc.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
975 \begin{itemize}
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
976 \item[\rcitem{notify}{test}] Por defecto, este gancho no envía correos
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
977 en absoluto; en vez de eso, imprime el mensaje que se
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
978 \emph{enviaría}. Fije este ítem en \texttt{false} para permitir el
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
979 envío de correos. El motivo por el que el envío de correos está
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
980 desactivado es que hacen falta varios intentos para configurar esta
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
981 extensión exactamente como usted desea, y sería maleducado enviar a
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
982 los subscriptores una cantidad de notificaciones ``rotas'' mientras
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
983 usted depura su configuración.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
984 \item[\rcitem{notify}{config}] La ruta a un fichero de configuración
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
985 que contiene información de subscripción. Esto se mantiene separado
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
986 del \hgrc\ principal para que usted pueda mantenerlo en un
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
987 repositorio. La gente puede clonar ese repositorio, actualizar sus
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
988 subscripciones, y empujar los cambios de vuelta a su servidor.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
989 \item[\rcitem{notify}{strip}] La cantidad de caracteres iniciales de
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
990 separación de ruta a remover de la ruta del repositorio, al decidir
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
991 si un repositorio tiene subscriptores. Por ejemplo, si los
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
992 repositorios en su servidor están en \dirname{/home/hg/repos}, y
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
993 \hgext{notify} está trabajando con un repositorio llamado
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
994 \dirname{/home/hg/repos/shared/test}, fijar \rcitem{notify}{strip} a
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
995 \texttt{4} hará que \hgext{notify} elimine las partes iniciales de
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
996 la ruta hasta \dirname{shared/test}, y asociará los subscriptores
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
997 frente a dicha ruta.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
998 \item[\rcitem{notify}{template}] El texto de plantilla a usar cuando
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
999 se envíen mensajes. Especifica los contenidos de la cabecera del
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1000 mensaje y el cuerpo del mismo.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1001 \item[\rcitem{notify}{maxdiff}] El número máximo de líneas de datos de
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1002 diff a añadir al final de un mensaje. Si la longitud de un diff es
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1003 mayor a eso, se trunca. Por defecto, está fijado en 300. Fije esto a
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1004 \texttt{0} para omitir los diffs en los correos de notificación.
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1005 \item[\rcitem{notify}{sources}] Una lista de fuentes de conjuntos de
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1006 cambios a considerar. Esto le permite a usted indicar a
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1007 \hgext{notify} para que sólo envíe correos acerca de cambios que
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1008 usuarios remotos hayan empujado al repositorio vía un servidor, por
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1009 ejemplo. Vea la sección~\ref{sec:hook:sources} para las fuentes que
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1010 usted puede especificar aquí.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1011 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1012
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1013 Si usted fija el ítem \rcitem{web}{baseurl} en la sección
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1014 \rcsection{web}, usted lo puede usar en una plantilla; estará
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1015 disponible como \texttt{webroot}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1016
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1017 A continuación se presenta un ejemplo completo de configuración para
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1018 el gancho \hgext{notify}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1019 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1020 [notify]
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1021 # enviar correo
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1022 test = false
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1023 # datos de subscriptores están en el repositorio notify
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1024 config = /home/hg/repos/notify/notify.conf
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1025 # repos están en /home/hg/repos on server, así que elimine 4
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1026 # caracteres"/"
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1027 strip = 4
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1028 template = X-Hg-Repo: \{webroot\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1029 Subject: \{webroot\}: \{desc|firstline|strip\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1030 From: \{author\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1031
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1032 changeset \{node|short\} in \{root\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1033 details: \{baseurl\}\{webroot\}?cmd=changeset;node=\{node|short\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1034 description:
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1035 \{desc|tabindent|strip\}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1036
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1037 [web]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1038 baseurl = http://hg.example.com/
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1039 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1040
573
9438521abfc4 finished the "bundled hooks" sections
Javier Rojas <jerojasro@devnull.li>
parents: 567
diff changeset
1041 Esto producirá un mensaje que se verá como el siguiente:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1042 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1043 X-Hg-Repo: tests/slave
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1044 Subject: tests/slave: Handle error case when slave has no buffers
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1045 Date: Wed, 2 Aug 2006 15:25:46 -0700 (PDT)
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1046
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1047 changeset 3cba9bfe74b5 in /home/hg/repos/tests/slave
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1048 details: http://hg.example.com/tests/slave?cmd=changeset;node=3cba9bfe74b5
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1049 description:
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1050 Handle error case when slave has no buffers
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1051 diffs (54 lines):
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1052
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1053 diff -r 9d95df7cf2ad -r 3cba9bfe74b5 include/tests.h
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1054 --- a/include/tests.h Wed Aug 02 15:19:52 2006 -0700
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1055 +++ b/include/tests.h Wed Aug 02 15:25:26 2006 -0700
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1056 @@ -212,6 +212,15 @@ static __inline__ void test_headers(void *h)
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1057 [...snip...]
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1058 \end{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1059
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
1060 \subsubsection{Pruebas y resolución de problemas}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1061
567
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
1062 No olvide que por defecto, la extensión \hgext{notify} \emph{no
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
1063 enviará ningún correo electrónico} hasta que usted la configure
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
1064 explícitamente para hacerlo, fijando el valor de \rcitem{notify}{test}
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
1065 a \texttt{false}. Hasta que usted haga eso, simplemente se imprimirá
7df73b3bc2eb translated more text.
Javier Rojas <jerojasro@devnull.li>
parents: 566
diff changeset
1066 el mensaje que se \emph{enviaría}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1067
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1068 \section{Información para escritores de ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1069 \label{sec:hook:ref}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1070
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1071 \subsection{Ejecución de ganchos internos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1072
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1073 Un gancho interno es llamado con argumentos de la siguiente forma:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1074 \begin{codesample2}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1075 def myhook(ui, repo, **kwargs):
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1076 pass
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1077 \end{codesample2}
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1078 El parámetro \texttt{ui} es un objeto \pymodclass{mercurial.ui}{ui}.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1079 El parámetro \texttt{repo} es un objeto
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1080 \pymodclass{mercurial.localrepo}{localrepository}. Los nombres y
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1081 valores de los parámetros en \texttt{**kwargs} dependen del gancho que
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1082 se invoque, con las siguientes características en común:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1083 \begin{itemize}
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1084 \item Si hay un parámetro llamado \texttt{node} o
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1085 \texttt{parent\emph{N}}, contendrá un ID hexadecimal de un conjunto
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1086 de cambios. La cadena vacía es usada para representar un
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1087 ``ID de conjunto de cambios nulo'' en vez de una cadena de ceros.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1088 \item Si hay un parámetro llamado \texttt{url}, contendrá la URL de un
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1089 repositorio remoto, si puede ser determinada.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1090 \item Los parámetros booleanos son representados como objetos
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1091 \texttt{bool} de Python.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1092 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1093
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1094 Un gancho interno es ejecutado sin cambiar el directorio de trabajo
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1095 del proceso (a diferencia de los ganchos externos, que son ejecutados
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1096 desde la raíz del repositorio). El gancho no debe cambiar el
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1097 directorio de trabajo del proceso, porque esto haría que falle
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1098 cualquier llamada que se haga a la API de Mercurial.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1099
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
1100 Si un gancho retorna el valor booleano ``false''\ndt{Falso.}, se
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1101 considera que éste tuvo éxito. Si retorna
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
1102 ``true''\ndt{Verdadero.} o genera una excepción, se considera que
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1103 ha fallado. Una manera útil de pensar en esta convención de llamado es
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1104 ``dígame si usted falló''.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1105
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1106 Note que los IDs de conjuntos de cambios son pasados a los ganchos de
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1107 Python como cadenas hexadecimales, no como los hashes binarios que la
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1108 API de Mercurial usa normalmente. Para convertir un hash de
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1109 hexadecimal a binario, use la función \pymodfunc{mercurial.node}{bin}.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1110
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1111 \subsection{Ejecución de ganchos externos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1112
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1113 Un gancho externo es pasado al intérprete de comandos del usuario bajo
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1114 el cual se ejecuta Mercurial. Las características del intérprete, como
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1115 sustitución de variables y redirección de comandos, están disponibles.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1116 El gancho es ejecutado desde el directorio raíz del repositorio
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1117 (a diferencia de los ganchos internos, que se ejecutan desde el mismo
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1118 directorio en que Mercurial fue ejecutado).
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1119
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1120 Los parámetros para el gancho se pasan como variables de entorno. El
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1121 nombre de cada variable de entorno se pasa a mayúsculas y se le añade
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1122 el prefijo ``\texttt{HG\_}''. Por ejemplo, si el nombre de un
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1123 parámetro es ``\texttt{node}'', el nombre de la variable de entorno
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1124 que almacena el parámetro se llamará ``\texttt{HG\_NODE}''.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1125
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1126 Un parámetro booleano se representa con la cadena ``\texttt{1}'' para
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1127 ``true'', ``\texttt{0}'' para ``false''. Si una variable se llama
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1128 \envar{HG\_NODE}, \envar{HG\_PARENT1} o \envar{HG\_PARENT2},
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1129 contendrá un ID de conjunto de cambios representado como una cadena
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1130 hexadecimal. La cadena vacía es usada para representar un ``ID de
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1131 conjunto de cambios nulo'' en vez de una cadena de ceros. Si una
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1132 variable de entorno se llama \envar{HG\_URL}, contendrá la URL de un
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1133 repositorio remoto, si puede ser determinada.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1134
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1135 Si un gancho termina con un código de salida de cero, se considera que
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1136 tuvo éxito. Si termina con un código de salida diferente de cero, se
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1137 considera que falló.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1138
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1139 \subsection{Averiguar de dónde vienen los conjuntos de cambios}
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1140 %TODO los trae la cigüeña. De París. Y quedan debajo de una col.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1141
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1142 Un gancho que involucra la transferencia de conjuntos de cambios entre
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1143 un repositorio local y otro puede ser capaz de averiguar información
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1144 acerca de ``el otro lado''. Mercurial sabe \emph{cómo} son
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1145 transferidos los conjuntos de cambios, y en muchos casos también desde
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1146 o hacia donde están siendo transferidos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1147
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1148 \subsubsection{Fuentes de conjuntos de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1149 \label{sec:hook:sources}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1150
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1151 Mercurial le indicará a un gancho cuáles son, o fueron, los medios
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1152 usados para transferir los conjuntos de cambios entre repositorios.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1153 Esta información es provista por Mercurial en un parámetro Python
583
527b274d237c fixed some translator's notes
Javier Rojas <jerojasro@devnull.li>
parents: 578
diff changeset
1154 llamado \texttt{source}\ndt{Fuente.}, o una variable de entorno
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1155 llamada \envar{HG\_SOURCE}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1156
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1157 \begin{itemize}
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1158 \item[\texttt{serve}] Los conjuntos de cambios son transferidos desde
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1159 o hacia un repositorio remoto a través de http o ssh.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1160 \item[\texttt{pull}] Los conjuntos de cambios son transferidos vía una
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1161 operación de jalado de un repositorio a otro.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1162 \item[\texttt{push}] Los conjuntos de cambios son transferidos vía un
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1163 empuje de un repositorio a otro.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1164 \item[\texttt{bundle}] Los conjuntos de cambios son transferidos desde
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1165 %TODO bundle
604
54d3cad45353 corrected some typos, and a missing translation
Javier Rojas <jerojasro@devnull.li>
parents: 583
diff changeset
1166 o hacia un paquete.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1167 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1168
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1169 \subsubsection{A dónde van los cambios---URLs de repositorios remotos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1170 \label{sec:hook:url}
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1171 %TODO al cielo? no, ésos son los perros
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1172
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1173 Cuando es posible, Mercurial le indicará a los ganchos la ubicación de
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1174 ``el otro lado'' de una actividad que transfiera datos de conjuntos de
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1175 cambios entre repositorios. Esto es provisto por Mercurial en un
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1176 parámetro Python llamado \texttt{url}, o en una variable de entorno
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1177 llamada \envar{HG\_URL}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1178
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1179 No siempre esta información está disponible. Si un gancho es invocado
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1180 un repositorio que es servido a través de http o ssh, Mercurial no
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1181 puede averiguar dónde está el repositorio remoto, pero puede saber
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1182 desde dónde se conecta el cliente. En esos casos, la URL tendrá una de
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1183 las siguientes formas:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1184 \begin{itemize}
574
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1185 \item \texttt{remote:ssh:\emph{ip-address}}---cliente ssh remoto, en
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1186 la dirección IP dada.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1187 \item \texttt{remote:http:\emph{ip-address}}---cliente remoto http, en
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1188 la dirección IP dada. Si el cliente está usando SSL, tendrá la forma
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1189 \texttt{remote:https:\emph{ip-address}}.
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1190 \item Vacío---no se pudo descubrir información acerca del cliente
22184eb4c965 finished the translation of the section "information for writers of hooks"
Javier Rojas <jerojasro@devnull.li>
parents: 573
diff changeset
1191 remoto.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1192 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1193
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1194 \section{Referencia de ganchos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1195
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1196 \subsection{\hook{changegroup}---luego de añadir conjuntos de cambios
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1197 remotos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1198 \label{sec:hook:changegroup}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1199
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1200 Este gancho es ejecutado luego de que un grupo de conjuntos de cambios
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1201 preexistentes ha sido añadido al repositorio, por ejemplo vía un
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1202 \hgcmd{pull} o \hgcmd{unbundle}. Este gancho es ejecutado una vez por
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1203 cada operación que añade uno o más conjuntos de cambios. Este gancho
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1204 se diferencia del gancho \hook{incoming}, que es ejecutado una vez por
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1205 cada conjunto de cambios, sin importar si los cambios llegan en grupo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1206
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1207 Algunos usos posibles para este gancho includen el probar o ensamblar
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1208 los conjuntos de cambios añadidos, actualizar una base de datos de
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1209 fallos, o notificar a subscriptores de que el repositorio contiene
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1210 nuevos cambios.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1211
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1212 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1213 \begin{itemize}
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1214 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del primer conjunto
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1215 de cambios que fue añadido en el grupo. Todos los conjuntos de
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1216 cambios entre éste y la punta
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1217 %TODO mirar qué hacer con el índice
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1218 \index{tags!\texttt{tip}}(\texttt{tip}), inclusive, fueron añadidos
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1219 %TODO unbundle
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1220 por un único jalado (\hgcmd{pull}), empuje (\hgcmd{push}) o \hgcmd{unbundle}.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1221 \item[\texttt{source}] Una cadena. La fuente de estos cambios. Vea la
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1222 sección~\ref{sec:hook:sources} para más detalles.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1223 \item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1224 es conocida. Vea la sección~\ref{sec:hook:url} para más información.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1225 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1226
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1227 Veta también: \hook{incoming} (sección~\ref{sec:hook:incoming}),
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1228 \hook{prechangegroup} (sección~\ref{sec:hook:prechangegroup}),
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1229 \hook{pretxnchangegroup} (sección~\ref{sec:hook:pretxnchangegroup})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1230
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1231 \subsection{\hook{commit}---luego de la creación de un nuevo conjunto
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1232 de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1233 \label{sec:hook:commit}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1234
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1235 Este gancho es ejecutado luego de la creación de un nuevo conjunto de
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1236 cambios.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1237
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1238 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1239 \begin{itemize}
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1240 \item[\texttt{node}] Un ID de conjunto de cambios. El ID de conjunto
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1241 de cambios del conjunto de cambios que acabó de ser consignado.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1242 \item[\texttt{parent1}] Un ID de conjunto de cambios. El ID de
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1243 conjunto de cambios del primer padre del conjunto de cambios que
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1244 acaba de ser consignado.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1245 \item[\texttt{parent2}] Un ID de conjunto de cambios. El ID de
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1246 conjunto de cambios del segundo padre del conjunto de cambios que
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1247 acaba de ser consignado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1248 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1249
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1250 Vea también: \hook{precommit} (sección~\ref{sec:hook:precommit}),
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1251 \hook{pretxncommit} (sección~\ref{sec:hook:pretxncommit})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1252
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1253 \subsection{\hook{incoming}---luego de que un conjunto de cambios
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1254 remoto es añadido}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1255 \label{sec:hook:incoming}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1256
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1257 Este gancho es ejecutado luego de que un conjunto de cambios
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1258 preexistente ha sido añadido al repositorio, por ejemplo, vía un
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1259 \hgcmd{push}. Si un grupo de conjuntos de cambios fue añadido en una
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1260 sola operación, este gancho es ejecutado una vez por cada conjunto de
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1261 cambios añadido.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1262
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1263 Usted puede usar este gancho para los mismos fines que el gancho
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1264 \hook{changegroup} (sección~\ref{sec:hook:changegroup}); simplemente
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1265 algunas veces es más conveniente ejecutar un gancho una vez por cada
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1266 grupo de conjuntos de cambios, mientras que otras es más útil correrlo
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1267 por cada conjunto de cambios.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1268
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1269 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1270 \begin{itemize}
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1271 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del conjunto
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1272 de cambios recién añadido.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1273 \item[\texttt{source}] Una cadena. La fuente de estos cambios. Vea la
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1274 sección~\ref{sec:hook:sources} para más detalles.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1275 \item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1276 es conocida. Vea la sección~\ref{sec:hook:url} para más información.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1277 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1278
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1279 Vea también: \hook{changegroup} (sección~\ref{sec:hook:changegroup})
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1280 \hook{prechangegroup} (sección~\ref{sec:hook:prechangegroup}),
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1281 \hook{pretxnchangegroup} (sección~\ref{sec:hook:pretxnchangegroup})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1282
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1283 \subsection{\hook{outgoing}---luego de la propagación de los conjuntos
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1284 de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1285 \label{sec:hook:outgoing}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1286
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1287 Este gancho es ejecutado luego de que un grupo de conjuntos de cambios
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1288 ha sido propagado fuera de éste repositorio, por ejemplo por un
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1289 comando \hgcmd{push} o \hgcmd{bundle}.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1290
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1291 Un uso posible para este gancho es notificar a los administradores que
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1292 los cambios han sido jalados.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1293
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1294 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1295 \begin{itemize}
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1296 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del primer conjunto
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1297 de cambios del grupo que fue enviado.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1298 \item[\texttt{source}] Una cadena. La fuente de la operación (vea la
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1299 sección~\ref{sec:hook:sources}). Si un cliente remoto jaló cambios
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1300 de este repositorio, \texttt{source} será \texttt{serve}. Si el
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1301 cliente que obtuvo los cambios desde este repositorio era local,
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1302 \texttt{source} será \texttt{bundle}, \texttt{pull}, o
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1303 \texttt{push}, dependiendo de la operación que llevó a cabo el
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1304 cliente.
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1305 \item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1306 es conocida. Vea la sección~\ref{sec:hook:url} para más información.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1307 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1308
576
1f9ef8b3ab79 translated a bit of the hook reference
Javier Rojas <jerojasro@devnull.li>
parents: 574
diff changeset
1309 Vea también: \hook{preoutgoing} (sección~\ref{sec:hook:preoutgoing})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1310
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1311 \subsection{\hook{prechangegroup}---antes de empezar la adición de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1312 conjuntos de cambios remotos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1313 \label{sec:hook:prechangegroup}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1314
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1315 Este gancho de control es ejecutado antes de que Mercurial empiece a
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1316 añadir un grupo de conjuntos de cambios de otro repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1317
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1318 Este gancho no tiene ninguna información acerca de los conjuntos de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1319 cambios que van a ser añadidos, porque es ejecutado antes de que se
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1320 permita que empiece la transmisión de dichos conjuntos de cambios. Si
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1321 este gancho falla, los conjuntos de cambios no serán transmitidos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1322
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1323 Un uso para este gancho es prevenir que se añadan cambios externos a un
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1324 repositorio. Por ejemplo, usted podría usarlo para ``congelar''
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1325 temporal o permanentemente una rama ubicada en un servidor para que
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1326 los usuarios no puedan empujar cambios a ella, y permitiendo al mismo
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1327 tiempo modificaciones al repositorio por parte de un administrador
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1328 local.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1329
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1330 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1331 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1332 \item[\texttt{source}] Una cadena. La fuente de estos cambios. Vea la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1333 sección~\ref{sec:hook:sources} para más detalles.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1334 \item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1335 es conocida. Vea la sección~\ref{sec:hook:url} para más información.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1336 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1337
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1338 Vea también: \hook{changegroup} (sección~\ref{sec:hook:changegroup}),
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1339 \hook{incoming} (sección~\ref{sec:hook:incoming}), ,
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1340 \hook{pretxnchangegroup} (sección~\ref{sec:hook:pretxnchangegroup})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1341
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1342 \subsection{\hook{precommit}---antes de iniciar la consignación de un
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1343 conjunto de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1344 \label{sec:hook:precommit}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1345
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1346 Este gancho es ejecutado antes de que Mercurial inicie la consignación
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1347 de un nuevo conjunto de cambios. Es ejecutado antes de que Mercurial
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1348 tenga cualquier de los metadatos para la consignación, como los
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1349 ficheros a ser consignados, el mensaje de consignación, o la fecha de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1350 consignación.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1351
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1352 Un uso para este gancho es deshabilitar la capacidad de consignar
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1353 nuevos conjuntos de cambios, pero permitiendo conjuntos de cambios
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1354 entrantes. Otro es ejecutar un proceso de ensamble/compilación o
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1355 prueba, y permitir la consignación sólo si el ensamble/compilación o
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1356 prueba tiene éxito.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1357
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1358 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1359 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1360 \item[\texttt{parent1}] Un ID de conjunto de cambios. El ID de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1361 conjunto de cambios del primer padre del directorio de trabajo.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1362 \item[\texttt{parent2}] Un ID de conjunto de cambios. El ID de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1363 conjunto de cambios del segundo padre del directorio de trabajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1364 \end{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1365 Si la consignación continúa, los padres del directorio de trabajo se
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1366 convertirán en los padres del nuevo conjunto de cambios.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1367
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1368 Vea también: \hook{commit} (sección~\ref{sec:hook:commit}),
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1369 \hook{pretxncommit} (sección~\ref{sec:hook:pretxncommit})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1370
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1371 \subsection{\hook{preoutgoing}---antes de empezar la propagación de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1372 conjuntos de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1373 \label{sec:hook:preoutgoing}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1374
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1375 Este gancho es ejecutado antes de que Mercurial conozca las
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1376 identidades de los conjuntos de cambios que deben ser transmitidos.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1377
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1378 Un uso para este gancho es evitar que los cambios sean transmitidos a
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1379 otro repositorio.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1380
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1381 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1382 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1383 \item[\texttt{source}] Una cadena. La fuente la operación que está
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1384 tratando de obtener cambios de éste repositorio (vea
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1385 la sección~\ref{sec:hook:sources}). Revise la documentación para
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1386 el parámetro \texttt{source} del gancho \hook{outgoing}, en la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1387 sección~\ref{sec:hook:outgoing}, para ver los posibles valores de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1388 este parámetro.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1389 \item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1390 es conocida. Vea la sección~\ref{sec:hook:url} para más información.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1391 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1392
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1393 Vea también: \hook{outgoing} (sección~\ref{sec:hook:outgoing})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1394
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1395 \subsection{\hook{pretag}---antes de etiquetar un conjunto de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1396 \label{sec:hook:pretag}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1397
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1398 Este gancho de control es ejecutado antes de la creación de una
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1399 etiqueta. Si el gancho termina exitosamente, la creación de la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1400 etiqueta continúa. Si el gancho falla, no se crea la etiqueta.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1401
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1402 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1403 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1404 \item[\texttt{local}] Un booleano. Indica si la etiqueta es local a
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1405 ésta instancia del repositorio (p.e.~almacenado en
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1406 \sfilename{.hg/localtags}) o administrado por Mercurial (almacenado
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1407 en \sfilename{.hgtags}).
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1408 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del conjunto
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1409 de cambios a etiquetar.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1410 \item[\texttt{tag}] Una cadena. El nombre de la etiqueta por crear.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1411 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1412
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1413 Si la etiqueta que se va a crear se encuentra bajo control de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1414 revisiones, los ganchos \hook{precommit} y \hook{pretxncommit}
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1415 (secciones~\ref{sec:hook:commit} y~\ref{sec:hook:pretxncommit})
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1416 también serán ejecutados.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1417
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1418 Vea también: \hook{tag} (sección~\ref{sec:hook:tag})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1419
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1420 \subsection{\hook{pretxnchangegroup}---antes de completar la adición
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1421 de conjuntos de cambios remotos}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1422 \label{sec:hook:pretxnchangegroup}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1423
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1424 Este gancho de control es ejecutado antes de una transacción---la que
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1425 maneja la adición de un grupo de conjuntos de cambios nuevos desde
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1426 fuera del repositorio---se complete. Si el gancho tiene éxito, la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1427 transacción se completa, y todos los conjuntos de cambios se vuelven
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1428 permanentes dentro de este repositorio. Si el gancho falla, la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1429 transacción es deshecha, y los datos para los conjuntos de cambios son
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1430 eliminados.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1431
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1432 Este gancho puede acceder a los metadatos asociados con los conjuntos
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1433 de cambios casi añadidos, pero no debe hacer nada permanente con estos
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1434 datos. Tampoco debe modificar el directorio de trabajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1435
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1436 Mientras este gancho está corriendo, si otro proceso Mercurial accesa
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1437 el repositorio, podrá ver los conjuntos de cambios casi añadidos como
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1438 si fueran permanentes. Esto puede llevar a condiciones de carrera si
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1439 usted no toma precauciones para evitarlas.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1440
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1441 Este gancho puede ser usado para examinar automáticamente un grupo de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1442 conjuntos de cambios. Si el gancho falla, todos los conjuntos de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1443 cambios son ``rechazados'' cuando la transacción se deshace.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1444
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1445 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1446 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1447 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del primer
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1448 conjunto de cambios que fue añadido en el grupo. Todos los
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1449 conjuntos de cambios entre éste y el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1450 \index{tags!\texttt{tip}}\texttt{tip}, inclusive, fueron añadidos
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1451 por un único \hgcmd{pull}, \hgcmd{push} o \hgcmd{unbundle}.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1452 \item[\texttt{source}] Una cadena. La fuente de estos cambios. Vea la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1453 sección~\ref{sec:hook:sources} para más detalles.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1454 \item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1455 es conocida. Vea la sección~\ref{sec:hook:url} para más información.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1456 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1457
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1458 Vea también: \hook{changegroup} (sección~\ref{sec:hook:changegroup}),
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1459 \hook{incoming} (sección~\ref{sec:hook:incoming}),
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1460 \hook{prechangegroup} (sección~\ref{sec:hook:prechangegroup})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1461
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1462 \subsection{\hook{pretxncommit}---antes de completar la consignación
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1463 de un nuevo conjunto de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1464 \label{sec:hook:pretxncommit}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1465
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1466 Este gancho de control es ejecutado antes de que una transacción---que
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1467 maneja una nueva consignación---se complete. Si el gancho tiene éxito,
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1468 la transacción se completa y el conjunto de cambios se hace permanente
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1469 dentro de éste repositorio. Si el gancho falla, la transacción es
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1470 deshecha, y los datos de consignación son borrados.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1471
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1472 Este gancho tiene acceso a los metadatos asociados con el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1473 prácticamente nuevo conjunto de cambios, pero no debería hacer nada
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1474 permanente con estos datos. Tampoco debe modificar el directorio de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1475 trabajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1476
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1477 Mientras este gancho está corriendo, si otro proceso Mercurial accesa
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1478 éste repositorio, podrá ver el prácticamente nuevo conjunto de cambios
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1479 como si fuera permanente. Esto puede llevar a condiciones de carrera si
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1480 usted no toma precauciones para evitarlas.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1481
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1482 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1483 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1484 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1485 conjunto de cambios recién consignado.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1486 \item[\texttt{parent1}] Un ID de conjunto de cambios. El ID de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1487 conjunto de cambios del primer padre del conjunto de cambios que
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1488 acaba de ser consignado.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1489 \item[\texttt{parent2}] Un ID de conjunto de cambios. El ID de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1490 conjunto de cambios del segundo padre del conjunto de cambios que
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1491 acaba de ser consignado.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1492 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1493
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1494 Vea también: \hook{precommit} (sección~\ref{sec:hook:precommit})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1495
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1496 \subsection{\hook{preupdate}---antes de actualizar o fusionar el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1497 directorio de trabajo}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1498 \label{sec:hook:preupdate}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1499
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1500 Este gancho de control es ejecutado antes de actualizar o fusionar el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1501 directorio de trabajo. Es ejecutado sólo si las revisiones usuales de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1502 Mercurial antes de las actualizaciones determinan que la actualización
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1503 o fusión pueden proceder. Si el gancho termina exitosamente, la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1504 actualización o fusión pueden proceder.; si falla, la actualización o
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1505 fusión no empiezan.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1506
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1507 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1508 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1509 \item[\texttt{parent1}] Un ID de conjunto de cambios. El ID del
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1510 padre al que el directorio de trabajo será actualizado. Si se está
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1511 fusionando el directorio de trabajo, no cambiará este padre.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1512 \item[\texttt{parent2}] Un ID de conjunto de cambios. Sólo está
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1513 definido si se está fusionando el directorio de trabajo. El ID de la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1514 revisión con la cual está siendo fusionado el directorio de trabajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1515 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1516
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1517 Vea también: \hook{update} (sección~\ref{sec:hook:update})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1518
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1519 \subsection{\hook{tag}---luego de etiquetar un conjunto de cambios}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1520 \label{sec:hook:tag}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1521
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1522 Este gancho es ejecutado luego de la creación de una etiqueta.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1523
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1524 Parámetros para este gancho:
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1525 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1526 \item[\texttt{local}] Un booleano. Indica si la etiqueta es local a
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1527 ésta instancia del repositorio (p.e.~almacenado en
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1528 \sfilename{.hg/localtags}) o administrado por Mercurial (almacenado
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1529 en \sfilename{.hgtags}).
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1530 \item[\texttt{node}] Un ID de conjunto de cambios. El ID del
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1531 conjunto de cambios que fue etiquetado.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1532 \item[\texttt{tag}] Una cadena. El nombre de la etiqueta que fue
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1533 creada.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1534 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1535
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1536 Si la etiqueta creada está bajo control de revisiones, el gancho
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1537 \hook{commit} (sección~\ref{sec:hook:commit}) es ejecutado antes de
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1538 este gancho.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1539
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1540 Vea también: \hook{pretag} (sección~\ref{sec:hook:pretag})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1541
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1542 \subsection{\hook{update}---luego de actualizar o fusionar el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1543 directorio de trabajo}
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1544 \label{sec:hook:update}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1545
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1546 Este gancho es ejecutado después de una actualización o fusión en el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1547 directorio de trabajo. Ya que una fusión puede fallar (si el comando
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1548 externo \command{hgmerge} no puede resolver los conflictos en un
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1549 fichero), este gancho indica si la actualización o fusión fueron
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1550 completados adecuadamente.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1551
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1552 \begin{itemize}
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1553 \item[\texttt{error}] Un booleano. Indica si la actualización o fusión
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1554 fue completada exitosamente.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1555 \item[\texttt{parent1}] Un ID de conjunto de cambios. El ID del padre
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1556 al cual fue actualizado el directorio de trabajo. Si se fusionó el
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1557 directorio de trabajo, no se habrá cambiado este padre.
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1558 \item[\texttt{parent2}] Un ID de conjunto de cambios. Sólo está
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1559 definido si se fusionó el directorio de trabajo. El ID de la
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1560 revisión con la que fue fusionado el directorio de trabajo.
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1561 \end{itemize}
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1562
578
5236357a00b2 finished hook.tex
Javier Rojas <jerojasro@devnull.li>
parents: 576
diff changeset
1563 Vea también: \hook{preupdate} (sección~\ref{sec:hook:preupdate})
435
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1564
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1565 %%% Local Variables:
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1566 %%% mode: latex
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1567 %%% TeX-master: "00book"
7e52f0cc4516 changed es/hgext.tex
jerojasro@localhost
parents: 432
diff changeset
1568 %%% End: