Использование awk для svn log для получения списка файлов, совершенных определенным пользователем

Я нашел этот красивый маленький скрипт, который я сделал в сценарии bash.

#!/bin/bash
svn log -v -r{$1}:HEAD | awk '/^r[0-9]+/{user=$3} /./{if (user=="'$2'") {print}}' | grep -E "^   M|^   G|^   A|^   D|^   C|^   U" | awk '{print $2}' | sort | uniq

$1 = 2012-10-01 //for example
$2 = George //for example

Этот скрипт, похоже, работает, но его единственная распечатка завершается сундуком. Когда я выхожу из терминала, я вижу, что все транзакции не зависят от ветки.

До сих пор я сузил проблему до awk. Мы используем пробелы в именах папок для филиалов. Не уверен, что это может быть проблемой.

Является ли /./ в awk области проблемой?

До сих пор я получаю url из информации svn и помещаю его в переменную.

theURL=$(svn info | grep -E "^(URL: )http(s)?:")
theURL=${theURL:5}

Возможно, я могу сказать awk только распечатать строку, где строка соответствует части моей схемы url?

Благодаря,

1
nl ja de

1 ответы

svn log without path parameter uses default "." path (which must be and can be only Working Copy, in your case - linked to trunk of repo)

svn log URL at the same time can work with any part of tree for remote repository, unrelated to current setting of (some) WC.

Просто добавьте и используйте 3-й параметр

1
добавлено
на самом деле, svn log, дает мне все ветви и багажник.
добавлено автор developerdoug, источник
до сих пор я сузил его до awk, awk '/ ^ r [0-9] +/{user = $ 3} /./{if (user == "' $ 2 '") {print}}'. Мы используем пробелы в именах наших ветвей, которые, как мне кажется, вызывают проблему.
добавлено автор developerdoug, источник