2010-04-08 2 views
24

Я работаю быстро и яростно в новом пакете Haskell для авторов компиляторов. Я ежедневно просматриваю множество младших номеров версий, а система упаковки Haskell, Cabal, похоже, не предлагает никаких инструментов для обновления номеров версий или для ведения журнала изменений. (Журналы идут в git, но это не видно никому, кто использует пакет.) Я бы убил за что-то, что эквивалентно инструментам Debian uupdate или dch/debchange.Существуют ли инструменты, которые подходят для ведения журнала изменений для пакета Cabal Haskell?

Кто-нибудь знает о универсальных инструментах, которые могут быть использованы для автоматического увеличения номеров версий и добавления записи в журнал изменений?

+0

У этого сейчас 14 голосов и 0 ответов. Я не уверен, что вы хотите. Извлечение журнала изменений в файл для включения в дистрибутив звучит как 1-строчный скрипт. Еще несколько строк сценария должны иметь возможность получить версии файлов из назначенного тега и построить пакет с номером версии на основе тега. Так что, если это не так, что именно вам нужно? –

+0

@Paul: для извлечения журнала изменений нет. Журнал git, конечно, не подходит для распространения, хотя для разработчика, создающего журнал изменений, будет полезной информацией. Что касается того, что я ищу, я хочу, чтобы инструмент, подобный 'uupdate', будет управлять такими вещами, как номера версий и изменения изменений. Я согласен, что это, вероятно, скрипт, но, вероятно, 100 строк не 10 строк. Я, наверное, займусь этим летом. –

ответ

1

Чтобы не ответить на ваш вопрос, я ничего не знаю. Это звучит неплохо для публикации в Haskell Proposals subreddit, так как это кажется довольно полезной идеей.

2

Я использую очень простую схему для создания своего CHANGELOG. Я просто задал darcs и включил его в раздел extra-files файла моегомоего пакета. Хотя, это кажется слишком упрощенным для того, что вы просите. =)

Тем не менее, вы можете пойти совсем немного дальше и использовать пользовательский междусобойчик Setup.(hs|lhs), что строит CHANGELOG во cabal sdist из фиксации информации вашего darcs или git репозитория (или из любой системы вы решили использовать для отслеживания его)

Setup.lhs, используемый darcs, делает что-то очень похожее на информацию о номерах версий и количестве примененных исправлений с последней версии. Посмотрите на машины sdistHook и generateVersionModule в Setup.lhs, чтобы понять, как это можно сделать.

+0

Я частый компульсивный коммиттер, и я не хочу, чтобы мои пользователи страдали через мои журналы RCS ... –