2010-04-08 10 views
24

Estoy trabajando rápida y furiosamente en un nuevo paquete Haskell para escritores de compiladores. Estoy revisando muchos números de versiones menores diariamente, y el sistema de empaque Haskell, Cabal, no parece ofrecer ninguna herramienta para actualizar los números de versión o para mantener un registro de cambios. (Los registros entran en git, pero eso no es visible para nadie que use el paquete). Me gustaría matar por algo equivalente a las herramientas de Debian uupdate o dch/debchange.¿Hay herramientas que serían adecuadas para mantener un registro de cambios para un paquete Cabal Haskell?

¿Alguien sabe de herramientas de uso general que podrían utilizarse para incrementar los números de versión automáticamente y agregar una entrada a un registro de cambios?

+0

Esto ahora tiene 14 votos y cero respuestas. No estoy seguro exactamente de lo que quieres. La extracción del registro de cambios en un archivo para incluir con la distribución suena como un script de 1 línea. Algunas líneas más de script deberían poder obtener las versiones de archivo de una etiqueta nominada y crear un paquete con un número de versión basado en la etiqueta. Entonces, si no es eso, ¿qué es exactamente lo que necesitas? –

+0

@Paul: no hay registro de cambios para extraer. El registro de git ciertamente no es apropiado para la distribución, aunque sería información útil para un desarrollador que crea un registro de cambios. En cuanto a lo que estoy buscando, quiero una herramienta como 'uupdate' que gestionará cosas como los números de versión y las modificaciones del registro de cambios. Estoy de acuerdo, es probable que sea un script, pero probablemente 100 líneas, no 10 líneas. Probablemente abordaré uno este verano. –

Respuesta

1

Para no responder a su pregunta, no estoy al tanto de nada. Esto suena como una buena coincidencia para publicar en el subreddit Haskell Proposals, ya que parece una idea bastante útil.

2

Uso un esquema muy simple para generar mi CHANGELOG. Solo le pido darcs y lo incluyo en la sección extra-files del archivo .cabal de mi paquete. Sin embargo, esto parece demasiado simplista para lo que estás preguntando. =)

Dicho esto, se puede ir un poco más lejos y utilizar una cábala encargo Setup.(hs|lhs) que construye el CHANGELOG durante cabal sdist de información comprometer su darcs o git del repositorio (o fuera de cualquier sistema que decida utilizar para rastrearlo)

El Setup.lhs utilizado por darcs hace algo muy similar para incluir información sobre los números de versión y el número de parches aplicados desde la última versión. Mire la maquinaria sdistHook y generateVersionModule en Setup.lhs para tener una idea de cómo se puede hacer esto.

+0

Soy un committer compulsivo frecuente, y no quiero que mis usuarios sufran a través de mis registros de RCS ... –

Cuestiones relacionadas