Администрирование GIT-сервера. Отслеживайте процесс клонирования репозитория

Как отслеживать процесс клонирования репозитория на сервере GIT? Мне нужна информация о том, кто и когда клонировал репозиторий. Кроме того, где я могу найти информацию о том, сколько новых репозиториев было создано и кто их сделал на сервере? Это нужно для создания статистики.


person VSE    schedule 19.03.2012    source источник


Ответы (1)


Как упоминалось в этом SO question:

Клонирование — это операция только для чтения, исходный репозиторий не изменяется. Невозможно получить статистику для данных, которые просто не отслеживаются.

Однако это не совсем так, поскольку зависит от сервера репозитория Git.
Если вы хотите отслеживать операции git (включая клонирование) только для одного конкретного «центрального» сервера репозитория, вы можете добавить «уровень авторизации». " как Gitolite, который перехватит любую команду git, проверит, авторизованы ли вы для выполнения указанной команды, и выполнит это.
Здесь вы можете, сразу после выполнения, добавить свою собственную систему слежения.

На том же сервере вы также можете расширить внешний интерфейс, например gitlib, чтобы включить эту статистику (клоны) в репозиторий. экран статистики:

статистика репо в gitlib

Однако:

  • Те расширения (с gitolite и gitlib), которые будут перехватывать команду git clone (с gitolite) и отображать связанную статистику (gitlib), еще не реализованы.
    Однако они не должны быть сложными для написания кода.
  • это не учитывает (и не будет) учитывать все остальные git clone, выполненные для того же репо на другой рабочей станции Git. То есть, однажды клонированный с вашего основного «центрального» сервера репозитория Git, этот же репозиторий можно многократно клонировать с рабочей станции на рабочую станцию. Вы этого не узнаете.
person VonC    schedule 20.03.2012
comment
Спасибо! Это то, что мне нужно! - person VSE; 21.03.2012