В Mercurial, как я могу видеть, что ревизии переместились на репо за последние 24 часа?
У меня есть репозиторий Mercurial, который несколько человек нажимают на свои локальные репозитории. Я хотел бы иметь возможность запросить этот центральный репозиторий для всех изменений, которые прибыл в этот репозиторий за последние 24 часа, в частности не только, которые были совершены за последние 24 часа.
Параметр hg log -date не выполняет то, что мне нужно. Он только уточняет выбор в зависимости от даты фиксации. Таким образом, hg log -date -1 возвращает мне исправления, совершенные со вчерашнего дня, но не исправления, совершенные, скажем, три дня назад, но только нажали на это репо сегодня.
Если я могу найти номер ревизии (или id) самой старой версии, прибывающей на репо менее 24 часов назад, это могло бы сделать трюк; но я ничего не вижу - даже в hg help revsets - похоже, что это сработает.
Ответы
Ответ 1
Вы можете использовать pushlog, расширение для Mercurial, которое вы настраиваете на стороне сервера.
В основном вы устанавливаете требуемые файлы и настраиваете крючки репозитория сервера для вызова в pushlog при каждом нажатии, а затем script будет регистрироваться всякий раз, когда кто-то подталкивает его к этому репозиторию.
К сожалению, я не знаю больше об этом, чем о том, что на этой странице, я спросил по каналу IRC Mercurial и получил там это имя.
Здесь вы можете увидеть пример журнала: calc pushlog.
Кроме того, существуют веб-системы, которые вы можете использовать, содержащие такие журналы. Вот что выглядит мой журнал Kiln после сегодняшних изменений.
![Kiln activity log]()
Ответ 2
Я не знаю встроенного метода для этого, но вы можете получить эту информацию обходным путем. Напишите script для клонирования вашего основного репо каждый день и назовите его соответствующим образом; скажем project1-2011-4-31
, project1-2011-5-1\
. Тогда просто посмотреть, что происходит от одного к другому:
cd %projectdirectory%\dateclones
cd project1-2011-3-25
hg incoming ..\project1-2011-5-1
Дала бы вам все изменения, которые были нажаты, когда клонировали project1-2011-3-25
и клонировали project1-2011-5-1
.