2014-01-14 4 views
0

Мне нужно будет записывать все, что происходит с некоторыми репозиториями. По умолчанию я могу вести запись о слиянии и фиксации, но мне нужна запись о клонировании, притяжениях, аутентификации и т. Д.Есть ли способ зарегистрировать все, что происходит в Mercurial?

Есть ли способ сохранить это в любом месте?

ответ

1

Клонирование, вытягивание и аутентификация не являются частью истории или состояния репозитория - все эти данные намеренно не отслеживаются или не перемещаются Mercurial.

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

Mercurial обеспечивает легкий веб-сервер hg serve для обработки ограниченного количества запросов, и вы можете настроить, где оба доступа и ошибок журналы записываются этим сервером с -A и -E флагов соответственно. См. hg help serve для получения дополнительной информации.

Вы можете играть с Mercurial's hooks и, возможно, лог-клоны и тянет с помощью этого метода, но аутентификация полностью прозрачна для Mercurial, поэтому регистрация должна производиться с сервера.

+0

Я не знал о крючках, я пытаюсь создать тот, который соответствует цели, но не нашел способа ссылки на пользователя меркуриального процесса. Например, я смог создать крючок, который делает что-то, когда выталкивание или толчок были сделаны, но я хотел бы зарегистрировать, кто сделал это pull/push. Какая переменная ссылается на пользователя? если есть. –

+0

Nevermind, я обнаружил, что «источником» будет тот. –

0

Как люди обращаются к репозиторию. Если это ssh, вы можете легко войти в командную строку, которая входит через ssh. Если это по HTTP, вы можете использовать свои блоги как довольно хорошую запись.

Mozilla имеет открытый код с открытым исходным кодом (пример: https://hg.mozilla.org/mozilla-central/pushloghtml), который они используют для записи всех записей. Возможно, вы можете легко настроить этот код для записи всех прочитанных.

+0

Ammm Я совершенно новый, я думаю, что они обращаются через диспетчер SCM, может быть, это правильно? Я включил журнал DEBUG в SCM, но все равно не записываю что-нибудь полезное. –

+0

Я не знаю SCM Manager - это не часть git Mercurial, поэтому это становится полностью вопросом диспетчера SCM. Поскольку главная страница SCM Manager может похвастаться тем, что она использует сборку на веб-сервере вместо той, где мы могли бы легко добавить этот журнал, вам придется их спросить. Возможно, пометьте его как таковой и надейтесь, что они активны. –

Смежные вопросы