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

svn diff -r16369:HEAD --summarize

Выше списка команд все файлы, которые изменены ч / б две ревизии.

Но могу ли я найти все, что изменилось выше версии r16369 пользователем 'sherkhan'?

1 ответ

Решение

Используйте функцию поиска журнала:

svn log -r16369:HEAD --search sherkhan -v

Это может найти ревизии, где sherkhan упоминается в журнале, а не просто коммиттер.

Но вы могли бы написать скрипт для фильтрации, если вы действительно этого хотите. Или вы могли бы использовать --xml и напиши xslt. Или вы можете использовать привязки, чтобы написать программу для поиска.

Я думаю, что вы хотите, зависит от того, как часто вы собираетесь использовать это и каковы ваши цели. Но это должно по крайней мере, чтобы вы начали.

Пример XSLT

Черт возьми, я пошел вперед и создал пример XSLT

Со следующим в user-change-paths.xslt:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="user"/>
<xsl:output method="text" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:for-each select="log/logentry">
<xsl:if test="author=$user">
<xsl:for-each select="paths/path">
<xsl:value-of select="." /><xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Затем выполните следующую команду:

svn log -r16369:HEAD --search sherkhan -v --xml | xsltproc --stringparam user sherkhan user-changed-paths.xslt - | sort -u

Другие вопросы по тегам