Недавно наш проект переключился с SVN на Mercurial. В SVN, чтобы обновить наши файлы css/js, мы получаем последнюю измененную версию из каталога, в котором они проживают, и использовать его в качестве префикса для упакованных имен файлов.Получить все измененные файлы для данного каталога в филиале
Мы хотим использовать тот же метод в Mercurial. К сожалению, кажется, проще сказать, чем сделать, хотя это может быть вызвано нашим методом ветвления.
В двух словах у нас есть главная ветка (ствол). Каждые пару недель мы отправляемся из ствола, чтобы создать бета-версию продукта, которая в конечном итоге будет объединена в нашу прямую ветку.
Теперь на данный момент, мы, по существу, используя
hg log -b live some_folder/js
hg log -b live some_folder/css
, чтобы получить набор изменений, который совсем недавно измененные файлы в этих каталогах.
Проблема, с которой мы сталкиваемся, заключается в том, что наши смены изменений не обнаруживаются с помощью этого метода. Поэтому, если мы объединимся в наборе изменений, который изменяет файл в some_folder/css, hg не считает его измененным, так как файл не был изменен в наборе изменений слияния, а в одном из смену, который объединяется.
Мы также попробовали revsets, чтобы попытаться разобрать журналы, но похоже, что у них такая же проблема. Единственный способ получить рт.ст. войти в список тех файлов, как измененное, кажется, использовать --stat вариант, но
hg log -b live --stat some_folder/css
не показывает ни ревизии.
Я в точке, где я рассматриваю только с помощью
hg log -b live --stat
, чтобы получить журнал для всей отрасли, а затем разбор его, чтобы найти, что ревизии наиболее недавно измененный файл в директорию, но Я бы предпочел не делать этого, поскольку кажется, что он будет медленнее и медленнее, когда отрасль станет больше.
Любые идеи относительно лучшего способа решения моей проблемы?
Но почему это проблема? Если файл изменился, он обязательно появится в журнале (этого файла). И тогда номер набора изменений будет отличаться от предыдущего выпуска. Итак, почему это имеет значение, в какой отрасли произошли изменения? – Ringding
Мы просто хотим изменить номер версии, если файл был изменен в нашей прямой ветке. Иногда мы выталкиваем горячие исправления, которые вообще не изменяют css/js, и мы предпочли бы, чтобы нашим пользователям не пришлось загружать файлы снова без причины. –