Можно ли получить список всех файлов, измененных/добавленных/удаленных определенным пользователем?
Цель состоит в том, чтобы получить представление о том, что пользователь сделал для дня (или диапазона дат).
Можно ли получить список всех файлов, измененных/добавленных/удаленных определенным пользователем?
Цель состоит в том, чтобы получить представление о том, что пользователь сделал для дня (или диапазона дат).
Вот пример, используя команду svn log и команда linux sed, с вашим именем пользователя, 'blankman':
svn log | sed -n '/blankman/,/-----$/ p'
Если вы хотите получить эту информацию с постоянными отчетами, используя проект, например StatSVN, который, по словам Патрика, очень полезен, Если вы используете Maven, существует плагин StatSCM, который будет генерировать эту информацию на вашем сайте проекта.
Не нужно беспокоиться о grep
, sed
и т.д., начиная с Subversion 1.8. В выпуске представлен параметр --search
, который можно использовать с командой svn log
!
Параметры позволяют выполнять поиск в истории вашего репозитория для:
svn:author
неверсифицированное свойство),svn:date
неверсированное свойство),svn:log
неверсированное свойство),Ответ на Shek помог мне в том, что мне нужно было сделать, но я обнаружил, что получил более точные результаты со следующей настройкой:
svn log | sed -n '/ | blankman | /,/-----$/ p'
В противном случае список включает в себя фиксации, сделанные другими, которые просто ссылаются на меня по имени.
Почему бы просто не использовать черепаху SVN?
Totoise SVN → Показать журнал Добавьте идентификатор пользователя в левом верхнем углу, для которого вы хотели бы видеть список изменений
Это работает для меня:
svn log | grep YOUR_USERNAME_HERE | awk '{print $1}' | sed s/r//g | xargs -I $ svn diff --summarize -c $ | sort | uniq
Да. Мы используем StatSVN для наших отчетов о подрывной деятельности, и один из отчетов, которые он делает, коммитирует разработчик.
TortiseSVN также позволяет просматривать сообщения журнала по дате для авторов.
Вот версия диапазона дат
svn log -v -r { "2011-01-01 00:00:00" }: { "2011-02-18 00:00:00" } | sed -n '/russenreaktor/,/----- $/p'
Я нашел эту полезную команду для поиска списка модифицированных файлов данным пользователем:
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
И ссылка на исходную статью.
Здесь маленький 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
Чтобы просмотреть список всех файлов, измененных конкретным пользователем в subversion для конкретной структуры каталогов, сначала вам нужно перейти к той структуре каталогов, а в правой части панели каталога щелкните правой кнопкой мыши. тогда, перейдите в Show Log → в самый верхний левый угол, мы получим опцию фильтра.
отныне, поместив имя пользователя, вы можете увидеть все файлы, измененные этим конкретным пользователем в нижней панели.