2011-01-12 2 views
4

Я столкнулся с задачей генерации статистики об истории проекта Git, и мне нужно создать некоторые конкретные числа и представления для различных показателей - такие, как фиксации на автора, гистограммы времени/даты, что-то типа.CLI git статистика регистрации

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

Мой вопрос заключается в следующем: существуют ли какие-либо существующие рамки или проекты, которые обеспечат такой интерфейс? Я видел GitStats, и он делает многое из того, что я хочу, но затем он выводит результаты в структуру HTML вместо того, чтобы просто предоставлять текстовые или программные представления мне. Существуют ли (например) привязки Python для парсера журнала Git или даже генератор статистики Git, который возвращает большой текстовый дамп данных?

Я понимаю, что это очень специфическая потребность, и я готов сделать серьезную кодировку, чтобы получить точный формат, который я хочу, но я бы хотел подумать, что там где-то есть отправная точка. Идеи?

+1

Похоже, право подход может состоять в том, чтобы попытаться заставить GitStats создать нужный формат вывода. Это, случается, уже написано на Python. Там есть HTMLReportCreator, ~ 550 строк кода, но вы можете просто заменить его или, возможно, даже просто захватить структуру данных, которую она передала. 'def create (self, data, path)'. Есть ли какая-то причина, которая вам не подходит? – Cascabel

+0

Jefromi: это, безусловно, возможно. Я посмотрел на него, и кажется, что 'data' - это экземпляр GitDataCollector (пользовательский класс, встроенный в проект), а не словарь или другая структура данных Python. Тем не менее, это отличное начало. Спасибо за указатель! – Tim

+0

Jefromi: после большего рассмотрения я начал разрабатывать свою собственную библиотеку, но если вы опубликуете свой комментарий в качестве ответа, я соглашусь с этим - это то, что заставило меня больше всего думать о том, что является лучшим решением этой проблемы , – Tim

ответ

1

Как об использовании журналов XML вместо этого, а затем вы можете разобрать XML в Python relativily легко и построить статистику

увидеть это answer о том, как получить журнал XML от мерзавца

+0

XML-журналы были бы замечательными, но в этом ответе нет информации о том, как получить XML-выход из Git. Я считаю, что ответчик ошибочно принял эту строку формата (из другого ответа) для XML, когда на самом деле это всего лишь личный предпочтительный формат из другой пользователь: http://stackoverflow.com/questions/1441156/git-how-to-save-a-preset-git-log-format – Tim

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