2009-04-26 13 views
5

¿Es posible hacer que svn ejecute algún comando antes de cada confirmación? Tengo cierta documentación en LaTeX en el repositorio y me gustaría tener siempre la última versión de los documentos compilados disponibles como PDF en el repositorio. Lo mismo ocurriría con los documentos de Doxygen.Cómo generar documentación ejecutando un comando con cada svn commit

Apostaría que hay alguna propiedad mágica svn:something o algo así, pero no he encontrado nada todavía.

Respuesta

2

Si genera automáticamente la documentación, ¿por qué ponerla en el repositorio? Usted lo crea todo el tiempo, por lo que no tiene sentido que también tenga una versión (se genera después de todo). Prefiero usar un enganche precompromiso para generar la documentación y ponerla en un lugar común para acceder a ella, que almacenarla en el repositorio; almacenarla en el repositorio crea redundancia que debería evitarse desde mi punto de vista.

(y estoy de acuerdo que la pre-commit ganchos no deben modificar lo que se ha comprometido :)

+0

Esta respuesta es un poco presuntuoso; hay razones válidas para "autogenerar" algo antes de la confirmación. Aquí hay una: los desarrolladores que realizan la confirmación pueden tener instalada la utilidad correcta para realizar la generación automática, pero el sistema desplegado no puede. O el sistema desplegado no puede configurarse para recibir el código fuente (solo el código compilado). –

7

Puede hacer lo contrario. Cree un script de shell que ejecute svn commit después de construir cosas.

0

Utilice un pre-commit hook

+0

pre-commit ganchos deben * * no modificar lo que se está cometiendo. Ver http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks –

+2

Absolutamente, no soy consciente de que eso es lo que sugerí. Por lo que yo entiendo, las preguntas eran sobre cómo activar la generación automática de documentación. –

1

Todas estas acciones son controladas en el lado del servidor. Mire en el directorio del repositorio y encontrará una carpeta de ganchos con un montón de scripts de muestra. Quieres el gancho precompromiso.

Tenga en cuenta que si está ejecutando el servidor en Windows, estos scripts se ejecutan sin ningún entorno, por lo tanto, no asuma que se ha establecido una ruta y use rutas absolutas.

+1

los enlaces de precompilación deben * no * modificar lo que se está confirmando. Ver http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks –

+0

no responde a la OP, que pidió "¿Hay alguna manera de hacer esto cosas en un * cliente *? " (Parece que los ganchos están del lado del servidor.) –

Cuestiones relacionadas