Я не программист по образованию, немного балуюсь на досуге (python) в редакторе vim. В последнее время сохраняю версию своих поделий так: работаю с файлом name.py; когда вижу, что получилось что-то стабильное, сохраняю промежуточную копию name0x.py и продолжаю работать с name.py. Плохо то, что текущая версия не прописана в основном файле. Может вручную вписывать комментарий?
Подозреваю, что в vim есть какие-то инструменты контроля версий, но пока не разбирался. Объясните, пожалуйста, как лучше действовать.
нумерация версий, как правильно?
Модератор: Модераторы разделов
-
- Сообщения: 1685
- ОС: SuSe 10.2
Re: нумерация версий, как правильно?
как вам удобно - там и делайте. Я копировал в папку архивов весь каталог проекта с суффиксом обозначающим дату и время.
типа /myProject.2010.09.12_1854
А вообще - может вам поставить систему контроля версий? SVN очень даже ничего, особенно для домашнего использования или "небольшого-промышленного". Есть графические клиенты и под вынь и под линукс.
Описывать все вкусности системы конроля версий долго - сами почитаете. А мы с удовольствием ответим на вопросы.
типа /myProject.2010.09.12_1854
А вообще - может вам поставить систему контроля версий? SVN очень даже ничего, особенно для домашнего использования или "небольшого-промышленного". Есть графические клиенты и под вынь и под линукс.
Описывать все вкусности системы конроля версий долго - сами почитаете. А мы с удовольствием ответим на вопросы.
-
- Сообщения: 153
Re: нумерация версий, как правильно?
Хорошая идея, спасибо.
А вообще - может вам поставить систему контроля версий? SVN очень даже ничего, особенно для домашнего использования или "небольшого-промышленного". Есть графические клиенты и под вынь и под линукс.
Я уже познакомился немного, поставил rapidsvn. Только пока не пробовал использовать его для локальной работы - только для закачки релизов на гуглекод. Мне показалось неудобным работать в директории svn/project_name, так как в релиз должны отправляться проекты с правильно расставленными путями, т.е., к примеру, модули - в /usr/local/lib/project_name. Значит, надо какой-то скрипт городить, чтобы он для отладки копировал файлы в соответствующие директории. Я правильно понимаю?
-
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: нумерация версий, как правильно?
Система контроля версий. Для частного использования с эпизодическим подключением к разработке заинтересованных лиц отлично подходят распределенные системы: Git, Mercurial. Для себя лично можно и SVN использовать, но подключение к разработке помощников будет сопряжено с бОльшими трудностями.
Мои розовые очки
-
- Сообщения: 1205
- ОС: Debian Wheezy (amd64)
Re: нумерация версий, как правильно?
Для верстки я использую такой скрипт
Для Сишных проектов git. Потому как удобно (к прочим вкусностям) "синхронизировать" комп и ноутбук
Код: Выделить всё
#!/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 © ?
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
-
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: нумерация версий, как правильно?
Типовым решением на данный момент является наличие скрипта установки, который может ставить продукт в произвольный указанный каталог. Например, я часто ставлю себе лично в /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
Мои розовые очки
-
- Сообщения: 153
Re: нумерация версий, как правильно?
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, чтобы при установке распаковать в /.
Три раза прочитал, пока понял.

P.S. Конкретно для Python рекомендую взглянуть в сторону distutils
Точно, я на него уже натыкался, он в репах есть.
Спасибо всем, кто отписался в тему! Буду переваривать.
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: нумерация версий, как правильно?
Вот про VCS, писал как раз чтобы ссылки давать: http://lug-mgn.ru/articles/sistemy-kontrol...sii-git-gitosis
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 480
- Статус: Keep It Simple, Stupid
- ОС: RFRemix 14
Re: нумерация версий, как правильно?
Goner писал(а): ↑15.09.2010 11:07Я не программист по образованию, немного балуюсь на досуге (python) в редакторе vim. В последнее время сохраняю версию своих поделий так: работаю с файлом name.py; когда вижу, что получилось что-то стабильное, сохраняю промежуточную копию name0x.py и продолжаю работать с name.py. Плохо то, что текущая версия не прописана в основном файле. Может вручную вписывать комментарий?
Подозреваю, что в vim есть какие-то инструменты контроля версий, но пока не разбирался. Объясните, пожалуйста, как лучше действовать.
Я себе для мелких нужд состряпал вот это.
I learned something today