Текущие возможности:
-a (--archive) архивация
-v (--version) явное указание следующей версии продукта, либо при заданном ключе -r (--restore) откат на заданную версию
-i (--iteration) на сколько единиц повышается версия, по умолчанию = 1
-l (--lavel) на каком уровне происходит повышение версии продукта, по умолчанию = 0 (уровни считаются с конца от 0, количество уровней любое, по умолчанию 3)
-t (--testing) версия тестирования версии (альфа, бета тестирование, релиз кандидат, финальная)
-r (--restore) восстановление предыдущей версии, или при заданном ключе -v (--version) указанной версии
-h (--help) ну тут все ясно
В начало файла записываются номер текущей версии и дата создания, а также оставляется место для комментариев к версии.
Пример использования (выполняется в каталоге с папкой work и файлом info):
branch #создаст новый файл настроек info и файл истории продукта history, если таковые уже есть, версия программы увеличится на 1 на 0м уровне (то есть если была 5.4.8, будет 5.4.9)
branch -v 5.4.8 #текущая версия программы 5.4.8
branch -r -v 5.4.8 #восстановить версию программы 5.4.8
branch -r #восстановить предыдущую версию программы
branch -i 2 #версия программы увеличится на 2 на 0м уровне
branch -l 1 -i 2 #версия программы увеличится на 2 на 1м уровне (была 5.4.8, станет 5.6.0)
branch -t RC #атрибут текущей версии (было 5.4.8, стало 5.4.9RC, если нужно 5.4.8RC, следует писать branch.py -t RC -i 0)
Дополнительно:
Параметр "restory directory"
Путь к каталогу хранения версий.
Для начала с версии, например с 2.5.42.274, следует указать в файле info
version="2.5.42.274"
atribut version=""
restore version=""
atribut restore version=""
Установка:
Код: Выделить всё
cp /путь/до/branch /usr/bin
chmod a+x branchДальнейшие цели:
-Сделать GUI на PyGTK
-Перенести большую часть настроек в файл info
-Убирать и еще раз убирать неудачные конструкции
Очень буду рад, если кому-то понравится, кто-то воспользуется или напишет отзыв.
Собственно сам скрипт: