2012-01-11 17 views
6

Ya existe una "Solución hospedada similar para el control de versiones, ¿con ganchos precompromiso?" pregunta sobre SO. Sin embargo, el usuario que hizo esa pregunta solo necesitaba ganchos del lado del cliente, y estoy buscando un host Git que le permita configurar ganchos del lado del servidor.Solución Hosted Git con ganchos del lado del servidor?

(La razón por la que estoy buscando esto es para poder evitar que los desarrolladores puedan "presionar -f" en ramas específicas. Los ganchos del lado del cliente son de no uso mínimo para resolver este problema).

Entonces, ¿alguien puede recomendar un host Git que permita a sus usuarios configurar los ganchos del lado del servidor?

(puntos de bonificación si dicho huésped también ofrece un gestor de fallos integrado.)

* * EDITAR

Esta pregunta ya ha sido contestada, y la recompensa otorgada ... pero si hay alguna Los hosts de Git por ahí hacen que sea más fácil prevenir "push -f" (ya sea al proporcionar ese nivel de permisos por sí mismos, o al proporcionar acceso a publicar anzuelos de pre-recepción, lo que me permitiría usar pre-recepción ya escrita/estándar guiones) ME ENCANTARÍA saber de ellos.

Respuesta

3

la lista de los ganchos disponibles en github está aquí: https://github.com/ {usuario}/{repositorio}/admin/ganchos

tienen un genérico gancho posterior a recibir, pero no un genérico pre-recibir

usted puede codificar su propio aquí: https://github.com/github/github-services

+0

Impresionante, suena perfecto ... excepto en la página que vinculó, en "Cómo funcionan los servicios", dice específicamente "Se envía un trabajo de fondo posterior a la recepción ...", por lo que no tengo claro cómo puede usar eso para implementar un gancho de pre-recepción. ¿Podrías aclararlo por favor? – machineghost

+0

sí, solo después de la recepción. Podrías hacer un git revert de cualquier commit por parte de colaboradores que no estén en la lista X para ramas y, y luego enviarles un desagradable gramo. – ERR0

+0

Ya veo, gracias. Aún MUCHO MÁS trabajo que si solo alojáramos nuestro propio Git (gracias por nada, GitHub), pero al menos hay una manera. – machineghost

0

pensé GitHub permite que los ganchos del lado del servidor

+0

Cuando pregunté apoyo GitHub (Acerca de la inserción -f restricciones en concreto, no se trata de ganchos del lado del servidor en general) me dijeron "Esto no es posible en el lado del servidor actualmente, pero es algo que queremos hacer ". ... así que lo interpreté como que no los apoyaban. ¿Cómo exactamente pondría un enlace del lado del servidor en GitHub, ya que no puede ingresar a sus servidores? – machineghost

+0

Hay algunos proyectos que hacen esto. Exactamente lo que hacen para integrarse con GitHub, no estoy seguro pero lo veré. Como -f no está permitido, ¿no podría eliminar la rama y volver a presionarla? –

+0

El problema es que -f * está * permitido; estamos tratando de prevenirlo (en master al menos). – machineghost

0

Sólo dicen los desarrolladores no hacer esto, y añaden un gancho del lado del cliente como medida de precaución si usted está preocupado acerca de los accidentes. Si te preocupas por los desarrolladores que rompen las políticas al empujar a dominar de todos modos, seguramente tienes problemas más grandes que esto. Y no es como un push -f sería destructivo en un sistema distribuido como Git; todos todavía tendrán sus copias locales de las confirmaciones sobrescritas.

+3

El problema es que las personas lo hacen accidentalmente, no a propósito (estoy de acuerdo, ¡eso sería un problema mayor!). Sin embargo, diferentes desarrolladores usan diferentes clientes (algunos usan múltiples clientes). Dado que el objetivo es eliminar cualquier posibilidad de un empuje forzoso, tener una solución que funcione ... excepto tal vez ese desarrollador en un cliente que no haya instalado el gancho ... en cierto modo vence el propósito. Honestamente, pensé que los ganchos del servidor eran una característica básica de Git; Estoy un poco sorprendido de que ningún host de Git te permita tenerlos. – machineghost

+2

Los hosts de Git no quieren permitir que ejecutes código arbitrario en sus máquinas (o inventar sandboxing), imagino. Si instalas Gitosis (o lo que sea que esté caliente, simplemente uso Github) en tu propio servidor, puedes instalar los ganchos que quieras. – amalloy

+3

Esto puede ser un problema mayor de lo que pensaría si los desarrolladores son nuevos para Git, no de forma interna, y solo saben realmente usarlo a través de la interfaz expuesta de un IDE. _F. M. L._ –

4

Esta es una publicación muy antigua, sin embargo, quería hacer que la gente sepa que Assembla ahora ofrece Ganchos para el lado del servidor para repositorios Subversion y Git. Estos no son como los de Github donde tienes que poner en pie un servicio para ejecutarlos. Son ganchos completos de pre y post commit para git, incluido el gancho de actualización.

comprobarlo en Assembla

Cuestiones relacionadas