Svn 从Subversion存储库中的多个签入获取更改的文本摘要

Svn 从Subversion存储库中的多个签入获取更改的文本摘要,svn,tortoisesvn,Svn,Tortoisesvn,让我先说一下,我对源代码管理相当陌生,所以这里可能会严重误用一些术语 我正在尝试获取多个签入的净结果的文本差异摘要。例如,对于签入Checkin1和Checkin2,我希望看到如下内容: 文件:\foo.txt已删除第75行 第64行,“再见”替换为“你好” 文件:\bar.txt删除了第30-50行 我对格式非常灵活-它必须是人类可以理解的,并且必须是一大块连续的文本,而不是一个交互式的UI,它将进入Word文档。我需要能够忽略空白更改,因为这些更改与我的输出无关 我一直在使用Tortoise

让我先说一下,我对源代码管理相当陌生,所以这里可能会严重误用一些术语

我正在尝试获取多个签入的净结果的文本差异摘要。例如,对于签入Checkin1和Checkin2,我希望看到如下内容:

文件:\foo.txt已删除第75行

第64行,“再见”替换为“你好”

文件:\bar.txt删除了第30-50行

我对格式非常灵活-它必须是人类可以理解的,并且必须是一大块连续的文本,而不是一个交互式的UI,它将进入Word文档。我需要能够忽略空白更改,因为这些更改与我的输出无关


我一直在使用TortoiseSVN,我所追求的看起来很像TortoiseSVN的show作为统一的diff功能而改变。然而,不幸的是,统一的diff并没有忽略空格的更改,因此我最终使用了巨大的diff。

有几个Subversion命令行命令,您可能会觉得很方便:

svn log -v
这将列出命令,当从存储库中添加或删除文件时,第一行将列出D和A

对于已修改的文件,可以使用以下命令:

svn diff -r($rev-1):$rev $fileName
这将列出标准diff格式的更改。这将为您提供行号以及这些行上的更改

没有现成的工具可以按照您想要的方式格式化内容,但是应该可以在几个小时内创建一个Perl或Python脚本


这似乎是一个不寻常的要求。开发人员可以轻松理解差异和日志的输出,因此这不适合开发人员。然而,那些不是开发人员的人不会理解Delete文件的qualityServiceBeanSkel.java并将float morphObjectScan更改为double morphObjectScan

这很有用-我可能会尝试编写一个脚本。要添加更多的信息-这不是真正的开发者;我正在跟踪XML模式的差异,这将最终成为国际标准的印刷版本。对标准文本的所有其他更改都在Word文档中跟踪,因此我们也必须有一种方法来跟踪其中的架构更改。我成功地使用了一个svn命令,并将我的子文件夹中的所有文件都包含在一个很好的列表中:svn diff-r129:131-x-ignore eol style C:\myrepos\*>C:\temp.txt