[devel] [RFC] Release: и информация о коммите

Dmitry V. Levin ldv на altlinux.org
Вт Ноя 1 01:43:54 UTC 2011


On Tue, Nov 01, 2011 at 02:14:03AM +0400, Aleksey Avdeev wrote:
>   Имею в виду следующее:
> 
> 1. Пакет foo собираемый из кода соответствующего релизу X.Y.Z апстрима
> -- foo-X.Y.Z
> 
> 2. Некий промежуточный код, следующий за официальным релизом X.Y.Z, но
> никак апстримом не отмеченный -- foo-X.Y.Z.1
> 
> 3. Следующий промежуточный код, следующий за кодом п.2 -- foo-X.Y.Z.2
> 
> 4. N-ная точка сборки -- foo-X.Y.Z.n
> 
> 5. N+M-ная -- foo-X.Y.Z.(n+m)
> 
> 6. Апстрим наконецтаки разродился релизом X.Y.(Z+1) -- собираем X.Y.(Z+1)...
> 
>   Или как вариант, для пунктов 1 и 6 собираем foo-X.Y.Z.0 и X.Y.(Z+1).0
> соответственно.

Такой подход безопасно применять только тогда, когда у вас есть гарантия
того, что апстрим не выпустит релиз X.Y.Z.1.  В этом случае в конец версии
можно дописывать что угодно, не только последовательные натуральные числа,
но и номера коммитов, timestamp'ы, и т.п. - то, что более подходит для
данного конкретного проекта.  Вот, например, для пакета gnulib я применил
такой подход, сейчас в Сизифе у него версия 0.0.6125.da1717b, где 0.0 это
номер версии самого gnulib, а 6125.da1717b это форма записи коммита
v0.0-6125-gda1717b в виде, пригодном для версии пакета.

В остальных случаях лучше просто увеличивать номер релиза и добавлять
соответствующий комментарий в %changelog.

Если вы знаете, что собираемый снапшот уже существенно ближе к будущей
версии, чем к предыдущей, то вы можете себе позволить выпустить пакет с
версией предстоящего релиза, указывая в качестве Release 0.1, 0.2 и т.п.

Если вы собираете снапшоты, и вам очень хочется отразить эту информацию в
номере версии пакета, но никаких гарантий от апстрима у вас нет, то вы
можете попробовать дать пакету версию X.Y.Z.0.snap, где 0 это ноль,
который апстримы очень редко используют в таком качестве, а snap -
это некая характеристика, монотонно возрастающая с каждым снапшотом.
В случае svn в этом качестве можно использовать его собственный svn id.
В случае git при условии необратимости истории коммитов подойдет
какой-нибудь нормализованный вывод git-describe'а.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20111101/d564f2fb/attachment-0001.bin>


Подробная информация о списке рассылки Devel