Какие отчеты доступны для SVN? - PullRequest
6 голосов
/ 21 января 2009

Мы находимся в процессе перехода на SVN.

К сожалению для нас, мы периодически проводим аудит, где аудиторам требуется такая информация, как:
Истории изменений в файлах
История доступа к SVN
Добавлены новые файлы
Изменения в файлах

Есть ли инструмент, который может создавать эти отчеты для нас (или некоторые из них)?

Ответы [ 10 ]

6 голосов
/ 22 января 2009

StatSVN - генератор отчетов о подрывной деятельности. http://www.statsvn.org/

  1. сначала создать подробный файл журнала - svn log

  2. run StatSVN, это один файл jar.

StatSVN предоставляет список метрик:

  • какой файл изменяется чаще всего
  • сколько строк добавлено
  • кто вносит свой вклад
4 голосов
/ 21 января 2009

Trac (http://trac.edgewall.com) может использоваться для просмотра деталей SVN. Trac имеет приятные функции, такие как просмотр наборов изменений, который позволяет просматривать различные наборы изменений (и переходить назад или вперед через них). Он также представляет приятный интерфейс , намного лучше, чем ViewVC (www.viewvc.org)

2 голосов
/ 21 января 2009

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

  • История изменений в конкретном файле / каталоге: svn log /your/path предоставляет вам различия в исходном коде, авторов, даты регистрации и т. Д.
  • Добавлены новые файлы: svnlook changed -r <rev> <path to repository> дает вам все файлы, которые были затронуты в данной ревизии. Обведите все соответствующие ревизии, и grep для «A», который обозначает добавленные файлы.
  • Изменения в файлах: svn diff -r <first rev>:<last rev> <path> дает вам разницу для всего диапазона ревизий
  • История доступа к SVN: очевидно, что SVN ведет журнал всех проверок (см. svn log). Что касается доступа к чтению, я не знаю встроенного механизма, однако вы, вероятно, можете создать свой собственный без особых усилий, в зависимости от конфигурации. Если вы разрешаете только http-доступ, вы можете использовать файлы журнала веб-сервера.

Это не красиво, но вывод SVN очень структурирован, так что вы можете легко выполнить собственное форматирование.

2 голосов
/ 21 января 2009

Вы можете получить всю эту информацию только через журналы изменений SVN. Возможно, вы захотите рассмотреть хороший инструмент, такой как Рыбий глаз , чтобы сделать его для вас.

2 голосов
/ 21 января 2009

svn log - это основная команда для получения информации, связанной с файлом, которую вы ищете ...

1 голос
/ 22 января 2009

Вот некоторые из них, которые я использовал ранее, чтобы взглянуть на отчеты об изменениях активности и тенденции. Фильтрация не идеальна, но вы можете понять:

set REPO_URL=svn://localhost/...
set REVISION_START=1
set REVISION_END=HEAD 
set COMMAND=svn log %REPO_URL% -v -g -r %REVISION_START%:%REVISION_END% 
set REG_EXPRESSION="^...[ACDIMRX].\/"

Затронутые элементы конфигурации:

%COMMAND% | find /c "/"

Изменения:

%COMMAND% | find /c "Changed paths"

Список уникальных файлов, которые были затронуты в указанном диапазоне ревизий (у меня был установлен cygwin):

%COMMAND% | findstr /r %REG_EXPRESSION% | sort | uniq -u
0 голосов
/ 02 февраля 2017

Этот вопрос также немного устарел, но я создал скрипт, который может быть полезен для простой отчетности / аудита Subversion и для отслеживания изменений, внесенных в репозиторий SVN, и я хотел поделиться им. Извлекает Информация о SVN фиксируется аналогично команде "svnlook", но у нее есть пара преимуществ. Во-первых, он позволяет перебирать все ревизии репозитория, чтобы отслеживать все сделанные изменения. Во-вторых, информация печатается в табличном формате, разделенном табуляцией (как в командах Unix, таких как ps или df), который удобен для чтения человеком и его легко анализировать или импортировать в электронную таблицу, которая отлично подходит для создания отчетов. Это также можно назвать или встроен в зацепку SVN после фиксации.

Это Perl-скрипт с именем svn-commit-info.pl, который принимает три аргумента. Первый путь к хранилищу и это обязательно. Второй, необязательный, шаблон файла для поиска. И третий, также необязательный, является номер редакции для запроса.

Если выполняется только с путем к хранилищу, он выводит в STDOUT информацию о файлах, затронутых всеми коммиты сделанные в репозитории. Например, если хранилище хранится в / svn / repos / test в Сервер Subversion:

$ perl svn-commit-info.pl /svn/repos/test
# Repository: /svn/repos/test
# Fields: Action, Revision, Date, Author, Bytes, Path
# Actions: A = New, D = Deleted, U = Updated
A    1     2017-01-31 17:21:19     Samsa     <DIR>    TestProject/
A    2     2017-01-31 17:21:33     Samsa       815    TestProject/.project
A    2     2017-01-31 17:21:33     Samsa     <DIR>    TestProject/.settings/
A    2     2017-01-31 17:21:33     Samsa       564    TestProject/.settings/.jsdtscope
A    2     2017-01-31 17:21:33     Samsa     <DIR>    TestProject/www/
A    3     2017-01-31 17:27:48     David       355    TestProject/www/test.html
A    3     2017-01-31 17:27:48     David     <DIR>    TestProject/www/css/
A    3     2017-01-31 17:27:48     David      9622    TestProject/www/css/logo.jpg
A    3     2017-01-31 17:27:48     David      1231    TestProject/www/css/reportstyle.css
A    3     2017-01-31 17:27:48     David    168345    TestProject/www/css/style.css
U    4     2017-02-01 10:48:34     Samsa    183260    TestProject/www/css/style.css
D    5     2017-02-01 12:51:26     David       355    TestProject/www/test.html            

Поля, разделенные табуляцией: выполняемая операция, номер редакции, дата и время, автор редакции, размер файла в байтах (если файл не является каталогом, помеченным строкой "

0 голосов
/ 22 января 2009

Чтобы увидеть фактический доступ к SVN, вам нужно проанализировать логи сервера Apache (при условии, что вы обслуживаете SVN поверх Apache).

0 голосов
/ 21 января 2009

Эта программа может помочь вам не с проверками, а с обновлениями

http://www.svnmonitor.com/default.shtml

  • Мониторинг источника для определенных событий
  • Получать уведомления любого типа (всплывающие подсказки, значки в трее, электронная почта, звуки, ...), когда происходят определенные события
0 голосов
/ 21 января 2009

Взгляните на кодсага . Это делает хорошую работу по визуализации коммитов контроля версий. Я не могу поручиться за отчетную часть.

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