Mercurial > hgbook
comparison es/hook.tex @ 573:9438521abfc4
finished the "bundled hooks" sections
author | Javier Rojas <jerojasro@devnull.li> |
---|---|
date | Wed, 31 Dec 2008 10:18:25 -0500 |
parents | 7df73b3bc2eb |
children | 22184eb4c965 |
comparison
equal
deleted
inserted
replaced
568:339720510480 | 573:9438521abfc4 |
---|---|
604 sentido sólo si se tiene un servidor adecuadamente asegurado que | 604 sentido sólo si se tiene un servidor adecuadamente asegurado que |
605 autentique a los usuarios remotos, y si usted desea segurarse de que | 605 autentique a los usuarios remotos, y si usted desea segurarse de que |
606 sólo se le permita a ciertos usuarios empujar cambios a dicho | 606 sólo se le permita a ciertos usuarios empujar cambios a dicho |
607 servidor. | 607 servidor. |
608 | 608 |
609 \subsubsection{Configurar el gancho \hook{acl}} | 609 \subsubsection{Configuración del gancho \hook{acl}} |
610 | 610 |
611 Para administrar los conjuntos de cambios entrantes, se debe usar el | 611 Para administrar los conjuntos de cambios entrantes, se debe usar el |
612 gancho \hgext{acl} como un gancho de tipo \hook{pretxnchangegroup}. | 612 gancho \hgext{acl} como un gancho de tipo \hook{pretxnchangegroup}. |
613 Esto le permite ver qué ficheros son modificados por cada conjunto de | 613 Esto le permite ver qué ficheros son modificados por cada conjunto de |
614 %TODO rollback => "deshacer el efecto" | 614 %TODO rollback => "deshacer el efecto" |
891 Los problemas más comunes que aparecen en la configuración del gancho | 891 Los problemas más comunes que aparecen en la configuración del gancho |
892 \hgext{bugzilla} suelen estar relacionados con la ejecución del guión | 892 \hgext{bugzilla} suelen estar relacionados con la ejecución del guión |
893 de Bugzilla \filename{processmail} y la asociación de nombres de | 893 de Bugzilla \filename{processmail} y la asociación de nombres de |
894 consignadores a nombres de usuario. | 894 consignadores a nombres de usuario. |
895 | 895 |
896 Recuerde que en la sección~\ref{sec:hook:bugzilla:config} arriba que | 896 Recuerde que en la sección~\ref{sec:hook:bugzilla:config} arriba el |
897 el usuario que ejecuta el proceso Mercurial en el servidor es también | 897 usuario que ejecuta el proceso Mercurial en el servidor es también |
898 that runs the Mercurial process on the server is also the one that | 898 el usuario que ejecutará el guión \filename{processmail}. El guión |
899 will run the \filename{processmail} script. The | 899 \filename{processmail} algunas veces hace que Bugzilla escriba en |
900 \filename{processmail} script sometimes causes Bugzilla to write to | 900 ficheros en su directorio de configuración, y los ficheros de |
901 files in its configuration directory, and Bugzilla's configuration | 901 configuración de Bugzilla usualmente son propiedad del usuario bajo el |
902 files are usually owned by the user that your web server runs under. | 902 cual se ejecuta el servidor web. |
903 | 903 |
904 You can cause \filename{processmail} to be run with the suitable | 904 Usted puede hacer que \filename{processmail} sea ejecutado con la |
905 user's identity using the \command{sudo} command. Here is an example | 905 identidad del usuario adecuado usando el comando \command{sudo}. A |
906 entry for a \filename{sudoers} file. | 906 continuación se presenta una entrada de ejemplo para un fichero |
907 \filename{sudoers}. | |
907 \begin{codesample2} | 908 \begin{codesample2} |
908 hg_user = (httpd_user) NOPASSWD: /var/www/html/bugzilla/processmail-wrapper %s | 909 hg_user = (httpd_user) NOPASSWD: /var/www/html/bugzilla/processmail-wrapper %s |
909 \end{codesample2} | 910 \end{codesample2} |
910 This allows the \texttt{hg\_user} user to run a | 911 Esto permite que el usuario \texttt{hg\_user} ejecute el programa |
911 \filename{processmail-wrapper} program under the identity of | 912 \filename{processmail-wrapper} con la identidad del usuario |
912 \texttt{httpd\_user}. | 913 \texttt{httpd\_user}. |
913 | 914 |
914 This indirection through a wrapper script is necessary, because | 915 Esta indirección a través de un guión envoltorio es necesaria, porque |
915 \filename{processmail} expects to be run with its current directory | 916 \filename{processmail} espera que al ser ejecutado su directorio |
916 set to wherever you installed Bugzilla; you can't specify that kind of | 917 actual sea aquel en el cual se instaló Bugzilla; usted no puede |
917 constraint in a \filename{sudoers} file. The contents of the wrapper | 918 especificar ese tipo de condición en un fichero \filename{sudoers}. |
918 script are simple: | 919 Los contenidos del giuón envoltorio son simples: |
919 \begin{codesample2} | 920 \begin{codesample2} |
920 #!/bin/sh | 921 #!/bin/sh |
921 cd `dirname $0` && ./processmail "$1" nobody@example.com | 922 cd `dirname $0` && ./processmail "$1" nobody@example.com |
922 \end{codesample2} | 923 \end{codesample2} |
923 It doesn't seem to matter what email address you pass to | 924 No parece importar qué dirección de correo se le pase a |
924 \filename{processmail}. | 925 \filename{processmail}. |
925 | 926 |
926 If your \rcsection{usermap} is not set up correctly, users will see an | 927 Si su \rcsection{usermap} no es configurada correctamente, los |
927 error message from the \hgext{bugzilla} hook when they push changes | 928 usuarios verán un mensaje de error del gancho \hgext{bugzilla} cuando |
928 to the server. The error message will look like this: | 929 empujen cambios al servidor. El mensaje de error se verá así: |
929 \begin{codesample2} | 930 \begin{codesample2} |
930 cannot find bugzilla user id for john.q.public@example.com | 931 cannot find bugzilla user id for john.q.public@example.com |
931 \end{codesample2} | 932 \end{codesample2} |
932 What this means is that the committer's address, | 933 Lo que esto quiere decir es que la dirección del consignador, |
933 \texttt{john.q.public@example.com}, is not a valid Bugzilla user name, | 934 \texttt{john.q.public@example.com}, no es un nombre de usuario |
934 nor does it have an entry in your \rcsection{usermap} that maps it to | 935 Bugzilla válido, ni tiene una entrada en su \rcsection{usermap} que lo |
935 a valid Bugzilla user name. | 936 asocie con un nombre de usuario válido Bugzilla. |
936 | 937 |
937 \subsection{\hgext{notify}---send email notifications} | 938 \subsection{\hgext{notify}---enviar notificaciones de correo |
938 | 939 electrónico} |
939 Although Mercurial's built-in web server provides RSS feeds of changes | 940 |
940 in every repository, many people prefer to receive change | 941 %TODO feeds => notificaciones: lo más fácil es mirar en wikipedia |
941 notifications via email. The \hgext{notify} hook lets you send out | 942 Aunque el servidor web embebido de Mercurial provee notificaciones de |
942 notifications to a set of email addresses whenever changesets arrive | 943 cambios en cada repositorio, muchas personas prefieren recibir las |
943 that those subscribers are interested in. | 944 notificaciones de cambios vía correo electrónico. El gancho |
944 | 945 \hgext{notify}\footnote{Notificación.} le permite a usted enviar |
945 As with the \hgext{bugzilla} hook, the \hgext{notify} hook is | 946 notificaciones a un conjunto de direcciones de correo cuando lleguen |
946 template-driven, so you can customise the contents of the notification | 947 conjuntos de cambios en los que los subscriptores estén interesados. |
947 messages that it sends. | 948 |
948 | 949 De la misma forma que con el gancho \hgext{bugzilla}, el gancho |
949 By default, the \hgext{notify} hook includes a diff of every changeset | 950 \hgext{notify} está orientado a plantillas, así que usted puede |
950 that it sends out; you can limit the size of the diff, or turn this | 951 personalizar los contenidos del mensaje de notificación que se envía. |
951 feature off entirely. It is useful for letting subscribers review | 952 |
952 changes immediately, rather than clicking to follow a URL. | 953 Por defecto, el gancho \hgext{notify} incluye un diff de cada conjunto |
953 | 954 %TODO que se envía? revisar, pienso que es ``que se recibe'' |
954 \subsubsection{Configuring the \hgext{notify} hook} | 955 de cambios que se envía; usted puede limitar el tamaño del diff, o |
955 | 956 desactivar completamente esta característica. Es útil para permitir a |
956 You can set up the \hgext{notify} hook to send one email message per | 957 los subscriptores revisar los cambios inmediatamente, en vez de tener |
957 incoming changeset, or one per incoming group of changesets (all those | 958 que hacer clic para visitar una URL. |
958 that arrived in a single pull or push). | 959 |
960 \subsubsection{Configuración del gancho \hgext{notify}} | |
961 | |
962 Usted puede configurar el gancho \hgext{notify} para enviar un mensaje | |
963 de correo por conjunto de cambios entrante, o uno por grupo entrante | |
964 de conjuntos de cambios (todos los que llegaron en un único empuje o | |
965 jalado). | |
959 \begin{codesample2} | 966 \begin{codesample2} |
960 [hooks] | 967 [hooks] |
961 # send one email per group of changes | 968 # enviar un correo por grupo de cambios |
962 changegroup.notify = python:hgext.notify.hook | 969 changegroup.notify = python:hgext.notify.hook |
963 # send one email per change | 970 # enviar un correo por cambio |
964 incoming.notify = python:hgext.notify.hook | 971 incoming.notify = python:hgext.notify.hook |
965 \end{codesample2} | 972 \end{codesample2} |
966 | 973 |
967 Configuration information for this hook lives in the | 974 La información para configurar este gancho se ubica en la sección |
968 \rcsection{notify} section of a \hgrc\ file. | 975 \rcsection{notify} de un fichero \hgrc. |
969 \begin{itemize} | 976 \begin{itemize} |
970 \item[\rcitem{notify}{test}] By default, this hook does not send out | 977 \item[\rcitem{notify}{test}] Por defecto, este gancho no envía correos |
971 email at all; instead, it prints the message that it \emph{would} | 978 en absoluto; en vez de eso, imprime el mensaje que se |
972 send. Set this item to \texttt{false} to allow email to be sent. | 979 \emph{enviaría}. Fije este ítem en \texttt{false} para permitir el |
973 The reason that sending of email is turned off by default is that it | 980 envío de correos. El motivo por el que el envío de correos está |
974 takes several tries to configure this extension exactly as you would | 981 desactivado es que hacen falta varios intentos para configurar esta |
975 like, and it would be bad form to spam subscribers with a number of | 982 extensión exactamente como usted desea, y sería maleducado enviar a |
976 ``broken'' notifications while you debug your configuration. | 983 los subscriptores una cantidad de notificaciones ``rotas'' mientras |
977 \item[\rcitem{notify}{config}] The path to a configuration file that | 984 usted depura su configuración. |
978 contains subscription information. This is kept separate from the | 985 \item[\rcitem{notify}{config}] La ruta a un fichero de configuración |
979 main \hgrc\ so that you can maintain it in a repository of its own. | 986 que contiene información de subscripción. Esto se mantiene separado |
980 People can then clone that repository, update their subscriptions, | 987 del \hgrc\ principal para que usted pueda mantenerlo en un |
981 and push the changes back to your server. | 988 repositorio. La gente puede clonar ese repositorio, actualizar sus |
982 \item[\rcitem{notify}{strip}] The number of leading path separator | 989 subscripciones, y empujar los cambios de vuelta a su servidor. |
983 characters to strip from a repository's path, when deciding whether | 990 \item[\rcitem{notify}{strip}] La cantidad de caracteres iniciales de |
984 a repository has subscribers. For example, if the repositories on | 991 separación de ruta a remover de la ruta del repositorio, al decidir |
985 your server live in \dirname{/home/hg/repos}, and \hgext{notify} is | 992 si un repositorio tiene subscriptores. Por ejemplo, si los |
986 considering a repository named \dirname{/home/hg/repos/shared/test}, | 993 repositorios en su servidor están en \dirname{/home/hg/repos}, y |
987 setting \rcitem{notify}{strip} to \texttt{4} will cause | 994 \hgext{notify} está trabajando con un repositorio llamado |
988 \hgext{notify} to trim the path it considers down to | 995 \dirname{/home/hg/repos/shared/test}, fijar \rcitem{notify}{strip} a |
989 \dirname{shared/test}, and it will match subscribers against that. | 996 \texttt{4} hará que \hgext{notify} elimine las partes iniciales de |
990 \item[\rcitem{notify}{template}] The template text to use when sending | 997 la ruta hasta \dirname{shared/test}, y asociará los subscriptores |
991 messages. This specifies both the contents of the message header | 998 frente a dicha ruta. |
992 and its body. | 999 \item[\rcitem{notify}{template}] El texto de plantilla a usar cuando |
993 \item[\rcitem{notify}{maxdiff}] The maximum number of lines of diff | 1000 se envíen mensajes. Especifica los contenidos de la cabecera del |
994 data to append to the end of a message. If a diff is longer than | 1001 mensaje y el cuerpo del mismo. |
995 this, it is truncated. By default, this is set to 300. Set this to | 1002 \item[\rcitem{notify}{maxdiff}] El número máximo de líneas de datos de |
996 \texttt{0} to omit diffs from notification emails. | 1003 diff a añadir al final de un mensaje. Si la longitud de un diff es |
997 \item[\rcitem{notify}{sources}] A list of sources of changesets to | 1004 mayor a eso, se trunca. Por defecto, está fijado en 300. Fije esto a |
998 consider. This lets you limit \hgext{notify} to only sending out | 1005 \texttt{0} para omitir los diffs en los correos de notificación. |
999 email about changes that remote users pushed into this repository | 1006 \item[\rcitem{notify}{sources}] Una lista de fuentes de conjuntos de |
1000 via a server, for example. See section~\ref{sec:hook:sources} for | 1007 cambios a considerar. Esto le permite a usted indicar a |
1001 the sources you can specify here. | 1008 \hgext{notify} para que sólo envíe correos acerca de cambios que |
1002 \end{itemize} | 1009 usuarios remotos hayan empujado al repositorio vía un servidor, por |
1003 | 1010 ejemplo. Vea la sección~\ref{sec:hook:sources} para las fuentes que |
1004 If you set the \rcitem{web}{baseurl} item in the \rcsection{web} | 1011 usted puede especificar aquí. |
1005 section, you can use it in a template; it will be available as | 1012 \end{itemize} |
1006 \texttt{webroot}. | 1013 |
1007 | 1014 Si usted fija el ítem \rcitem{web}{baseurl} en la sección |
1008 Here is an example set of \hgext{notify} configuration information. | 1015 \rcsection{web}, usted lo puede usar en una plantilla; estará |
1016 disponible como \texttt{webroot}. | |
1017 | |
1018 A continuación se presenta un ejemplo completo de configuración para | |
1019 el gancho \hgext{notify}. | |
1009 \begin{codesample2} | 1020 \begin{codesample2} |
1010 [notify] | 1021 [notify] |
1011 # really send email | 1022 # enviar correo |
1012 test = false | 1023 test = false |
1013 # subscriber data lives in the notify repo | 1024 # datos de subscriptores están en el repositorio notify |
1014 config = /home/hg/repos/notify/notify.conf | 1025 config = /home/hg/repos/notify/notify.conf |
1015 # repos live in /home/hg/repos on server, so strip 4 "/" chars | 1026 # repos están en /home/hg/repos on server, así que elimine 4 |
1027 # caracteres"/" | |
1016 strip = 4 | 1028 strip = 4 |
1017 template = X-Hg-Repo: \{webroot\} | 1029 template = X-Hg-Repo: \{webroot\} |
1018 Subject: \{webroot\}: \{desc|firstline|strip\} | 1030 Subject: \{webroot\}: \{desc|firstline|strip\} |
1019 From: \{author\} | 1031 From: \{author\} |
1020 | 1032 |
1025 | 1037 |
1026 [web] | 1038 [web] |
1027 baseurl = http://hg.example.com/ | 1039 baseurl = http://hg.example.com/ |
1028 \end{codesample2} | 1040 \end{codesample2} |
1029 | 1041 |
1030 This will produce a message that looks like the following: | 1042 Esto producirá un mensaje que se verá como el siguiente: |
1031 \begin{codesample2} | 1043 \begin{codesample2} |
1032 X-Hg-Repo: tests/slave | 1044 X-Hg-Repo: tests/slave |
1033 Subject: tests/slave: Handle error case when slave has no buffers | 1045 Subject: tests/slave: Handle error case when slave has no buffers |
1034 Date: Wed, 2 Aug 2006 15:25:46 -0700 (PDT) | 1046 Date: Wed, 2 Aug 2006 15:25:46 -0700 (PDT) |
1035 | 1047 |