svn log filename
将显示所有犯了filename
相关消息。输出将类似于以下内容:
------------------------------------------------------------------------
r1206 | kalebp | 2010-03-10 16:48:12 -0800 (Wed, 10 Mar 2010) | 1 line
Introduce a TranslatorFacade. Make the jar runnable by default.
------------------------------------------------------------------------
r1085 | kalebp | 2010-03-02 17:10:28 -0800 (Wed, 04 Nov 2009) | 1 line
Annotation checker now supports complete definitions and named parameters
------------------------------------------------------------------------
...
如果你不想之前的分支信息或复制存在--stop-on-copy
选项,您可以添加。见svn help log
更多的信息,比如如何指定日期范围等
编辑:
您可以轻松地通过使用svn log -r{20100101}:{20100331}
日期范围抢。我不喜欢调用日志更改文件的想法,因此我建议使用-v
标志来获取提交中更改的文件列表。
这里的,我会在使用的过程:
svn log -r{20100101}:{20100331} -v --xml | xsltproc formatter.xsl -
而这里的formatter.xsl:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xsd"
version="1.0"
>
<xsl:output method="text" indent="no" />
<xsl:key name="paths-key" match="/log/logentry/paths" use="path" />
<xsl:template match="log/logentry">
<xsl:for-each select="paths/path[count(. | key('paths-key', paths/path)[1]) = 1]">
<xsl:sort select="text()"/>
-- <xsl:value-of select="text()" />
<xsl:for-each select="key('paths-key', .)/preceding-sibling::date">
<xsl:sort select="translate(text(), '-:.T','')"/>
<xsl:variable name="selectedDate" select="text()"/>
<xsl:value-of select="translate($selectedDate, 'T', ' ')"/><xsl:text>
</xsl:text>
<xsl:for-each select="following-sibling::msg">
* <xsl:variable name="msg" select="text()"/>
<xsl:variable name="date" select="preceding-sibling::date/text()"/>
<xsl:if test="$selectedDate = $date">
<xsl:text> </xsl:text>
<xsl:value-of select="$msg"/>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
足够接近,我正在修改你的xslt。谢谢 – davidosomething 2010-03-18 04:30:27