Версионный контроль
Мне надо организовать не очень большой проект (С++). Для начала собрался решить вопрос версионного контроля. Для этого решил использовать Subversion и клиент TortoiseSVN. И хотелось бы более правильно нумеровать версии, думаю в виде vA.B.C будет правильно, но в каких случаях следует переходить на следующее значение A,B и C? И еще, как отслеживать номер сборки? Или просто использовать номер ревизии вместо него? В самой черепашке пишется так: TortoiseSVN 1.4.3, Build 8645, хотелось бы сделать нечто подобное. Кстати, Build увеличивается напротяжении всей разработки или для каждой версии отдельно?
Заранее спасибо
Мне надо организовать не очень большой проект (С++). Для начала собрался решить вопрос версионного контроля. Для этого решил использовать Subversion и клиент TortoiseSVN. И хотелось бы более правильно нумеровать версии, думаю в виде vA.B.C будет правильно, но в каких случаях следует переходить на следующее значение A,B и C? И еще, как отслеживать номер сборки? Или просто использовать номер ревизии вместо него? В самой черепашке пишется так: TortoiseSVN 1.4.3, Build 8645, хотелось бы сделать нечто подобное. Кстати, Build увеличивается напротяжении всей разработки или для каждой версии отдельно?
Заранее спасибо
http://ru.wikipedia.org/wiki/%D0%AF%D0%B4%D1%80%D0%BE_Linux - может быть интересно, для определения политики нумерации версий.
Ну я бы не сказал, при всем моем уважении к гению, что это понятная и простая система нумерации...
Ну не знаю на сколько понятная и простая, но оригинальненько и в его случае (если не ошибаюсь) нумерация дошла только до пятого знака после запятой, то бишь за все существование серьезных ошибок почти не было обнаружено. Я конечно же не рекомендую так делать, просто как пример... :)
Кнут, конечно, большой оригинал, но система-то логичная. Дело в том постулате Дональда Эрвиновича,:) что ТеХ – система совершенствующаяся, но не развивающаяся. Отсюда вывод: чем больше знаков за запятой, тем совершеннее система.
Номер билда, вероятно, имеет смысл увеличивать при каждом Build Project с настройками Release (речь о MSVS), за счёт чего получится сквозная нумерация. Это один путь.
Можно нумеровать аналогично тому, как сделано в Linux. Это второй путь.
Можно придумать что-то своё. Принципиальной разницы между системами нумерации версий нет, главное, чтобы она была логичной и понятной. Во многом логичность и понятность определяются исходя из самого проекта.
например наш заказчик просит указывать версию как "v.YYYYMMDD".
в общем - понятно, но в сутки может быть пара-тройка билдов. он решает эту проблему, делая рассылку пользоваталям продукта в 00:00 следующего дня :) соотвессна они качают последнюю версию предыдущего дня :)
А еще можно брать MD5 от дистрибутива, в качестве номера. Внушительно будет выглядеть:)
- Алё, у меня проблема с программой!
- А какая у вас версия?
- [цензура]
Хватит нумерации версий, скажем, трех- (в крайнем случае, четырех-) уровневой.
Изменение версии на 3-м уровне означает, что что-то изменилось (скажем, исправлены глюки), но ни функциональность, ни интерфейс, ни, скажем, форматы файлов не изменились.
Изменение версии на 2-м уровне может означать, что изменилось что-то "внешнее", вроде интерфейса, функциональности, форматов файлов, но изменения незначительные, и имеется взаимно-обратная совместимость с предыдущими версиями. Т. е. новый формат файла все-таки будет восприниматься предыдущей версией.
Изменение версии в первом номере будет означать кардинальные изменения, совместимые разве что снизу вверх. Иногда и вовсе несовместимые.
А что номер билда - это же НОМЕР БИЛДА, т. е. счетчик количества сборок. Что он означает и какой смысл имеет для пользователя?
Лично я в разрабатываемых "с нуля" конфигурациях 1С нумерую именно так :) Представьте себе, никто еще не проявлял недовольства по поводу нумерации версий.. :)
Так номер билда пишут не для пользователя а для саппорта. В одном билде может быть отключено по некоторым соображениям логирование продукта или еще что-то. Имхо, зря его не пишут.
Спасибо, непременно попробую когда-нибудь. :D
Жаль только, что очевидность такой системы страмится к нулю.
например наш заказчик просит указывать версию как "v.YYYYMMDD".
в общем - понятно, но в сутки может быть пара-тройка билдов. он решает эту проблему, делая рассылку пользоваталям продукта в 00:00 следующего дня :) соотвессна они качают последнюю версию предыдущего дня :)
Если распространять не рассылкой, тогда не грех и номер билда указать. Зато это будет иллюстрировать темпы работы конторы.
[quote="Sanila_san"]
Жаль только, что очевидность такой системы страмится к нулю.
[/quote]
imho, она РАВНА нулю :))))
;) но очевидно 2 варианта: либо это бессмысленный набор из 32х символов, либо md5 хэш :D