hgbook

changeset 477:1f9ef8b3ab79

translated a bit of the hook reference
author Javier Rojas <jerojasro@devnull.li>
date Fri Jan 02 22:30:00 2009 -0500 (2009-01-02)
parents cf6b9bf14af7
children 95bc07aaf1a8
files es/hook.tex
line diff
     1.1 --- a/es/hook.tex	Wed Dec 31 11:44:58 2008 -0500
     1.2 +++ b/es/hook.tex	Fri Jan 02 22:30:00 2009 -0500
     1.3 @@ -1192,21 +1192,246 @@
     1.4    remoto.
     1.5  \end{itemize}
     1.6  
     1.7 -\section{Hook reference}
     1.8 -
     1.9 -\subsection{\hook{changegroup}---after remote changesets added}
    1.10 +\section{Referencia de ganchos}
    1.11 +
    1.12 +\subsection{\hook{changegroup}---luego de añadir conjuntos de cambios
    1.13 +remotos}
    1.14  \label{sec:hook:changegroup}
    1.15  
    1.16 -This hook is run after a group of pre-existing changesets has been
    1.17 -added to the repository, for example via a \hgcmd{pull} or
    1.18 -\hgcmd{unbundle}.  This hook is run once per operation that added one
    1.19 -or more changesets.  This is in contrast to the \hook{incoming} hook,
    1.20 -which is run once per changeset, regardless of whether the changesets
    1.21 -arrive in a group.
    1.22 -
    1.23 -Some possible uses for this hook include kicking off an automated
    1.24 -build or test of the added changesets, updating a bug database, or
    1.25 -notifying subscribers that a repository contains new changes.
    1.26 +Este gancho es ejecutado luego de que un grupo de conjuntos de cambios
    1.27 +preexistentes ha sido añadido al repositorio, por ejemplo vía un
    1.28 +\hgcmd{pull} o \hgcmd{unbundle}.  Este gancho es ejecutado una vez por
    1.29 +cada operación que añade uno o más conjuntos de cambios. Este gancho
    1.30 +se diferencia del gancho \hook{incoming}, que es ejecutado una vez por
    1.31 +cada conjunto de cambios, sin importar si los cambios llegan en grupo.
    1.32 +
    1.33 +Algunos usos posibles para este gancho includen el probar o ensamblar
    1.34 +los conjuntos de cambios añadidos, actualizar una base de datos de
    1.35 +fallos, o notificar a subscriptores de que el repositorio contiene
    1.36 +nuevos cambios.
    1.37 +
    1.38 +Parámetros para este gancho:
    1.39 +\begin{itemize}
    1.40 +\item[\texttt{node}] Un ID de conjunto de cambios. El ID del primer conjunto
    1.41 +  de cambios que fue añadido en el grupo. Todos los conjuntos de
    1.42 +  cambios entre éste y la punta
    1.43 +  %TODO mirar qué hacer con el índice
    1.44 +  \index{tags!\texttt{tip}}(\texttt{tip}), inclusive, fueron añadidos
    1.45 +  %TODO unbundle
    1.46 +  por un único jalado (\hgcmd{pull}), empuje (\hgcmd{push}) o \hgcmd{unbundle}.
    1.47 +\item[\texttt{source}] Una cadena. La fuente de estos cambios. Vea la
    1.48 +  sección~\ref{sec:hook:sources} para más detalles.
    1.49 +\item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
    1.50 +  es conocida. Vea la sección~\ref{sec:hook:url} para más información.
    1.51 +\end{itemize}
    1.52 +
    1.53 +Veta también: \hook{incoming} (sección~\ref{sec:hook:incoming}),
    1.54 +\hook{prechangegroup} (sección~\ref{sec:hook:prechangegroup}),
    1.55 +\hook{pretxnchangegroup} (sección~\ref{sec:hook:pretxnchangegroup})
    1.56 +
    1.57 +\subsection{\hook{commit}---luego de la creación de un nuevo conjunto
    1.58 +de cambios}
    1.59 +\label{sec:hook:commit}
    1.60 +
    1.61 +Este gancho es ejecutado luego de la creación de un nuevo conjunto de
    1.62 +cambios.
    1.63 +
    1.64 +Parámetros para este gancho:
    1.65 +\begin{itemize}
    1.66 +\item[\texttt{node}] Un ID de conjunto de cambios. El ID de conjunto
    1.67 +  de cambios del conjunto de cambios que acabó de ser consignado.
    1.68 +\item[\texttt{parent1}] Un ID de conjunto de cambios. El ID de
    1.69 +  conjunto de cambios del primer padre del conjunto de cambios que
    1.70 +  acaba de ser consignado.
    1.71 +\item[\texttt{parent2}] Un ID de conjunto de cambios. El ID de
    1.72 +  conjunto de cambios del segundo padre del conjunto de cambios que
    1.73 +  acaba de ser consignado.
    1.74 +\end{itemize}
    1.75 +
    1.76 +Vea también: \hook{precommit} (sección~\ref{sec:hook:precommit}),
    1.77 +\hook{pretxncommit} (sección~\ref{sec:hook:pretxncommit})
    1.78 +
    1.79 +\subsection{\hook{incoming}---luego de que un conjunto de cambios
    1.80 +remoto es añadido}
    1.81 +\label{sec:hook:incoming}
    1.82 +
    1.83 +Este gancho es ejecutado luego de que un conjunto de cambios
    1.84 +preexistente ha sido añadido al repositorio, por ejemplo, vía un
    1.85 +\hgcmd{push}.  Si un grupo de conjuntos de cambios fue añadido en una
    1.86 +sola operación, este gancho es ejecutado una vez por cada conjunto de
    1.87 +cambios añadido.
    1.88 +
    1.89 +Usted puede usar este gancho para los mismos fines que el gancho
    1.90 +\hook{changegroup} (sección~\ref{sec:hook:changegroup}); simplemente
    1.91 +algunas veces es más conveniente ejecutar un gancho una vez por cada
    1.92 +grupo de conjuntos de cambios, mientras que otras es más útil correrlo
    1.93 +por cada conjunto de cambios.
    1.94 +
    1.95 +Parámetros para este gancho.
    1.96 +\begin{itemize}
    1.97 +\item[\texttt{node}] Un ID de conjunto de cambios. El ID del conjunto
    1.98 +  de cambios recién añadido.
    1.99 +\item[\texttt{source}] Una cadena. La fuente de estos cambios. Vea la
   1.100 +  sección~\ref{sec:hook:sources} para más detalles.
   1.101 +\item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
   1.102 +  es conocida. Vea la sección~\ref{sec:hook:url} para más información.
   1.103 +\end{itemize}
   1.104 +
   1.105 +Vea también: \hook{changegroup} (sección~\ref{sec:hook:changegroup})
   1.106 +\hook{prechangegroup} (sección~\ref{sec:hook:prechangegroup}),
   1.107 +\hook{pretxnchangegroup} (sección~\ref{sec:hook:pretxnchangegroup})
   1.108 +
   1.109 +\subsection{\hook{outgoing}---luego de la propagación de los conjuntos
   1.110 +de cambios}
   1.111 +\label{sec:hook:outgoing}
   1.112 +
   1.113 +Este gancho es ejecutado luego de que un grupo de conjuntos de cambios
   1.114 +ha sido propagado fuera de éste repositorio, por ejemplo por un
   1.115 +comando \hgcmd{push} o \hgcmd{bundle}.
   1.116 +
   1.117 +Un uso posible para este gancho es notificar a los administradores que
   1.118 +los cambios han sido jalados.
   1.119 +
   1.120 +Parámetros para este gancho:
   1.121 +\begin{itemize}
   1.122 +\item[\texttt{node}] Un ID de conjunto de cambios. El ID del primer conjunto
   1.123 +  de cambios del grupo que fue enviado.
   1.124 +\item[\texttt{source}] Una cadena. La fuente de la operación (vea la
   1.125 +  sección~\ref{sec:hook:sources}).  Si un cliente remoto jaló cambios
   1.126 +  de este repositorio, \texttt{source} será \texttt{serve}.  Si el
   1.127 +  cliente que obtuvo los cambios desde este repositorio era local,
   1.128 +  \texttt{source} será \texttt{bundle}, \texttt{pull}, o
   1.129 +  \texttt{push}, dependiendo de la operación que llevó a cabo el
   1.130 +  cliente.
   1.131 +\item[\texttt{url}] Una URL. La ubicación del repositorio remoto, si
   1.132 +  es conocida. Vea la sección~\ref{sec:hook:url} para más información.
   1.133 +\end{itemize}
   1.134 +
   1.135 +Vea también: \hook{preoutgoing} (sección~\ref{sec:hook:preoutgoing})
   1.136 +
   1.137 +\subsection{\hook{prechangegroup}---before starting to add remote changesets}
   1.138 +\label{sec:hook:prechangegroup}
   1.139 +
   1.140 +This controlling hook is run before Mercurial begins to add a group of
   1.141 +changesets from another repository.
   1.142 +
   1.143 +This hook does not have any information about the changesets to be
   1.144 +added, because it is run before transmission of those changesets is
   1.145 +allowed to begin.  If this hook fails, the changesets will not be
   1.146 +transmitted.
   1.147 +
   1.148 +One use for this hook is to prevent external changes from being added
   1.149 +to a repository.  For example, you could use this to ``freeze'' a
   1.150 +server-hosted branch temporarily or permanently so that users cannot
   1.151 +push to it, while still allowing a local administrator to modify the
   1.152 +repository.
   1.153 +
   1.154 +Parameters to this hook:
   1.155 +\begin{itemize}
   1.156 +\item[\texttt{source}] A string.  The source of these changes.  See
   1.157 +  section~\ref{sec:hook:sources} for details.
   1.158 +\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.159 +  known.  See section~\ref{sec:hook:url} for more information.
   1.160 +\end{itemize}
   1.161 +
   1.162 +See also: \hook{changegroup} (section~\ref{sec:hook:changegroup}),
   1.163 +\hook{incoming} (section~\ref{sec:hook:incoming}), ,
   1.164 +\hook{pretxnchangegroup} (section~\ref{sec:hook:pretxnchangegroup})
   1.165 +
   1.166 +\subsection{\hook{precommit}---before starting to commit a changeset}
   1.167 +\label{sec:hook:precommit}
   1.168 +
   1.169 +This hook is run before Mercurial begins to commit a new changeset.
   1.170 +It is run before Mercurial has any of the metadata for the commit,
   1.171 +such as the files to be committed, the commit message, or the commit
   1.172 +date.
   1.173 +
   1.174 +One use for this hook is to disable the ability to commit new
   1.175 +changesets, while still allowing incoming changesets.  Another is to
   1.176 +run a build or test, and only allow the commit to begin if the build
   1.177 +or test succeeds.
   1.178 +
   1.179 +Parameters to this hook:
   1.180 +\begin{itemize}
   1.181 +\item[\texttt{parent1}] A changeset ID.  The changeset ID of the first
   1.182 +  parent of the working directory.
   1.183 +\item[\texttt{parent2}] A changeset ID.  The changeset ID of the second
   1.184 +  parent of the working directory.
   1.185 +\end{itemize}
   1.186 +If the commit proceeds, the parents of the working directory will
   1.187 +become the parents of the new changeset.
   1.188 +
   1.189 +See also: \hook{commit} (section~\ref{sec:hook:commit}),
   1.190 +\hook{pretxncommit} (section~\ref{sec:hook:pretxncommit})
   1.191 +
   1.192 +\subsection{\hook{preoutgoing}---before starting to propagate changesets}
   1.193 +\label{sec:hook:preoutgoing}
   1.194 +
   1.195 +This hook is invoked before Mercurial knows the identities of the
   1.196 +changesets to be transmitted.
   1.197 +
   1.198 +One use for this hook is to prevent changes from being transmitted to
   1.199 +another repository.
   1.200 +
   1.201 +Parameters to this hook:
   1.202 +\begin{itemize}
   1.203 +\item[\texttt{source}] A string.  The source of the operation that is
   1.204 +  attempting to obtain changes from this repository (see
   1.205 +  section~\ref{sec:hook:sources}).  See the documentation for the
   1.206 +  \texttt{source} parameter to the \hook{outgoing} hook, in
   1.207 +  section~\ref{sec:hook:outgoing}, for possible values of this
   1.208 +  parameter.
   1.209 +\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.210 +  known.  See section~\ref{sec:hook:url} for more information.
   1.211 +\end{itemize}
   1.212 +
   1.213 +See also: \hook{outgoing} (section~\ref{sec:hook:outgoing})
   1.214 +
   1.215 +\subsection{\hook{pretag}---before tagging a changeset}
   1.216 +\label{sec:hook:pretag}
   1.217 +
   1.218 +This controlling hook is run before a tag is created.  If the hook
   1.219 +succeeds, creation of the tag proceeds.  If the hook fails, the tag is
   1.220 +not created.
   1.221 +
   1.222 +Parameters to this hook:
   1.223 +\begin{itemize}
   1.224 +\item[\texttt{local}] A boolean.  Whether the tag is local to this
   1.225 +  repository instance (i.e.~stored in \sfilename{.hg/localtags}) or
   1.226 +  managed by Mercurial (stored in \sfilename{.hgtags}).
   1.227 +\item[\texttt{node}] A changeset ID.  The ID of the changeset to be tagged.
   1.228 +\item[\texttt{tag}] A string.  The name of the tag to be created.
   1.229 +\end{itemize}
   1.230 +
   1.231 +If the tag to be created is revision-controlled, the \hook{precommit}
   1.232 +and \hook{pretxncommit} hooks (sections~\ref{sec:hook:commit}
   1.233 +and~\ref{sec:hook:pretxncommit}) will also be run.
   1.234 +
   1.235 +See also: \hook{tag} (section~\ref{sec:hook:tag})
   1.236 +
   1.237 +\subsection{\hook{pretxnchangegroup}---before completing addition of
   1.238 +  remote changesets}
   1.239 +\label{sec:hook:pretxnchangegroup}
   1.240 +
   1.241 +This controlling hook is run before a transaction---that manages the
   1.242 +addition of a group of new changesets from outside the
   1.243 +repository---completes.  If the hook succeeds, the transaction
   1.244 +completes, and all of the changesets become permanent within this
   1.245 +repository.  If the hook fails, the transaction is rolled back, and
   1.246 +the data for the changesets is erased.
   1.247 +
   1.248 +This hook can access the metadata associated with the almost-added
   1.249 +changesets, but it should not do anything permanent with this data.
   1.250 +It must also not modify the working directory.
   1.251 +
   1.252 +While this hook is running, if other Mercurial processes access this
   1.253 +repository, they will be able to see the almost-added changesets as if
   1.254 +they are permanent.  This may lead to race conditions if you do not
   1.255 +take steps to avoid them.
   1.256 +
   1.257 +This hook can be used to automatically vet a group of changesets.  If
   1.258 +the hook fails, all of the changesets are ``rejected'' when the
   1.259 +transaction rolls back.
   1.260  
   1.261  Parameters to this hook:
   1.262  \begin{itemize}
   1.263 @@ -1220,216 +1445,6 @@
   1.264    known.  See section~\ref{sec:hook:url} for more information.
   1.265  \end{itemize}
   1.266  
   1.267 -See also: \hook{incoming} (section~\ref{sec:hook:incoming}),
   1.268 -\hook{prechangegroup} (section~\ref{sec:hook:prechangegroup}),
   1.269 -\hook{pretxnchangegroup} (section~\ref{sec:hook:pretxnchangegroup})
   1.270 -
   1.271 -\subsection{\hook{commit}---after a new changeset is created}
   1.272 -\label{sec:hook:commit}
   1.273 -
   1.274 -This hook is run after a new changeset has been created.
   1.275 -
   1.276 -Parameters to this hook:
   1.277 -\begin{itemize}
   1.278 -\item[\texttt{node}] A changeset ID.  The changeset ID of the newly
   1.279 -  committed changeset.
   1.280 -\item[\texttt{parent1}] A changeset ID.  The changeset ID of the first
   1.281 -  parent of the newly committed changeset.
   1.282 -\item[\texttt{parent2}] A changeset ID.  The changeset ID of the second
   1.283 -  parent of the newly committed changeset.
   1.284 -\end{itemize}
   1.285 -
   1.286 -See also: \hook{precommit} (section~\ref{sec:hook:precommit}),
   1.287 -\hook{pretxncommit} (section~\ref{sec:hook:pretxncommit})
   1.288 -
   1.289 -\subsection{\hook{incoming}---after one remote changeset is added}
   1.290 -\label{sec:hook:incoming}
   1.291 -
   1.292 -This hook is run after a pre-existing changeset has been added to the
   1.293 -repository, for example via a \hgcmd{push}.  If a group of changesets
   1.294 -was added in a single operation, this hook is called once for each
   1.295 -added changeset.
   1.296 -
   1.297 -You can use this hook for the same purposes as the \hook{changegroup}
   1.298 -hook (section~\ref{sec:hook:changegroup}); it's simply more convenient
   1.299 -sometimes to run a hook once per group of changesets, while other
   1.300 -times it's handier once per changeset.
   1.301 -
   1.302 -Parameters to this hook:
   1.303 -\begin{itemize}
   1.304 -\item[\texttt{node}] A changeset ID.  The ID of the newly added
   1.305 -  changeset.
   1.306 -\item[\texttt{source}] A string.  The source of these changes.  See
   1.307 -  section~\ref{sec:hook:sources} for details.
   1.308 -\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.309 -  known.  See section~\ref{sec:hook:url} for more information.
   1.310 -\end{itemize}
   1.311 -
   1.312 -See also: \hook{changegroup} (section~\ref{sec:hook:changegroup}) \hook{prechangegroup} (section~\ref{sec:hook:prechangegroup}), \hook{pretxnchangegroup} (section~\ref{sec:hook:pretxnchangegroup})
   1.313 -
   1.314 -\subsection{\hook{outgoing}---after changesets are propagated}
   1.315 -\label{sec:hook:outgoing}
   1.316 -
   1.317 -This hook is run after a group of changesets has been propagated out
   1.318 -of this repository, for example by a \hgcmd{push} or \hgcmd{bundle}
   1.319 -command.
   1.320 -
   1.321 -One possible use for this hook is to notify administrators that
   1.322 -changes have been pulled.
   1.323 -
   1.324 -Parameters to this hook:
   1.325 -\begin{itemize}
   1.326 -\item[\texttt{node}] A changeset ID.  The changeset ID of the first
   1.327 -  changeset of the group that was sent.
   1.328 -\item[\texttt{source}] A string.  The source of the of the operation
   1.329 -  (see section~\ref{sec:hook:sources}).  If a remote client pulled
   1.330 -  changes from this repository, \texttt{source} will be
   1.331 -  \texttt{serve}.  If the client that obtained changes from this
   1.332 -  repository was local, \texttt{source} will be \texttt{bundle},
   1.333 -  \texttt{pull}, or \texttt{push}, depending on the operation the
   1.334 -  client performed.
   1.335 -\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.336 -  known.  See section~\ref{sec:hook:url} for more information.
   1.337 -\end{itemize}
   1.338 -
   1.339 -See also: \hook{preoutgoing} (section~\ref{sec:hook:preoutgoing})
   1.340 -
   1.341 -\subsection{\hook{prechangegroup}---before starting to add remote changesets}
   1.342 -\label{sec:hook:prechangegroup}
   1.343 -
   1.344 -This controlling hook is run before Mercurial begins to add a group of
   1.345 -changesets from another repository.
   1.346 -
   1.347 -This hook does not have any information about the changesets to be
   1.348 -added, because it is run before transmission of those changesets is
   1.349 -allowed to begin.  If this hook fails, the changesets will not be
   1.350 -transmitted.
   1.351 -
   1.352 -One use for this hook is to prevent external changes from being added
   1.353 -to a repository.  For example, you could use this to ``freeze'' a
   1.354 -server-hosted branch temporarily or permanently so that users cannot
   1.355 -push to it, while still allowing a local administrator to modify the
   1.356 -repository.
   1.357 -
   1.358 -Parameters to this hook:
   1.359 -\begin{itemize}
   1.360 -\item[\texttt{source}] A string.  The source of these changes.  See
   1.361 -  section~\ref{sec:hook:sources} for details.
   1.362 -\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.363 -  known.  See section~\ref{sec:hook:url} for more information.
   1.364 -\end{itemize}
   1.365 -
   1.366 -See also: \hook{changegroup} (section~\ref{sec:hook:changegroup}),
   1.367 -\hook{incoming} (section~\ref{sec:hook:incoming}), ,
   1.368 -\hook{pretxnchangegroup} (section~\ref{sec:hook:pretxnchangegroup})
   1.369 -
   1.370 -\subsection{\hook{precommit}---before starting to commit a changeset}
   1.371 -\label{sec:hook:precommit}
   1.372 -
   1.373 -This hook is run before Mercurial begins to commit a new changeset.
   1.374 -It is run before Mercurial has any of the metadata for the commit,
   1.375 -such as the files to be committed, the commit message, or the commit
   1.376 -date.
   1.377 -
   1.378 -One use for this hook is to disable the ability to commit new
   1.379 -changesets, while still allowing incoming changesets.  Another is to
   1.380 -run a build or test, and only allow the commit to begin if the build
   1.381 -or test succeeds.
   1.382 -
   1.383 -Parameters to this hook:
   1.384 -\begin{itemize}
   1.385 -\item[\texttt{parent1}] A changeset ID.  The changeset ID of the first
   1.386 -  parent of the working directory.
   1.387 -\item[\texttt{parent2}] A changeset ID.  The changeset ID of the second
   1.388 -  parent of the working directory.
   1.389 -\end{itemize}
   1.390 -If the commit proceeds, the parents of the working directory will
   1.391 -become the parents of the new changeset.
   1.392 -
   1.393 -See also: \hook{commit} (section~\ref{sec:hook:commit}),
   1.394 -\hook{pretxncommit} (section~\ref{sec:hook:pretxncommit})
   1.395 -
   1.396 -\subsection{\hook{preoutgoing}---before starting to propagate changesets}
   1.397 -\label{sec:hook:preoutgoing}
   1.398 -
   1.399 -This hook is invoked before Mercurial knows the identities of the
   1.400 -changesets to be transmitted.
   1.401 -
   1.402 -One use for this hook is to prevent changes from being transmitted to
   1.403 -another repository.
   1.404 -
   1.405 -Parameters to this hook:
   1.406 -\begin{itemize}
   1.407 -\item[\texttt{source}] A string.  The source of the operation that is
   1.408 -  attempting to obtain changes from this repository (see
   1.409 -  section~\ref{sec:hook:sources}).  See the documentation for the
   1.410 -  \texttt{source} parameter to the \hook{outgoing} hook, in
   1.411 -  section~\ref{sec:hook:outgoing}, for possible values of this
   1.412 -  parameter.
   1.413 -\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.414 -  known.  See section~\ref{sec:hook:url} for more information.
   1.415 -\end{itemize}
   1.416 -
   1.417 -See also: \hook{outgoing} (section~\ref{sec:hook:outgoing})
   1.418 -
   1.419 -\subsection{\hook{pretag}---before tagging a changeset}
   1.420 -\label{sec:hook:pretag}
   1.421 -
   1.422 -This controlling hook is run before a tag is created.  If the hook
   1.423 -succeeds, creation of the tag proceeds.  If the hook fails, the tag is
   1.424 -not created.
   1.425 -
   1.426 -Parameters to this hook:
   1.427 -\begin{itemize}
   1.428 -\item[\texttt{local}] A boolean.  Whether the tag is local to this
   1.429 -  repository instance (i.e.~stored in \sfilename{.hg/localtags}) or
   1.430 -  managed by Mercurial (stored in \sfilename{.hgtags}).
   1.431 -\item[\texttt{node}] A changeset ID.  The ID of the changeset to be tagged.
   1.432 -\item[\texttt{tag}] A string.  The name of the tag to be created.
   1.433 -\end{itemize}
   1.434 -
   1.435 -If the tag to be created is revision-controlled, the \hook{precommit}
   1.436 -and \hook{pretxncommit} hooks (sections~\ref{sec:hook:commit}
   1.437 -and~\ref{sec:hook:pretxncommit}) will also be run.
   1.438 -
   1.439 -See also: \hook{tag} (section~\ref{sec:hook:tag})
   1.440 -
   1.441 -\subsection{\hook{pretxnchangegroup}---before completing addition of
   1.442 -  remote changesets}
   1.443 -\label{sec:hook:pretxnchangegroup}
   1.444 -
   1.445 -This controlling hook is run before a transaction---that manages the
   1.446 -addition of a group of new changesets from outside the
   1.447 -repository---completes.  If the hook succeeds, the transaction
   1.448 -completes, and all of the changesets become permanent within this
   1.449 -repository.  If the hook fails, the transaction is rolled back, and
   1.450 -the data for the changesets is erased.
   1.451 -
   1.452 -This hook can access the metadata associated with the almost-added
   1.453 -changesets, but it should not do anything permanent with this data.
   1.454 -It must also not modify the working directory.
   1.455 -
   1.456 -While this hook is running, if other Mercurial processes access this
   1.457 -repository, they will be able to see the almost-added changesets as if
   1.458 -they are permanent.  This may lead to race conditions if you do not
   1.459 -take steps to avoid them.
   1.460 -
   1.461 -This hook can be used to automatically vet a group of changesets.  If
   1.462 -the hook fails, all of the changesets are ``rejected'' when the
   1.463 -transaction rolls back.
   1.464 -
   1.465 -Parameters to this hook:
   1.466 -\begin{itemize}
   1.467 -\item[\texttt{node}] A changeset ID.  The changeset ID of the first
   1.468 -  changeset in the group that was added.  All changesets between this
   1.469 -  and \index{tags!\texttt{tip}}\texttt{tip}, inclusive, were added by
   1.470 -  a single \hgcmd{pull}, \hgcmd{push} or \hgcmd{unbundle}.
   1.471 -\item[\texttt{source}] A string.  The source of these changes.  See
   1.472 -  section~\ref{sec:hook:sources} for details.
   1.473 -\item[\texttt{url}] A URL.  The location of the remote repository, if
   1.474 -  known.  See section~\ref{sec:hook:url} for more information.
   1.475 -\end{itemize}
   1.476 -
   1.477  See also: \hook{changegroup} (section~\ref{sec:hook:changegroup}),
   1.478  \hook{incoming} (section~\ref{sec:hook:incoming}),
   1.479  \hook{prechangegroup} (section~\ref{sec:hook:prechangegroup})