Как обновить подстановки ключевых слов SVN в файлах, отличных от измененного файла? - PullRequest
0 голосов
/ 01 февраля 2010

ОК, так что я знаю, что вы можете поместить $ Revision $ в файл, а затем установить свойство svn: Keywords для этого файла, чтобы при каждой фиксации файла эта переменная заменялась номером последней подтвержденной версии.

Я бы хотел использовать эту концепцию для реализации интеллектуального слоя кэширования для моих файлов шаблонов. Я планирую использовать номер редакции svn как часть ключа для поиска из кэша.

Вот некоторый псевдо-код:

function get_from_cache(){
   $key = 'TEMPLATE_CACHE_$Revision$';
   $template = apc_fetch($key);
}

Уловка в том, что я хочу, чтобы $ Revision $ заменялся текущим номером редакции каждый раз, когда файл фиксируется в каталоге templates /, а не каждый раз, когда файл, содержащий функцию get_from_cache (), фиксируется. Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

Вы не можете сделать это с ключевыми словами. Вместо этого вы можете использовать некоторые сценарии для получения последней ревизии вашей рабочей копии или последней ревизии на сервере svn и замены ее в файле скрипта, содержащем функцию get_from_cache().

Вы также можете установить хук после фиксации, который публикует последнюю ревизию этой папки после каждого коммита и каким-то образом получать ее.

0 голосов
/ 01 февраля 2010

Это не возможно напрямую. Вы можете написать скрипт для обновления этого файла всякий раз, когда шаблон обновляется, но это ужасно (и испортит вашу историю).

Проще было бы сделать так, чтобы скрипт, который выполняет обновление на вашем живом сервере, также вносил изменения в файл (или выполнял другое действие, например, явно очищал кеш) для достижения того же эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...