Первое, что вы хотите сделать, будет трудно. Обычно я бы предложил использовать svn diff или svn cat, но (насколько я знаю) нет способа получить номер ревизии в соответствии с выводом кода.
По второму вопросу, если вы ищете конкретного пользователя, вы можете использовать
svn log | grep -A 2 username
, который даст вам две дополнительные строки после каждой совпавшей строки (-A = "after"). Если у вас нет очень длинных сообщений журнала, вы можете использовать
svn log | grep -B 2 search_string
, который аналогичным образом будет печатать две строки перед (-B) каждой совпавшей строкой. (Надеюсь, этого будет достаточно, чтобы дать вам номер редакции.) Я абсолютно уверен, что с AWK есть лучший способ дать вам номера редакций в соответствии с сообщениями журнала, но я устал и не могу думать об этом прямо сейчас. : D