[Moscow.pm] Вопрос про выкатывание нового кода [OFTOPIC]

Anton Yuzhaninov citrin на citrin.ru
Чт Окт 27 04:03:20 PDT 2011


On 10/26/11 21:34, Михаил Монашёв wrote:
> Есть  ли  в  svn  возможность подставлять в текст файла ревижн другого
> файла?
>
> Проблема  такая:  нужно  подставить  в одном html-файле в урл загрузки
> js-файла  что-то,  что  менялось бы при изменении js-файла. Т.е. чтобы
> после выкатки нового кода в инет юзеры тут же качнули новый js-файл.

Насколько знаю нет, так что остается это делать на этапе пост-обработки.

Тут сложность не в проставлении ревизии, а в построении графа всех зависимостей.

Например обновилась картинка x.png, которая используется в y.css.

Нужно поменять uri внутри css файла на
x_png_rev/x.png
но этого мало
нужно внутри всех html-файлов, использующих y.css поменять uri к y.css на новый 
(потому что в старом css ссылки на старый png).

Либо есть совсем простой вариант - при выкатке менять версию всех статических 
файлов. Минус такого варианта - при выкатке будут перезагружены все файлы, даже 
которые не менялись, но если выкатка случается редко, то это допустимо.
Зато нигде не возникнет старого контента из за того, что где то не отследили 
зависимость (особенно сложно это делать в js, где URI формируется в коде). Такой 
вариант раньше использовался в R-почте - глобальный revision включался в префикс 
для всех статических ресурсов css/js/img (сейчас насколько вижу, там совсем нет 
версионирования статики).

-- 
  Anton Yuzhaninov

P. S. Если не видел, можешь глянуть доклад Скворцова на эту тему: 
http://www.slideshare.net/godegisel/rit-2011-eternal-static


Подробная информация о списке рассылки Moscow-pm