InglésFrancésEspañol

Ad


icono de página de OnWorks

irkerhook - Online en la nube

Ejecute irkerhook en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando irkerhook que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


irkerhook: secuencia de comandos de enlace del repositorio que emite notificaciones de irker

SINOPSIS


irkerhook.py [-n] [-V] [[--variable = valor...]] [[ID de compromiso...]]

DESCRIPCIÓN


irkerhook.py es un script de Python destinado a ser llamado desde el gancho posterior a la confirmación de un
repositorio de control de versiones. Su trabajo es recopilar información sobre el compromiso que disparó
el gancho (y posiblemente las preferencias establecidas por el propietario del repositorio) y envíe esa información
a una instancia de irkerd para reenviar a varios canales de anuncios.

La invocación y el comportamiento adecuados de irkerhook.py varían según el VCS
(sistema de control de versiones) lo está llamando. Hay cuatro lugares diferentes desde los que puede
extraer información:

1. Llamadas a los servicios públicos de VCS.

2. En VCSes como git que admiten variables de configuración configurables por el usuario, variables con
el prefijo "irker".

3. En otros VCSes, un archivo de configuración, "irker.conf", en el interior del repositorio
directorio.

4. Argumentos de la línea de comandos de la forma --variable = valor.

Las siguientes variables son generales para todos los VCS compatibles:

proyecto
El nombre del proyecto. Debe ser un identificador relativamente corto; normalmente aparecerá
al comienzo de una notificación.

repo
El nombre del directorio de nivel superior del repositorio. Si no se especifica, el valor predeterminado es
copia en minúsculas del nombre del proyecto.

canales
Una URL de canal de IRC, o una lista separada por comas de la misma, que identifica los canales a los que
se enviarán notificaciones. Si no se especifica, el valor predeterminado es freenode #commits
canal.

servidor
El host en el que se espera que resida el demonio irker de retransmisión de notificaciones.
El valor predeterminado es "localhost".

email
Si está configurado, use el correo electrónico para la comunicación en lugar de TCP o UDP. El valor se utiliza como
dirección de correo de destino.

tcp
Si es "verdadero", utilice TCP para la comunicación; si es "falso", utilice UDP. El valor predeterminado es "falso".

prefijo de URL
Prefijo de URL de conjunto de cambios para su repositorio. Cuando se agrega el ID de confirmación a esto, debería
apunte a un CGI que mostrará la confirmación a través de cgit, gitweb o algo similar.
Los valores predeterminados probablemente funcionarán si tiene una configuración típica de gitweb / cgit.

Si el valor de esta variable es "Ninguno", generación del campo URL en la confirmación
se suprimirán las notificaciones. Otros valores mágicos son "cgit", "gitweb" y
"viewcvs", que se expanden a plantillas de URL que normalmente funcionan con esos sistemas.

Las cookies mágicas "% (host) s" y% (repo) s "pueden aparecer en esta URL. La primera es
expandido al FQDN del host en el que se ejecuta irkerhook.py; el último es
expandido al valor de la variable "repo".

diminuto
Plantilla de URL que apunta a un servicio para comprimir URL para que ocupen menos
espacio en la línea de notificación. Si el valor de esta variable es "Ninguno", no
se intentará la compresión.

Color
Si es "mIRC", resalte los campos de notificación con códigos de color mIRC. Si es "ANSI", resalte
campos de notificación con secuencias de escape de color ANSI. El valor predeterminado es "ninguno" (sin colores).
Los códigos ANSI son compatibles con Chatzilla, irssi, ircle y BitchX; Los códigos mIRC solo son
reconocido en mIRC, XChat, KVirc, Konversation o weechat.

Nota: si activa esto y las notificaciones dejan de aparecer en su canal, necesita
para desactivar el filtro de color de IRC en ese canal. Para hacer esto, necesitará op
privilegios; emita el comando "/ mode -c "con reemplazado por tu
Nombre del Canal. Es posible que primero deba ejecutar el comando "/ msg chanserv set
MLOCK + nt-slk ".

maxcanales
Interpretado como un número entero. Si no es cero, limita el número de canales que el gancho
interpretar de la variable "canales".

Esta variable no se puede establecer mediante variables de configuración de VCS o irker.conf; puede
solo se puede configurar con un argumento de línea de comandos. Por lo tanto, en un sitio de forja en el que el repositorio
los propietarios no pueden modificar sus scripts posteriores a la confirmación, un administrador del sitio puede
configúrelo para evitar el spam de escopeta por parte de propietarios de proyectos malintencionados. Poniéndolo en un valor
menos de 2, sin embargo, probablemente sería imprudente.

cialike
Si no está vacío y no es "Ninguno" (el valor predeterminado), esto emula el antiguo comportamiento de la CIA de
descartando largas listas de archivos a favor de un resumen del formulario (N archivos en M
directorios). El valor debe ser numérico dando un valor de umbral para la longitud del
lista de archivos en caracteres.

git
En git, la forma normal de invocar este gancho (desde dentro del gancho de actualización) le pasa un
refname seguido de una lista de confirmaciones. Porque git lista de revoluciones normalmente listas de la mayoría
de reciente a más antiguo, querrá usar --reverse para que las notificaciones se omitan en
orden cronológico. En un script de actualización normal, la invocación debería verse así

refname = $ 1
viejo = $ 2
nuevo = $ 3
irkerhook.py --refname = $ {refname} $ (git rev-list --reverse $ {antiguo} .. $ {nuevo})

excepto que necesitará una ruta absoluta para irkerhook.py.

Para propósitos de prueba y compatibilidad con versiones anteriores, si invoca irkerhook.py sin
argumentos (como en un gancho posterior a la confirmación) se comportará como si hubiera sido llamado como
modo:

irkerhook.py --refname = refs / heads / master HEAD

Sin embargo, esto no dará el resultado correcto cuando empuje a una rama no predeterminada de un
repositorio desnudo.

Una forma típica de instalar este enlace es en realidad en el enlace posterior a la recepción, porque se
todos los detalles necesarios y no abortará el empuje en caso de falla. Utilice lo siguiente
script:

#!/ Bin / sh

echo "enviando notificación de IRC"
mientras lee el antiguo nuevo nombre de referencia; hacer
irkerhook --refname = $ {refname} $ (git rev-list --reverse $ {antiguo} .. $ {nuevo})
hecho

Por conveniencia, esto se implementa mediante el script de ayuda irkerhook-git.

Las preferencias se pueden establecer en el archivo de configuración del repositorio en una sección [irker]. Aquí hay un ejemplo
de cómo puede verse eso:

[más irritante]
proyecto = gpsd
color = ANSI
canales = irc: //chat.freenode.net/gpsd,irc: //chat.freenode.net/commits

No debe establecer la variable "repositorio" (se calculará un equivalente). Ningún intento
está hecho para interpretar un archivo irker.conf.

El valor predeterminado de la variable "proyecto" es el nombre base del directorio del repositorio.
El valor predeterminado de la variable "urlprefix" es "cgit".

Hay una variable específica de git, "revformat", que controla el formato de la confirmación
identificador en una notificación. Puede tener los siguientes valores:

crudo
ID hexadecimal completo de la confirmación

Corto
primeros 12 caracteres de ID hexadecimal

describir
describir en relación con la última etiqueta, volviendo a ser breve

El valor predeterminado es "describir".

Subversión
En Subversion, irkerhook.py acepta una opción --repository con valor (el valor absoluto
ruta del repositorio de Subversion) y un argumento de confirmación (el nivel de revisión numérico
del compromiso). Los valores predeterminados son el directorio de trabajo actual y HEAD, respectivamente.

Sin embargo, tenga en cuenta que no puede predeterminado el argumento del repositorio dentro de una Subversion
gancho posterior a la confirmación; esto se debe a una limitación de Subversion, que es que obtener la
El directorio actual no es confiable dentro de estos ganchos. En cambio, los valores deben ser los dos
argumentos que Subversion pasa a ese gancho como argumentos. Por tanto, una invocación típica en
el script posterior a la confirmación se verá así:

REPO = $ 1
REV = $ 2
irkerhook.py - repositorio = $ REPO $ REV

También se pueden proporcionar otras configuraciones de --variable = value en la línea de comando, y se anularán
cualquier configuración en un archivo irker.conf.

El valor predeterminado para la variable del proyecto es el nombre base del repositorio. El valor predeterminado
de la variable "urlprefix" es "viewcvs".

Si existe un archivo irker.conf en el directorio raíz del repositorio (no en el directorio de pago)
pero donde los componentes internos como el archivo de "formato" viven) el gancho interpretará la variable
configuración de él. A continuación, se muestra un ejemplo de cómo podría verse un archivo de este tipo:

# configuración de la variable irkerhook para el proyecto irker
proyecto = irker
canales = irc: //chat.freenode/irker,irc: //chat.freenode/commits
tcp = falso

No establezca las variables de "repositorio" o "confirmación" en este archivo; eso hubiera sido infeliz
resultados.

No hay variables específicas de Subversion.

mercurial
En Mercurial, irkerhook.py se puede invocar de dos formas: como un gancho de Python
(preferido) o como guión.

Para llamarlo como un gancho de Python, agregue el collowing al gancho de "confirmación" o "entrante"
declaración en su repositorio Mercurial:

[manos]
entrante.irker = python: /ruta/a/irkerhook.py: hg_hook

Cuando se llama como un script, el gancho acepta una opción --repository con valor (el valor absoluto
ruta del repositorio de Mercurial) y puede tomar un argumento de confirmación (el hash de Mercurial
ID de la confirmación o una referencia a ella). El valor predeterminado para el argumento del repositorio es el
directorio actual. El argumento de confirmación predeterminado es '-1', que designa la sugerencia actual
cometer.

En cuanto a git, en ambos casos todas las variables se pueden configurar en el archivo hgrc del repositorio en un [irker]
sección. Variable de la línea de comandos = los argumentos de valor se aceptan pero no son necesarios para el script
invocación. No se intenta interpretar un archivo irker.conf.

El valor predeterminado de la variable "proyecto" es el nombre base del directorio del repositorio.
El valor predeterminado de la variable "urlprefix" es el valor de la configuración "web.baseurl"
valor, si existe.

Filtración
Es posible filtrar las confirmaciones antes de enviarlas a irkerd.

Tienes que especificar el filtrocmd opción, que será el comando que se ejecutará irkerhook.py.
Este comando debe aceptar un argumento, que es una representación JSON de commit y
extractor de metadatos (incluida la variable de canales). El comando debe emitirse al estándar
generar una representación JSON de metadatos (posiblemente alterados).

A continuación se muestra un filtro de ejemplo:

#!/ usr / bin / env pitón
# Este es un ejemplo trivial de un filtro de metadatos.
# Todo lo que hace es cambiar el nombre del autor de la confirmación.
#
importar sys, json
metadatos = json.loads (sys.argv [1])

metadata ['author'] = "El gran y poderoso Oz"

Imprimir json.volcados(metadatos)
# fin

El error estándar está disponible en el gancho para mensajes de error y progreso.

CAMPUS


irkerhook.py toma las siguientes opciones:

-n
Suprime la transmisión a un demonio. En su lugar, descargue la solicitud JSON generada en
salida estándar. Útil para depurar.

-V
Escriba la versión del programa en stdout y termine.

Utilice irkerhook en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad