1

CVS 中的 $Revision$ 显示文件的版本,它基于修改计数。

这很方便,因为修改次数可以作为“Build Number”,对于每个文件,这个数字本身就反映了一个文件的“成长寿命”。

但是在SVN中,版本是关于整个仓库的,对文件的任何修改都是对整个仓库的“原子操作”,所以如果仓库版本是342912,并且创建了一个新文件,那么那个文件就有一个开始修订号 342912,而不是更直观的 1。

您始终可以通过以下方式获取修改计数

FILE_BUILD_NUMBER = `svn log -q FILE | grep r | wc -l`

但这效率不高,而且相当耗时。它应该很容易在 subversion 中实现,只需在存储库中添加一个 modified-count 字段,并在每次提交文件时递增。那么,这个功能已经实现了吗?是否有 svn:keyword 来扩展它?

4

2 回答 2

3

简短的回答:不。

于 2009-11-23T15:33:23.967 回答
1

不,这破坏了 SVN 存储库级别修订的想法。实际上,来自 Subversion 的修订号更有帮助,因为它为您提供了一个编号来识别整个存储库的状态,而不仅仅是那个文件。您只需要接受 (1) 转数并不总是以 1 递增,并且 (2) 转数不会从 1 开始。

(将 SVN rev 数字视为“时间戳”会有所帮助。)

于 2009-11-23T18:30:37.790 回答