Шаг вперед два назад... или простейшая система контроля версий
© 2002 Кубанычбек Тажмамат уулу
г. Ош, Кыргызстан
Поставим перед собой задачу: собрать из подручных материалов простую, но функционально завершенную систему контроля версий для работы в однопользовательском режиме. Она должна выполнять следующеие задачи:
- Помогать отслеживать каждый шаг при изменении программного кода.
- Автоматически вставлять номер шага (билда) в исходники скриптов по сборке базы данных или приложения.
- При потере контроля над ситуацией или обнаружении ошибочного поведения системы дать возможность отступить назад на некоторое число шагов.
- Обеспечивать некоторую безопасность исходного кода и, возможно, паролей, содержащихся в исходном коде.
Минимальные необходимые и достаточные требования могут выполнятся при помощи командных скриптов - bat файлов. Допустим, Ваши проекты хранятся в d:\test, а исходники данного проекта, который надо отслеживать - по пути d:\test\ver\myproj001\ . В этом каталоге (и вложенных в него подкаталогах) должны храниться только исходные коды, скрипты и документация, все компилированные файлы и файлы баз данных должны выносится за его пределы (например, в каталогах d:\test\bin, d:\test\dcu, d:\test\db и т.д.). Вот и тексты командных файлов, содержащихся в нашем примере в каталоге d:\test\ver\myproj001\.
commit.bat (вызывается с параметром - номеров версии)
rem Проверка параметра вызова командного файла
if .%1.==.. goto exit
rem Проверка наличия версии с одинаковым номером
if exist d:\test\ver\myproj001st%1.rar goto filexist
rem Внесение номера версии в скрипты и исходники
call v.bat %1
cd d:\test\ver\
del d:\test\ver\myproj001.rar
rem Упаковка с паролем
rar a -ap -r -m5 -ptisheedeshdalshebudesh myproj001.rar myproj001\
rem Закрытие версии с заданным номером
copy myproj001.rar myproj001st%1.rar
goto end
:exit
echo missing parameter!!!!!!
goto end
:filexist
echo file exists!!!!!!
goto end
:end
v.bat
rem Занесение версии в скрипт для базы данных
echo insert into vers(vers,dt) values ( %1 ,'NOW'); >ver.sql
rem Занесение версии в исходники или ресурсы приложений
echo unit vers; >vers.pas
echo interface >>vers.pas
echo const >>vers.pas
echo build_vers=%1; >>vers.pas
echo implementation >>vers.pas
echo end. >>vers.pas
Процесс закрытия версии состоит в вызове commit.bat с номером закрываемой версии. В том же каталоге рекомендуется вести файлы todo.txt с описанием того, что надо сделать и history.txt с описанием того, что сделано с привязкой к номеру версии. Упакованные таким образом файлы версий исходного кода и документации можно хранить в надежном месте - на ftp или cd.
Используемое ПО - хорошо известные Far и Rar (www.rarosoft.com). Естественно, командно-строчный файл Rar.exe должен находится по доступному пути, например, win*\command
Эта простая, но надежная система наряду с неукоснительным соблюдением правила документирования каджого шага позволит достаточно просто решить проблему сохранения и отслеживания версий и другие связанные с этой проблемы.
| 2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2002 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2001 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2000 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 1999 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
- Компания по разработке программного обеспечения
- Услуги аутсорсинга в области программирования
- Как продлить срок службы картриджей
- Мошенничество во Всемирной Паутине. Осторожно: фишинг!
- Web-студия
- Как легально поднять уровень индекса цитирования.
- Мы реально сможем помочь вам в управлении предприятием
- Создание сайтов – популяризация вашего замысла
- Свой сайт. Управление ресурсом
- Семантическое ядро сайта или правила подбора ключевых фраз
- Программирование в среде Delphi 8 for .NET
- Практикум по Delphi для решения прикладных задач
- Фундаментальные алгоритмы и структуры данных в Delphi
- Delphi 6. Программирование на Object Pascal
- Delphi и технология COM
- Delphi в шутку и всерьез: что умеют хакеры
- Программирование в Delphi глазами хакера
- Delphi 2005. Секреты программирования
- Искусство создания компонентов Delphi
- Приемы программирования в Delphi на основе VCL
- Программирование баз данных в Delphi 7
- Программирование баз данных в Delphi
- Программирование в среде Delphi
- Программирование в Delphi 7
- Язык SQL в Delphi 5