svn log -v -r{2009-11-1}:HEAD | awk '/^r[0-9]+ / {user=$3} /./{if (user=="george") {print}}' | grep -E "^ M|^ G|^ A|^ D|^ C|^ U" | awk '{print $2}' | sort | uniq
Эта команда выполняет следующие действия:
1. Извлекает журнал коммитов Subversion с подробной информацией (-v) с заданной даты (2009-11-1) до последнего коммита (HEAD).
2. Фильтрует вывод, оставляя только те строки, которые начинаются с «r» и содержат третий элемент (пользователь).
3. Проверяет, если пользователь равен «george», и печатает соответствующие строки.
4. Использует grep для фильтрации строк, которые начинаются с пробела и имеют префикс «M», «G», «A», «D», «C» или «U».
5. Использует awk для извлечения второго элемента (имя файла).
6. Использует sort для сортировки и uniq для удаления дубликатов файлов.
Альтернативой может быть использование других инструментов для работы с журналом коммитов Subversion, например, использование Subversion API вместо командной строки.
