Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Вниз
Управление версионированием проекта... Найти похожие ветки
← →
Makhanev A.S. (2005-09-09 11:12) [0]Есть проект (в широком смысле слова), включающий в себя ряд компонентов и delphi проектов (dprs).
Нужно управлять версионированием, чтобы всегда можно было сделать откат назад.
Пока что это делается криво и неполноценно, т.к. не охота каждый раз переустанавливать компоненты.
Если с delphi-проектами нет проблем (создал другую папку и вперед), с компонентами надо возиться (переустанавливать, пути перепрописывать)
Какие могут быть наиболее удобные решения?
← →
Dilmo (2005-09-09 12:21) [1]Вообще то для управления версиями существует куча различных софтин таких как Microsoft Visual Source Safe, StarTeam не помню точное название, Tortoise и другие...
← →
Makhanev A.S. (2005-09-09 12:35) [2]
> Dilmo (09.09.05 12:21) [1]
Я понимаю, меня интересует конкретный опыт.
← →
Dilmo (2005-09-09 12:47) [3]ну если конкретный опыт то пожалуйста:
Мы пользуемся VSS (Visual Source Safe) есть недостатки, но пока для работы хватает
проекты и компоненты самописные все в виде исходников там и лежит и соотвественно можно сбилдить любую версию, если компоненты готовые, откуда то слева, то они не так часто меняются и у нас честно говоря не возникало необходимости их версионность поддерживать, достаточно последней версии и все..
что еще интересует ?
← →
Makhanev A.S. (2005-09-09 12:53) [4]Т.е. чтобы обновить свой компонент нужно скопировать новые файлы в папку, на которую ссылается Delphi и перебилдить компонент/проект, или каждый раз меняете ссылки из Delphi на новый компонент, удаляя предыдущий и устанавливая новый?
← →
Dilmo (2005-09-09 13:07) [5]зачем чего то копировать ?
Допустим лежит у Вас проект
C:\Work\Project1
И пара компонент
C:\Work\Component1
C:\Work\Component2
В проекте стоит ссылка на компоненты, в юзесах прописаны нужные файлы, ну или можно bpl использовать, не суть важно..
Ктото другой поправил на своей машине одну из компонент, он заливает эти новые исходники в Source Safe вы их оттуда получаете в качестве последней версии и уже работаете с новой версией... это сложновато объяснить так вот на пальцах, советую поставить какую либо систему и посомтреть как это все работает
про Source Safe можете у меня спросить :)
← →
Makhanev A.S. (2005-09-09 13:31) [6]Т.е. delphi всегда ссылается на одни и те же папки (environment->libs)? А уже с помощью VSS мы в них выкладываем хоть позапрошлую версию, хоть текущую. И в Delphi остается только перебилдить все это дело - так?
← →
Dilmo (2005-09-09 13:34) [7]да
← →
Makhanev A.S. (2005-09-09 13:43) [8]о, теперь ясно.
спасибо за ответы.
← →
Dilmo (2005-09-09 13:52) [9]в принципе есть еще такая вещь
можно пути прописывать не в Enviroment->Libs
а в Project->Options для конкретного проекта ну и писать относительные пути то есть не C:\Work\Component1\
а ..\Component1
тогда при копирование из одного каталога в другой проблем будет намного меньше, если скопировать всю структуру каталогов
← →
Makhanev A.S. (2005-09-09 14:04) [10]
> Dilmo (09.09.05 13:52) [9]
Вы имеете в виду поле search path?
← →
Dilmo (2005-09-09 14:05) [11]да
← →
Dilmo (2005-09-09 14:06) [12]да, в этом поле прописываются все пути к файлам которые не включены в проект, но используются в uses
← →
Makhanev A.S. (2005-09-09 15:38) [13]Попутный вопрос:
мы делаем несколько билдов одной версии в зависимости от директив условной компиляции. Неудобство в том, что каждый раз надо лезть в project options, condtitionals... выставлять их там и билдить заново.
попытки изучить интерфейс командной строки делфегого компилятора уперлись в то, что там нужно было указывать все используемые либы. и, если не ошибаюсь, он не хотел компилить либы сторонних разработчиков.
есть ли у вас подобная задача, если есть - как решаете?
← →
Makhanev A.S. (2005-09-10 13:32) [14]никто не в курсе?
← →
Гаврила © (2005-09-10 14:05) [15]
> Makhanev A.S.
> мы делаем несколько билдов одной версии в зависимости
> от директив условной компиляции
С коммандной строки.
> в то, что там нужно было указывать все используемые
> либы
нужно не полениться и указать, это один раз делается (bat файл например)
> если не ошибаюсь, он не хотел компилить либы сторонних
> разработчиков.
должен компилить
← →
Makhanev A.S. (2005-09-11 00:55) [16]
> Гаврила © (10.09.05 14:05) [15]
можете ваш bat файл на мыло в приват кинуть?
← →
Гаврила © (2005-09-11 01:07) [17]
> Makhanev A.S.
Нет. Пути(path) разные, смысла не имеет. Необходимая информация ищется в справке за 20 секунд. Еще 10 минут уходит на подготовку bat
← →
Dilmo (2005-09-12 07:21) [18]Ни разу не пользовались Project->Options->Conditionals
вот хоть убейте, может и не правильно это, у нас для условной компиляции есть файл... в нем прописываются все DEFINE
и он подключается командой {$INCLUDE "<имя файла>"} во всех юнитах, где необходима эта самая условная компиляция, далее подправляешь этот самый файл так как тебе надо и билдишь
возможно такой подход поможет
← →
Наиль © (2005-09-12 07:50) [19]>[18]
Этот подход более чем правильный.
Вместо исправления, лучше использовать двойной Include.
Во всех юнитах прописывается {$INCLUDE "defines.inc"}
А в нём самом одна строчка
{$INCLUDE "Defines1.inc"}
Таким образом, можно сделать Defines1, Defines2 и т.д. и ссылаться на нужный из них.
← →
Dilmo (2005-09-12 08:02) [20]при большом количестве различных дефайнов двойной инклюд конечно решает проблему
← →
Наиль © (2005-09-12 09:40) [21]Так я работаю один, то пользуюсь простым способом версионирования проекта. Для этого использую возможности профелей WinRar. Я указываю папки которые нужно архивировать. К названию архива добавляю номер дня (можно дату) и время. Исключаю из архива dcu, exe и ~-файлы. Сохраняю профиль в режиме автоисполнения на рабочий стол.
Мне этого хватает.
Но при желании можно расширить возможности, добавляя комментарий из файла, настраивая пути разархивирования и автозапуск компиляции распакованных файлов.
У меня архивация происходит по расписанию каждые 3 часа.
Но можно внедрить в проект такой модуль:
Unit SaveProject;
...
initialization
// Создание файла комментария и других полезных файлов
...
// Запуск архивации
ShellExecute(...,"Путь к ярлыку профиля на рабочем столе",...);
end.
Внедрить - означает упомянуть модуль в любом uses.
← →
Наиль © (2005-09-12 09:53) [22]Для того, чтобы легче было разбираться с профилями в WinRar можете создать файл 1.reg такого содержания (и запустите его):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\WinRAR\Profiles\5]
"Name"="Бурение"
"Default"=dword:00000000
"ImmExec"=dword:00000000
"CurDir"="C:\\Program Files\\ICQ\\shared files"
"ExclNames"="*.dcu *.~* *.exe *.db *.mb *.px *.xg* *.yg* "
"StoreNames"=""
"UseRAR"=dword:00000001
"SFXModule"=""
"SFXIcon"=""
"CmtFile"=""
"CmtText"=""
"VolumeSize"="0"
"VolPause"=dword:00000000
"OldVolNames"=dword:00000000
"RecVolNumber"=dword:00000000
"Update"=dword:00000000
"Fresh"=dword:00000000
"SyncFiles"=dword:00000000
"Move"=dword:00000000
"Solid"=dword:00000001
"AV"=dword:00000000
"Test"=dword:00000000
"Recovery"=dword:ffffffff
"EraseDest"=dword:00000000
"AddArcOnly"=dword:00000000
"ClearArc"=dword:00000000
"Lock"=dword:00000001
"Method"=dword:00000005
"DictSizeLZ"=dword:00400000
"Background"=dword:00000001
"Shutdown"=dword:00000000
"Password"=hex:49
"EncryptHeaders"=dword:00000000
"OpenShared"=dword:00000000
"ProcessOwners"=dword:00000000
"SaveStreams"=dword:00000000
"GenerateArcName"=dword:00000001
"VersionControl"=dword:00000000
"GenerateMask"="eee(hh_mm)"
"FileTimeMode"=dword:00000000
"FileDays"=dword:00000000
"FileHours"=dword:00000000
"FileMinutes"=dword:00000000
"FileTimeBefore"=dword:88000000
"FileTimeAfter"=dword:88000000
"ArcTimeOriginal"=dword:00000000
"ArcTimeLatest"=dword:00000000
"mtime"=dword:00000004
"ctime"=dword:00000000
"atime"=dword:00000000
"PathsAbs"=dword:00000000
"PathsNone"=dword:00000000
"SeparateArc"=dword:00000000
"EmailArcTo"=""
"PackDetails"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"ArcName"="C:\\Documents and Settings\\Пользователь\\Мои документы\\CyberLink\\Наиль\\Delphi\\ПОД ЗАКАЗ\\АРХИВЫ\\Бурение.rar"
"FileNames"="\"C:\\Documents and Settings\\Пользователь\\Мои документы\\CyberLink\\Наиль\\Delphi\\ПОД ЗАКАЗ\\Бурение\" \"C:\\Program Files\\Borland\\Delphi7\\MyLib\" "
После этого можете проанализировать его через WinRar
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.005 c