2015-09-28 2 views
0

У меня есть (потенциально общественная) ветка развития для проекта Haskell, которую я также выпускаю в Haddock. Глава моей ветви релиза всегда (естественно) имеет файл .cabal с версией, соответствующей текущей версии Haddock.Какую версию Cabal следует использовать для моей ветви разработки релизов?

Но какая версия должна быть в файле .cabal на моей ветке разработки? Например, после выпуска версии 0.1.2.6 в Hackage никакая последующая фиксация в любом месте (особенно на ветке разработки) не является версией 0.1.2.6, и они (пока) 0.1.2.7. Какая версия должна быть такой? Существует ли стандартная практика либо для Hackage в частности, либо для контроля источника в целом (напомнив, что Cabal налагает ограничения на значения, которые могут принимать version)?

ответ

-1

я не могу видеть ограничительные rules для version области

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

таким образом - вы может использования свободной форма версии, и ГИТ-РЕПО git describe является хорошим выбором в качестве идентификатора любой ревизии, и эти данные могут быть вставлены в версированный файл с smudge|clean filters

Примечание:

Если "только числовые" является обязательным для вас, вы можете

  • Следуйте семантических управления версиями
  • Используйте уникальный (увеличивающиеся?) Версии

но git describe + фильтр пара стать «обязательным», не «возможно» выбор

1.0.4-14-g2414721 превращается в (вы можете, вероятно, потерял уникальную идентификации из ревизии в случае ответвлените inbeetwen, но ...) 1.0.4.14 и такая версия будет:

  • правильно для вас
  • использоваться для идентификации происходящий
  • набора изменений
  • легко получить (автоматически) от git describe
+0

К сожалению, у меня не было ясно, что я имел в виду мой «ограничительный»: он должен быть числом - т. Е. Это не может быть явно описательным, например, «0.1.2.6 ++» или «0.1.2.6-> 7dev'. Полагаю, я мог бы просто использовать «0.0.0.0», но вопрос в том, действительно ли стандартная практика, особенно. на * Hackage *. – orome

+0

@raxacoricofallapatorius - «Стандартная практика» широко признана [Семантическая версия] (http://semver.org/). Вы можете принять его в соответствии с вашими потребностями. –

+0

Вопрос о том, какое значение необходимо предоставить в '.cabal' между выпусками Hacakge в ветке разработки. Это не может быть прошлой или будущей версией выпуска Hackae, и она должна быть «последовательностью натуральных чисел, разделенных точками». Я всегда использовал семантическую версию внутри, и это действительно часть вопроса: как люди «адаптируют ее к» * Hacakge *. (Этот ответ, похоже, игнорирует этот контекст.) – orome

Смежные вопросы