Подтвердить что ты не робот

Список всех файлов, измененных определенным пользователем в подрывной деятельности

Можно ли получить список всех файлов, измененных/добавленных/удаленных определенным пользователем?

Цель состоит в том, чтобы получить представление о том, что пользователь сделал для дня (или диапазона дат).

4b9b3361

Ответ 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 → в самый верхний левый угол, мы получим опцию фильтра.

отныне, поместив имя пользователя, вы можете увидеть все файлы, измененные этим конкретным пользователем в нижней панели.