Сложная отчетность по Subversion (возможно, экспорт журнала Subversion в базу данных для отчетности) - PullRequest
0 голосов
/ 01 апреля 2010

Каков наилучший способ составлять комплексные отчеты по журналам Subversion, как показано ниже для каждого файла? файл, каталог, дата последней редакции, дата предыдущей редакции (где дата редакции как минимум на 30 старше последней), разность дней (между датами редакции)

Поскольку Subversion позволяет при ревизии изменять несколько файлов, я предполагаю, что svn log необходимо запускать для каждого файла отдельно.

Идеи (которые не кажутся хорошими):

Сценарии оболочки для создания файла CSV для импорта в БД. Следующее является началом, но не показывает имя файла: находить . -имя ". " -принт | xargs -l svn log -l 2

Сценарии оболочки для создания XML, а затем использование XSLT для создания CSV для импорта в БД. Он может использовать команду, аналогичную приведенной выше, но все равно имеет некоторые ограничения.

Напишите программу, которая просто анализирует журнал по всему дереву каталогов, делает одну вставку в БД для каждой комбинации ревизия / файл и затем запрашивает БД.

Ответы [ 3 ]

1 голос
/ 13 июля 2010

Если вам достаточно расширенного (не пользовательского) отчета, взгляните на StatSVN .

1 голос
/ 01 апреля 2010

Когда мне понадобилась какая-то информация из журнала SVN, я выгрузил ее в XML и использовал скрипт Ruby для его анализа. Вы можете использовать XPath из Ruby, который должен облегчить анализ. Я думаю, что вы сможете получить журнал для всего дерева. Если вы после одного отчета, зачем вообще беспокоиться о базе данных? Может быть, вы могли бы просто добавить несколько аргументов в ваш скрипт, если вы хотите изменить порядок сортировки, например.

0 голосов
/ 27 ноября 2013

PanBI имеет модуль SVN, который предоставляет интерфейс OLAP для журнала SVN: http://sourceforge.net/projects/panbi/

Он генерирует svn.sql со всем вашим журналом. Вы можете использовать sql, чтобы получить доступ к любой базе данных, которую вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...