2010-08-20 20 views
11

Estoy trabajando en un proyecto de C++ y Objective C para iPhone. Estoy usando git como mi sistema de control de versiones.Doxygen para un proyecto administrado con git?

La base de código ha estado creciendo bastante, así que me gustaría agregar Doxygen al proyecto. El problema es que no estoy seguro de cuál sería el mejor enfoque para hacerlo.

He pensado en un par de opciones:

1) Crear la documentación Doxygen HTML en la carpeta del proyecto y que sea "parte" del proyecto de manera que también se versiona y se comprometió a git.

2) Crear la documentación Doxygen HTML en la carpeta del proyecto y agregarlo a la .gitignore por lo que cada usuario del proyecto es responsable de generar la documentación y el repositorio Git proyecto permanecería intacta (a excepción de la .gitignore).

Estamos usando un repositorio git --bare en nuestro servidor principal, por lo que montar una página web que contenga el HTML Doxygen en el servidor sería complicado (no se pueden ver los archivos del proyecto con un git --bare repo , así que no podré ver el documento HTML generado por Doxygen a menos que lo cargue por separado)

Tal vez podría hacer algún tipo de cron-job, para mantener el doxygen actualizado en el lado del servidor?

La ayuda es muy bienvenida.

Respuesta

18

Creo que nunca se deben almacenar los archivos generados en un repositorio fuente, especialmente cuando se generan con herramientas disponibles comúnmente como Doxygen de archivos que están ya almacenados en el repositorio. En el caso de Doxygen, solo necesita almacenar Doxyfile en el repositorio.

(o, mejor, si estás usando autoconf, almacenar Doxyfile.in, por lo que el número de versión del proyecto actual se sustituye en la Doxyfile generado como parte de la etapa configure.)

Si desea asegurarse de que todos los que controlan su proyecto obtienen una copia del manual de referencia generado por Doxygen, hacen que forme parte del proceso de compilación predeterminado.

4

Estoy de acuerdo con Warren, pero me gustaría añadir lo siguiente:

Se puede utilizar un '' posterior a recibir el gancho '' para actualizar automáticamente un directorio de trabajo (separado) cada vez que hay un empuje para el repositorio desnudo . Este enfoque se describe para mantener sitios web controlados por versiones aquí http://toroid.org/ams/git-website-howto, y lo uso de esa manera.

Me parece razonable que pueda agregar un paso al gancho para ejecutar Doxygen después de la actualización, que sería lo que está buscando. Es posible que necesite pensar en cómo informar errores al usuario/committer si Doxygen borks, pero ese es el único problema que veo.

0

Fecha de sólo el archivo de configuración Doxygen,

obtener su servidor continuous integration para construir la documentación y publicarla en un sitio web disponible internamente y compartir la dirección con el equipo.

Cuestiones relacionadas