нумерация версий, как правильно?

Модератор: Модераторы разделов

Goner
Сообщения: 153

нумерация версий, как правильно?

Сообщение Goner »

Я не программист по образованию, немного балуюсь на досуге (python) в редакторе vim. В последнее время сохраняю версию своих поделий так: работаю с файлом name.py; когда вижу, что получилось что-то стабильное, сохраняю промежуточную копию name0x.py и продолжаю работать с name.py. Плохо то, что текущая версия не прописана в основном файле. Может вручную вписывать комментарий?

Подозреваю, что в vim есть какие-то инструменты контроля версий, но пока не разбирался. Объясните, пожалуйста, как лучше действовать.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: нумерация версий, как правильно?

Сообщение Denjs »

как вам удобно - там и делайте. Я копировал в папку архивов весь каталог проекта с суффиксом обозначающим дату и время.
типа /myProject.2010.09.12_1854

А вообще - может вам поставить систему контроля версий? SVN очень даже ничего, особенно для домашнего использования или "небольшого-промышленного". Есть графические клиенты и под вынь и под линукс.
Описывать все вкусности системы конроля версий долго - сами почитаете. А мы с удовольствием ответим на вопросы.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Goner
Сообщения: 153

Re: нумерация версий, как правильно?

Сообщение Goner »

Denjs писал(а):
15.09.2010 11:20
как вам удобно - там и делайте. Я копировал весь каталог проекта с суффиксом обозначающим дату и время.
типа /myProject.2010.09.12_1854

Хорошая идея, спасибо.

А вообще - может вам поставить систему контроля версий? SVN очень даже ничего, особенно для домашнего использования или "небольшого-промышленного". Есть графические клиенты и под вынь и под линукс.


Я уже познакомился немного, поставил rapidsvn. Только пока не пробовал использовать его для локальной работы - только для закачки релизов на гуглекод. Мне показалось неудобным работать в директории svn/project_name, так как в релиз должны отправляться проекты с правильно расставленными путями, т.е., к примеру, модули - в /usr/local/lib/project_name. Значит, надо какой-то скрипт городить, чтобы он для отладки копировал файлы в соответствующие директории. Я правильно понимаю?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: нумерация версий, как правильно?

Сообщение watashiwa_daredeska »

Goner писал(а):
15.09.2010 11:07
Объясните, пожалуйста, как лучше действовать.
Система контроля версий. Для частного использования с эпизодическим подключением к разработке заинтересованных лиц отлично подходят распределенные системы: Git, Mercurial. Для себя лично можно и SVN использовать, но подключение к разработке помощников будет сопряжено с бОльшими трудностями.
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: нумерация версий, как правильно?

Сообщение Voral »

Для верстки я использую такой скрипт

Код: Выделить всё

#!/bin/sh
# Скрипт архивирования каталога и обновлений
# Версия: 1.2 от 31-03-2010
# Автор: Воробьев Александр
# url: http://va-soft.com/
#
# Скрипт формирует два архива:
# 1. Полный архив каталога с именем <dir><date>
# 2. Архив новых файлов с момента предыдущего архивировния с именем <dir><date>_<id>
# В именах файлов:
#     <dir>    - имя родительского каталога
#    <date>    - дата архива в формате  YYYYMMDD (год 4 знака, месяц 2 знака, день 2 знака)
#    <id>    - порядковый номер архива 2 знака
# Если предыдущий архив обновлений отсутствует, то он создается копированием полного архива
# После создания архива обновлений старый архив обновленй удаляется
#
# Пример дерева каталогов
# myproject/                - родительский каталог
# myproject/site/            - целевой каталог для архивирования
# myproject/site/samefile.css
# myproject/site/samefile.html
# myproject/myproject20100101.7z    - полный архив каталога
# myproject/myproject20100101_02.7z    - архив обновлений
# myproject/news.sh            - данный скрипт

# Команда архивирования
ARCLINE="7z a -R";
# Расширение архивов
ARCEXT="7z";
# Целевой каталог для архивирования
SUBDIR="site";

CURDIR=`pwd | sed -rn "s/.*\/([^\/]*)$/\1/gp"`;
CURDATE=`date +%Y%m%d`;
OLDFILE=`find -type f -name $CURDIR????????_??.$ARCEXT | sed -r 's/\.\///'`
cd $SUBDIR;
$ARCLINE ../$CURDIR$CURDATE.$ARCEXT > /dev/null
#if [ "$OLDFILE" == "" ]
if [ -z "$OLDFILE" ]
then
    cp ../$CURDIR$CURDATE.$ARCEXT ../$CURDIR${CURDATE}_01.$ARCEXT
else
    OLDDATE=`echo $OLDFILE | sed -rn 's/[a-zA-Z]+([0-9]+).*/\1/p'`;
#    if [ "$OLDDATE" == "$CURDATE" ]
    if [ "x$OLDDATE" = "x$CURDATE" ]
    then
        OLDID=`echo $OLDFILE | sed -rn "s/[a-zA-Z]+[0-9]+_0*([0-9]{1,2}).$ARCEXT/\1/p"`;
#        NEWID=`expr $OLDID + 1`
        NEWID=$((OLDID+1))
    else
        NEWID=1;
    fi
    NEWFILE=`printf "%s%s_%02d.$ARCEXT" $CURDIR $CURDATE $NEWID`;
#    find ./ -type f -cnewer ../$OLDFILE | while read i; do (echo $i;echo $i | sed -rn 's/\.\///p' | xargs -i $ARCLINE ../$NEWFILE '{}' > /dev/null \;) done;
    find ./ -type f -cnewer ../$OLDFILE  -printf "%P\n" | while read i; do (echo $i; $ARCLINE ../$NEWFILE $i > /dev/null \;) done;
#find ./ -type f -cnewer ../$OLDFILE  -printf "%P\n" | tee | xargs -i -n 1 $ARCLINE ../$NEWFILE
    if [ -f ../$NEWFILE ]
    then
        rm ../$OLDFILE;
    fi;
fi;
#cd ..;


Для Сишных проектов git. Потому как удобно (к прочим вкусностям) "синхронизировать" комп и ноутбук
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: нумерация версий, как правильно?

Сообщение watashiwa_daredeska »

Goner писал(а):
15.09.2010 11:34
в релиз должны отправляться проекты с правильно расставленными путями, т.е., к примеру, модули - в /usr/local/lib/project_name. Значит, надо какой-то скрипт городить, чтобы он для отладки копировал файлы в соответствующие директории. Я правильно понимаю?
Типовым решением на данный момент является наличие скрипта установки, который может ставить продукт в произвольный указанный каталог. Например, я часто ставлю себе лично в /home/$USER/opt, а не в /usr и не в /usr/local. Тогда для отладки можно ставить в какой-нибудь /tmp вообще.

Да, для сборки распространяемых готовых пакетов полезно иметь две различные опции:
1. Собрать для установки в <path> (обычно это опция --prefix=<path>)
2. Установить в <path>
Тогда можно собрать для установки, например, в /usr, установить в /home/$USER/tmp/project/usr, а потом запаковать в архив, начиная с /home/$USER/tmp/project, чтобы при установке распаковать в /.

P.S. Конкретно для Python рекомендую взглянуть в сторону distutils
Спасибо сказали:
Goner
Сообщения: 153

Re: нумерация версий, как правильно?

Сообщение Goner »

watashiwa_daredeska писал(а):
15.09.2010 11:50
Типовым решением на данный момент является наличие скрипта установки, который может ставить продукт в произвольный указанный каталог. Например, я часто ставлю себе лично в /home/$USER/opt, а не в /usr и не в /usr/local. Тогда для отладки можно ставить в какой-нибудь /tmp вообще.


Ясно, спасибо. Придется и этим заняться, т.к. проекты становятся сложнее, много файлов.

Да, для сборки распространяемых готовых пакетов полезно иметь две различные опции:
1. Собрать для установки в <path> (обычно это опция --prefix=<path>)
2. Установить в <path>
Тогда можно собрать для установки, например, в /usr, установить в /home/$USER/tmp/project/usr, а потом запаковать в архив, начиная с /home/$USER/tmp/project, чтобы при установке распаковать в /.


Три раза прочитал, пока понял. :) Еще бы сделать. Проще, наверное, действительно distutils освоить.

P.S. Конкретно для Python рекомендую взглянуть в сторону distutils


Точно, я на него уже натыкался, он в репах есть.

Спасибо всем, кто отписался в тему! Буду переваривать.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: нумерация версий, как правильно?

Сообщение Portnov »

Вот про VCS, писал как раз чтобы ссылки давать: http://lug-mgn.ru/articles/sistemy-kontrol...sii-git-gitosis
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
ffldove
Сообщения: 480
Статус: Keep It Simple, Stupid
ОС: RFRemix 14

Re: нумерация версий, как правильно?

Сообщение ffldove »

Goner писал(а):
15.09.2010 11:07
Я не программист по образованию, немного балуюсь на досуге (python) в редакторе vim. В последнее время сохраняю версию своих поделий так: работаю с файлом name.py; когда вижу, что получилось что-то стабильное, сохраняю промежуточную копию name0x.py и продолжаю работать с name.py. Плохо то, что текущая версия не прописана в основном файле. Может вручную вписывать комментарий?

Подозреваю, что в vim есть какие-то инструменты контроля версий, но пока не разбирался. Объясните, пожалуйста, как лучше действовать.

Я себе для мелких нужд состряпал вот это.
I learned something today
Спасибо сказали: