Список всех файлов, измененных определенным пользователем в подрывной деятельности
Можно ли получить список всех файлов, измененных/добавленных/удаленных определенным пользователем?
Цель состоит в том, чтобы получить представление о том, что пользователь сделал для дня (или диапазона дат).
Ответы
Ответ 1
Вот пример, используя команду svn log и команда linux sed, с вашим именем пользователя, 'blankman':
svn log | sed -n '/blankman/,/-----$/ p'
Если вы хотите получить эту информацию с постоянными отчетами, используя проект, например StatSVN, который, по словам Патрика, очень полезен, Если вы используете Maven, существует плагин StatSCM, который будет генерировать эту информацию на вашем сайте проекта.
Ответ 2
Не нужно беспокоиться о grep
, sed
и т.д., начиная с Subversion 1.8. В выпуске представлен параметр --search
, который можно использовать с командой svn log
!
Параметры позволяют выполнять поиск в истории вашего репозитория для:
- автор версии (
svn:author
неверсифицированное свойство),
- date (
svn:date
неверсированное свойство),
- текст сообщения журнала (
svn:log
неверсированное свойство),
- и пути, на которые влияет конкретная ревизия.
Смотрите SVNBook 1.8 | svn log
ссылка в командной строке.
Ответ 3
Ответ на Shek помог мне в том, что мне нужно было сделать, но я обнаружил, что получил более точные результаты со следующей настройкой:
svn log | sed -n '/ | blankman | /,/-----$/ p'
В противном случае список включает в себя фиксации, сделанные другими, которые просто ссылаются на меня по имени.
Ответ 4
Почему бы просто не использовать черепаху SVN?
Totoise SVN → Показать журнал
Добавьте идентификатор пользователя в левом верхнем углу, для которого вы хотели бы видеть список изменений
Ответ 5
Это работает для меня:
svn log | grep YOUR_USERNAME_HERE | awk '{print $1}' | sed s/r//g | xargs -I $ svn diff --summarize -c $ | sort | uniq
Ответ 6
Да. Мы используем StatSVN для наших отчетов о подрывной деятельности, и один из отчетов, которые он делает, коммитирует разработчик.
TortiseSVN также позволяет просматривать сообщения журнала по дате для авторов.
Ответ 7
Вот версия диапазона дат
svn log -v -r { "2011-01-01 00:00:00" }: { "2011-02-18 00:00:00" } | sed -n '/russenreaktor/,/----- $/p'
Ответ 8
Я нашел эту полезную команду для поиска списка модифицированных файлов данным пользователем:
svn log -v -r{2012-08-01}:HEAD
| awk '/^r[0-9]+ / {user=$3} /./ {if (user=="username") {print}}'
| grep -E "^ M|^ G|^ A|^ D|^ C|^ U"
| awk '{print $2}'
| sort | uniq
И ссылка на исходную статью.
Ответ 9
Здесь маленький script, чтобы показать, какие файлы были изменены определенным пользователем между версиями.
#!/bin/bash
# @param $1: Start revision
# @param $2: End revision
# @param $3: User
#
# Example: svn_scapegoat.sh 1000:HEAD jdoe
svn_changed()
{
svn blame --revision $1:$2 -- $4 | grep -E "^ [0-9]* *${3} "
}
svn diff --revision $1:$2 --summarize | \
cut -c9- | \
while read path
do
if [ -n "$(svn_changed $1 $2 $3 $path)" ]
then
echo "$3 changed $path"
else
echo "Someone else changed $path"
fi
done
Ответ 10
Чтобы просмотреть список всех файлов, измененных конкретным пользователем в subversion для конкретной структуры каталогов, сначала вам нужно перейти к той структуре каталогов, а в правой части панели каталога щелкните правой кнопкой мыши.
тогда,
перейдите в Show Log → в самый верхний левый угол, мы получим опцию фильтра.
отныне, поместив имя пользователя, вы можете увидеть все файлы, измененные этим конкретным пользователем в нижней панели.