Mercurial > hgbook
comparison es/hook.tex @ 574:22184eb4c965
finished the translation of the section "information for writers of hooks"
updated project status
author | Javier Rojas <jerojasro@devnull.li> |
---|---|
date | Wed, 31 Dec 2008 11:31:04 -0500 |
parents | 9438521abfc4 |
children | 1f9ef8b3ab79 |
comparison
equal
deleted
inserted
replaced
573:9438521abfc4 | 574:22184eb4c965 |
---|---|
1064 enviará ningún correo electrónico} hasta que usted la configure | 1064 enviará ningún correo electrónico} hasta que usted la configure |
1065 explícitamente para hacerlo, fijando el valor de \rcitem{notify}{test} | 1065 explícitamente para hacerlo, fijando el valor de \rcitem{notify}{test} |
1066 a \texttt{false}. Hasta que usted haga eso, simplemente se imprimirá | 1066 a \texttt{false}. Hasta que usted haga eso, simplemente se imprimirá |
1067 el mensaje que se \emph{enviaría}. | 1067 el mensaje que se \emph{enviaría}. |
1068 | 1068 |
1069 \section{Information for writers of hooks} | 1069 \section{Información para escritores de ganchos} |
1070 \label{sec:hook:ref} | 1070 \label{sec:hook:ref} |
1071 | 1071 |
1072 \subsection{In-process hook execution} | 1072 \subsection{Ejecución de ganchos internos} |
1073 | 1073 |
1074 An in-process hook is called with arguments of the following form: | 1074 Un gancho interno es llamado con argumentos de la siguiente forma: |
1075 \begin{codesample2} | 1075 \begin{codesample2} |
1076 def myhook(ui, repo, **kwargs): | 1076 def myhook(ui, repo, **kwargs): |
1077 pass | 1077 pass |
1078 \end{codesample2} | 1078 \end{codesample2} |
1079 The \texttt{ui} parameter is a \pymodclass{mercurial.ui}{ui} object. | 1079 El parámetro \texttt{ui} es un objeto \pymodclass{mercurial.ui}{ui}. |
1080 The \texttt{repo} parameter is a | 1080 El parámetro \texttt{repo} es un objeto |
1081 \pymodclass{mercurial.localrepo}{localrepository} object. The | 1081 \pymodclass{mercurial.localrepo}{localrepository}. Los nombres y |
1082 names and values of the \texttt{**kwargs} parameters depend on the | 1082 valores de los parámetros en \texttt{**kwargs} dependen del gancho que |
1083 hook being invoked, with the following common features: | 1083 se invoque, con las siguientes características en común: |
1084 \begin{itemize} | 1084 \begin{itemize} |
1085 \item If a parameter is named \texttt{node} or | 1085 \item Si hay un parámetro llamado \texttt{node} o |
1086 \texttt{parent\emph{N}}, it will contain a hexadecimal changeset ID. | 1086 \texttt{parent\emph{N}}, contendrá un ID hexadecimal de un conjunto |
1087 The empty string is used to represent ``null changeset ID'' instead | 1087 de cambios. La cadena vacía es usada para representar un |
1088 of a string of zeroes. | 1088 ``ID de conjunto de cambios nulo'' en vez de una cadena de ceros. |
1089 \item If a parameter is named \texttt{url}, it will contain the URL of | 1089 \item Si hay un parámetro llamado \texttt{url}, contendrá la URL de un |
1090 a remote repository, if that can be determined. | 1090 repositorio remoto, si puede ser determinada. |
1091 \item Boolean-valued parameters are represented as Python | 1091 \item Los parámetros booleanos son representados como objetos |
1092 \texttt{bool} objects. | 1092 \texttt{bool} de Python. |
1093 \end{itemize} | 1093 \end{itemize} |
1094 | 1094 |
1095 An in-process hook is called without a change to the process's working | 1095 Un gancho interno es ejecutado sin cambiar el directorio de trabajo |
1096 directory (unlike external hooks, which are run in the root of the | 1096 del proceso (a diferencia de los ganchos externos, que son ejecutados |
1097 repository). It must not change the process's working directory, or | 1097 desde la raíz del repositorio). El gancho no debe cambiar el |
1098 it will cause any calls it makes into the Mercurial API to fail. | 1098 directorio de trabajo del proceso, porque esto haría que falle |
1099 | 1099 cualquier llamada que se haga a la API de Mercurial. |
1100 If a hook returns a boolean ``false'' value, it is considered to have | 1100 |
1101 succeeded. If it returns a boolean ``true'' value or raises an | 1101 Si un gancho retorna el valor booleano ``false''\footnote{Falso.}, se |
1102 exception, it is considered to have failed. A useful way to think of | 1102 considera que éste tuvo éxito. Si retorna |
1103 the calling convention is ``tell me if you fail''. | 1103 ``true''\footnote{Verdadero.} o genera una excepción, se considera que |
1104 | 1104 ha fallado. Una manera útil de pensar en esta convención de llamado es |
1105 Note that changeset IDs are passed into Python hooks as hexadecimal | 1105 ``dígame si usted falló''. |
1106 strings, not the binary hashes that Mercurial's APIs normally use. To | 1106 |
1107 convert a hash from hex to binary, use the | 1107 Note que los IDs de conjuntos de cambios son pasados a los ganchos de |
1108 \pymodfunc{mercurial.node}{bin} function. | 1108 Python como cadenas hexadecimales, no como los hashes binarios que la |
1109 | 1109 API de Mercurial usa normalmente. Para convertir un hash de |
1110 \subsection{External hook execution} | 1110 hexadecimal a binario, use la función \pymodfunc{mercurial.node}{bin}. |
1111 | 1111 |
1112 An external hook is passed to the shell of the user running Mercurial. | 1112 \subsection{Ejecución de ganchos externos} |
1113 Features of that shell, such as variable substitution and command | 1113 |
1114 redirection, are available. The hook is run in the root directory of | 1114 Un gancho externo es pasado al intérprete de comandos del usuario bajo |
1115 the repository (unlike in-process hooks, which are run in the same | 1115 el cual se ejecuta Mercurial. Las características del intérprete, como |
1116 directory that Mercurial was run in). | 1116 sustitución de variables y redirección de comandos, están disponibles. |
1117 | 1117 El gancho es ejecutado desde el directorio raíz del repositorio |
1118 Hook parameters are passed to the hook as environment variables. Each | 1118 (a diferencia de los ganchos internos, que se ejecutan desde el mismo |
1119 environment variable's name is converted in upper case and prefixed | 1119 directorio en que Mercurial fue ejecutado). |
1120 with the string ``\texttt{HG\_}''. For example, if the name of a | 1120 |
1121 parameter is ``\texttt{node}'', the name of the environment variable | 1121 Los parámetros para el gancho se pasan como variables de entorno. El |
1122 representing that parameter will be ``\texttt{HG\_NODE}''. | 1122 nombre de cada variable de entorno se pasa a mayúsculas y se le añade |
1123 | 1123 el prefijo ``\texttt{HG\_}''. Por ejemplo, si el nombre de un |
1124 A boolean parameter is represented as the string ``\texttt{1}'' for | 1124 parámetro es ``\texttt{node}'', el nombre de la variable de entorno |
1125 ``true'', ``\texttt{0}'' for ``false''. If an environment variable is | 1125 que almacena el parámetro se llamará ``\texttt{HG\_NODE}''. |
1126 named \envar{HG\_NODE}, \envar{HG\_PARENT1} or \envar{HG\_PARENT2}, it | 1126 |
1127 contains a changeset ID represented as a hexadecimal string. The | 1127 Un parámetro booleano se representa con la cadena ``\texttt{1}'' para |
1128 empty string is used to represent ``null changeset ID'' instead of a | 1128 ``true'', ``\texttt{0}'' para ``false''. Si una variable se llama |
1129 string of zeroes. If an environment variable is named | 1129 \envar{HG\_NODE}, \envar{HG\_PARENT1} o \envar{HG\_PARENT2}, |
1130 \envar{HG\_URL}, it will contain the URL of a remote repository, if | 1130 contendrá un ID de conjunto de cambios representado como una cadena |
1131 that can be determined. | 1131 hexadecimal. La cadena vacía es usada para representar un ``ID de |
1132 | 1132 conjunto de cambios nulo'' en vez de una cadena de ceros. Si una |
1133 If a hook exits with a status of zero, it is considered to have | 1133 variable de entorno se llama \envar{HG\_URL}, contendrá la URL de un |
1134 succeeded. If it exits with a non-zero status, it is considered to | 1134 repositorio remoto, si puede ser determinada. |
1135 have failed. | 1135 |
1136 | 1136 Si un gancho termina con un código de salida de cero, se considera que |
1137 \subsection{Finding out where changesets come from} | 1137 tuvo éxito. Si termina con un código de salida diferente de cero, se |
1138 | 1138 considera que falló. |
1139 A hook that involves the transfer of changesets between a local | 1139 |
1140 repository and another may be able to find out information about the | 1140 \subsection{Averiguar de dónde vienen los conjuntos de cambios} |
1141 ``far side''. Mercurial knows \emph{how} changes are being | 1141 %TODO los trae la cigüeña. De París. Y quedan debajo de una col. |
1142 transferred, and in many cases \emph{where} they are being transferred | 1142 |
1143 to or from. | 1143 Un gancho que involucra la transferencia de conjuntos de cambios entre |
1144 | 1144 un repositorio local y otro puede ser capaz de averiguar información |
1145 \subsubsection{Sources of changesets} | 1145 acerca de ``el otro lado''. Mercurial sabe \emph{cómo} son |
1146 transferidos los conjuntos de cambios, y en muchos casos también desde | |
1147 o hacia donde están siendo transferidos. | |
1148 | |
1149 \subsubsection{Fuentes de conjuntos de cambios} | |
1146 \label{sec:hook:sources} | 1150 \label{sec:hook:sources} |
1147 | 1151 |
1148 Mercurial will tell a hook what means are, or were, used to transfer | 1152 Mercurial le indicará a un gancho cuáles son, o fueron, los medios |
1149 changesets between repositories. This is provided by Mercurial in a | 1153 usados para transferir los conjuntos de cambios entre repositorios. |
1150 Python parameter named \texttt{source}, or an environment variable named | 1154 Esta información es provista por Mercurial en un parámetro Python |
1151 \envar{HG\_SOURCE}. | 1155 llamado \texttt{source}\footnote{Fuente.}, o una variable de entorno |
1152 | 1156 llamada \envar{HG\_SOURCE}. |
1153 \begin{itemize} | 1157 |
1154 \item[\texttt{serve}] Changesets are transferred to or from a remote | 1158 \begin{itemize} |
1155 repository over http or ssh. | 1159 \item[\texttt{serve}] Los conjuntos de cambios son transferidos desde |
1156 \item[\texttt{pull}] Changesets are being transferred via a pull from | 1160 o hacia un repositorio remoto a través de http o ssh. |
1157 one repository into another. | 1161 \item[\texttt{pull}] Los conjuntos de cambios son transferidos vía una |
1158 \item[\texttt{push}] Changesets are being transferred via a push from | 1162 operación de jalado de un repositorio a otro. |
1159 one repository into another. | 1163 \item[\texttt{push}] Los conjuntos de cambios son transferidos vía un |
1160 \item[\texttt{bundle}] Changesets are being transferred to or from a | 1164 empuje de un repositorio a otro. |
1161 bundle. | 1165 \item[\texttt{bundle}] Los conjuntos de cambios son transferidos desde |
1162 \end{itemize} | 1166 %TODO bundle |
1163 | 1167 o hacia un bundle. |
1164 \subsubsection{Where changes are going---remote repository URLs} | 1168 \end{itemize} |
1169 | |
1170 \subsubsection{A dónde van los cambios---URLs de repositorios remotos} | |
1165 \label{sec:hook:url} | 1171 \label{sec:hook:url} |
1166 | 1172 %TODO al cielo? no, ésos son los perros |
1167 When possible, Mercurial will tell a hook the location of the ``far | 1173 |
1168 side'' of an activity that transfers changeset data between | 1174 Cuando es posible, Mercurial le indicará a los ganchos la ubicación de |
1169 repositories. This is provided by Mercurial in a Python parameter | 1175 ``el otro lado'' de una actividad que transfiera datos de conjuntos de |
1170 named \texttt{url}, or an environment variable named \envar{HG\_URL}. | 1176 cambios entre repositorios. Esto es provisto por Mercurial en un |
1171 | 1177 parámetro Python llamado \texttt{url}, o en una variable de entorno |
1172 This information is not always known. If a hook is invoked in a | 1178 llamada \envar{HG\_URL}. |
1173 repository that is being served via http or ssh, Mercurial cannot tell | 1179 |
1174 where the remote repository is, but it may know where the client is | 1180 No siempre esta información está disponible. Si un gancho es invocado |
1175 connecting from. In such cases, the URL will take one of the | 1181 un repositorio que es servido a través de http o ssh, Mercurial no |
1176 following forms: | 1182 puede averiguar dónde está el repositorio remoto, pero puede saber |
1177 \begin{itemize} | 1183 desde dónde se conecta el cliente. En esos casos, la URL tendrá una de |
1178 \item \texttt{remote:ssh:\emph{ip-address}}---remote ssh client, at | 1184 las siguientes formas: |
1179 the given IP address. | 1185 \begin{itemize} |
1180 \item \texttt{remote:http:\emph{ip-address}}---remote http client, at | 1186 \item \texttt{remote:ssh:\emph{ip-address}}---cliente ssh remoto, en |
1181 the given IP address. If the client is using SSL, this will be of | 1187 la dirección IP dada. |
1182 the form \texttt{remote:https:\emph{ip-address}}. | 1188 \item \texttt{remote:http:\emph{ip-address}}---cliente remoto http, en |
1183 \item Empty---no information could be discovered about the remote | 1189 la dirección IP dada. Si el cliente está usando SSL, tendrá la forma |
1184 client. | 1190 \texttt{remote:https:\emph{ip-address}}. |
1191 \item Vacío---no se pudo descubrir información acerca del cliente | |
1192 remoto. | |
1185 \end{itemize} | 1193 \end{itemize} |
1186 | 1194 |
1187 \section{Hook reference} | 1195 \section{Hook reference} |
1188 | 1196 |
1189 \subsection{\hook{changegroup}---after remote changesets added} | 1197 \subsection{\hook{changegroup}---after remote changesets added} |