2012-05-27 16 views
10

Recientemente he encontrado el proyecto git2html: git2html es una interfaz web git sencilla. A diferencia de otras interfaces web, git2html no genera contenido de forma dinámica: en lugar de utilizar un script CGI, genera páginas HTML estáticas.Interfaz web estática para Git/Mercurial/Darcs

Mi pregunta es simple. ¿Conoces otros proyectos para Git, Mercurial o Darcs con objetivos similares ?. Estoy interesado en interfaces web estáticas para estos DVCS, pero es justo si quieres comentar otros proyectos para diferentes DVCS de código abierto.

+0

Una sola pregunta: ¿por qué? :) Debido a su naturaleza distribuida, la carga en un servidor DVCS es bastante baja. –

+0

Simplemente curiosidad :) –

+0

@LaurensHolst los sitios estáticos son más "dispara y olvida" que los sitios dinámicos, ya que su único vector de ataque es el servidor web. Los sitios dinámicos requieren un flujo constante de actualizaciones de seguridad, ya sea para el código del sitio o el lenguaje/intérprete subyacente. – Warbo

Respuesta

6

El equivalente de Mercurial es el site extension.

La extensión genera un conjunto de páginas HTML estáticas donde puede buscar mensajes de confirmación, diffs, etc. Son similares al servidor web incorporado que inicia con hg serve, pero son estáticas.

También puede hg clone desde dicho sitio. Esto no es debido a la extensión, sino porque Mercurial puede clonar desde cualquier directorio .hg accesible a través de la web.

+0

Perfecto. Gracias. –

+1

La extensión del sitio también admite la carga directa de FTP, que solo transfiere el historial de los archivos modificados. No es perfecto (puede omitir un archivo cuando las confirmaciones y cargas se disparan más rápido que la precisión del reloj de la lista del archivo ftp, que luego requiere la bandera de la fuerza para volver a cargar todo), pero funciona bastante bien la mayor parte del tiempo. Y con un buen gancho post-push, es automático :) –

+1

La principal diferencia con las soluciones de hospedaje de git es que puedes simplemente clonar desde la misma URL que navegas, y solo navegar por la misma URL desde la que extraes las actualizaciones.Esa es una elegancia que me gusta mucho en Mercurial (hg serve permite lo mismo). –

1

No he encontrado otro proyecto similar, y procedente de un entorno "gran empresa", puedo ver cómo es probable que no bien este enfoque escala cuando se enfrentan a:

  • numerosos repositorios
  • historia de gran tamaño (número de chaleco/ramas/etiquetas de la confirmación se)

Un enfoque similar (en términos de extraer la información necesaria y procesarla) es utilizado por herramientas de análisis estático como Sonar que tiene large disk space requirements.
Eso tampoco escala bien.

+2

Por supuesto, las soluciones similares a git2html no se escalan con repos medio-grande. Lo sé :) . Este es el problema típico de este tipo de aplicaciones. –

2

Mercurial tiene una capacidad integrada para acceder a un repositorio estático. Si un repo .hg se encuentra en la raíz web del servidor HTTP estático, puede clonarse (aunque sea lentamente). Por supuesto, no es una interfaz de usuario amigable para los humanos, pero una vez que la gente puede clonar, puede hacer lo que quiera a nivel local utilizando la herramienta de línea de comandos hte hg o hg serve localmente.

2

No es exactamente lo que pidió, pero si la carga del servidor es la preocupación, la secuencia de comandos CGI http://blitiri.com.ar/p/darcsweb/ almacena en caché las páginas representadas como archivos html estáticos después de la primera visualización, por lo que funciona bastante bien.

+1

La carga del servidor no es un problema, solo quiero una interfaz estática. Gracias de cualquier manera. –

Cuestiones relacionadas