Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.09.19;
Скачать: [xml.tar.bz2];

Вниз

Как получить доступ к 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
3-1245124820
Sirus
2009-06-16 08:00
2010.09.19
UpdateSQL в несколько таблиц?


2-1276601299
DevilDevil
2010-06-15 15:28
2010.09.19
Текст в Clipboard. CF_TEXT или CF_UNICODETEXT


2-1277224941
Сергей
2010-06-22 20:42
2010.09.19
Пропуск строки при сохранении в ini


15-1277651139
AKE
2010-06-27 19:05
2010.09.19
Стоит ли студенту изучать что-то дополнительно...


15-1276882263
istok
2010-06-18 21:31
2010.09.19
попал с виртуальной машиной...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский