Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.19;
Скачать: CL | DM;

Вниз

Как получить доступ к SVN-ревизии .DFM в run-time ?   Найти похожие ветки 

 
laao   (2010-06-21 17:12) [0]

Добрый день

Задача - иметь номер ревизии Subversion в run-time Delphi проекта (для отображения пользователю, записи логов и так далее). SVN проставляет ревизию в любом текстовом файле при его изменении, в том месте, где указана служебная метка $Rev $. В нашем случае интересны .PAS и .DFM. Получение номера ревизии для .PAS файла решается добавлением блока инициализации

Foo.UpdateRevision("$Rev: $");

В этом случае при любом измении .PAS файла и commit"е его в репозиторий SVN собранный после этого проект будет оперировать в run-time актуальной ревизией.

Есть ли у кого-то идеи, как добиться того же эффекта для .DFM ? Добавить константу с $Rev $ в каждый файл несложно, можно для всех форм зарегистрировать компонент-предок с property Revision: TCaption ... Но как его получать потом? На момент старта проекта ведь не все формы еще создаются ...

Приветствуются любые идеи


 
_Юрий ©   (2010-06-21 19:04) [1]

ТО есть может такое быть, что у pas ревизия другая, чем у соответствующего ему DFM ?
ИМХО, это неверно


 
Игорь Шевченко ©   (2010-06-21 22:27) [2]

_Юрий ©   (21.06.10 19:04) [1]


> ИМХО, это неверно


Вроде ничего неверного. pas может обновляться чаще, чем dfm

laao   (21.06.10 17:12)  


> Приветствуются любые идеи


> Но как его получать потом?


Например, из ресурсов, как собственно, загружается dfm при создании.


 
jack128_   (2010-06-21 22:40) [3]

а можно узнать - зачем вообще в dfm"ках нужен номер ревизии?


 
laao   (2010-06-22 12:14) [4]

Да, таки из ресурсов нужно вытаскивать .DFM в run-time. Сейчас эксперементирую в этом направлении


> jack128_   (21.06.10 22:40) [3]
> а можно узнать - зачем вообще в dfm"ках нужен номер ревизии?
>


Ну, например, открыл я готовый проект, удалил в дизайнере у какой-то кнопки обработчик на Click. Или, другой пример, для датасета изменил свойство SQL. В .PAS файле при этом ничего не поменяется :)


 
laao   (2010-06-22 12:24) [5]


> ТО есть может такое быть, что у pas ревизия другая, чем
> у соответствующего ему DFM ?ИМХО, это неверно


Subversion (SVN) проставляет новую ревизию только в тех файлах, которые менялись. Так как существует множество случаев, когда меняется либо только .PAS, либо только .DFM, то да, ревизии будут разными (а нас интересует максимальная из всех файлов проекта)


 
jack128_   (2010-06-22 19:35) [6]

так в рабочей копии же есть инфа о номере ревизии, нафиг она в самих сорцах?


 
[true]TRIx ©   (2010-06-24 00:48) [7]

Tortose SVM скачай. ставишь, затем в проводнике правой кнопкой мыши клацаешь на любую папку куда заливать и вбиваешь ссылку.



Страницы: 1 вся ветка

Текущий архив: 2010.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
2-1277379241
nobody
2010-06-24 15:34
2010.09.19
Тип как массив компонентов заданного типа


2-1275926246
TStas
2010-06-07 19:57
2010.09.19
Локальные константы подпрограмм


2-1276167910
dimds
2010-06-10 15:05
2010.09.19
Подключение к серверу из среды Delphi


2-1277194041
ixen
2010-06-22 12:07
2010.09.19
Фильтрация с задержкой


15-1277238595
Юрий
2010-06-23 00:29
2010.09.19
С днем рождения ! 23 июня 2010 среда