我想将 SVN 分支中的线路更改数量加起来,这样我就可以知道我在项目期间从另一方走了多远,并估计了当我将它与主干合并时发生冲突的概率。
我能想到的方法是获取统一的差异并做一些 grep|wc -l hack,但问题是很难区分不同的文件类型,例如前端源文件(.css、.html)和后端源文件(.xml、.java)
我想将 SVN 分支中的线路更改数量加起来,这样我就可以知道我在项目期间从另一方走了多远,并估计了当我将它与主干合并时发生冲突的概率。
我能想到的方法是获取统一的差异并做一些 grep|wc -l hack,但问题是很难区分不同的文件类型,例如前端源文件(.css、.html)和后端源文件(.xml、.java)
将 beginRev 作为您要测量的变更集的初始修订,将 endRev 作为最终修订:
svn diff --summarize -rbeginRev:endRev <URLtoBranch>
这将为您提供添加、删除和修改的文件的输出。
我你想要更多的细节级别,你可以通过以下方式解析 svn diff 输出diffstat
:
svn diff -rbeginRev:endRev <URLtoBranch> | diffstat
这将返回带有每个文件信息的更改直方图,以及更改的文件、添加和删除的行的摘要。
StatSVN可能是您正在寻找的。我曾经短暂地使用过它,它似乎很适合给开发者反馈。我不确定它是否会为您提供所需的确切信息,但可能值得快速查看。