CVS 中的 $Revision$ 显示文件的版本,它基于修改计数。
这很方便,因为修改次数可以作为“Build Number”,对于每个文件,这个数字本身就反映了一个文件的“成长寿命”。
但是在SVN中,版本是关于整个仓库的,对文件的任何修改都是对整个仓库的“原子操作”,所以如果仓库版本是342912,并且创建了一个新文件,那么那个文件就有一个开始修订号 342912,而不是更直观的 1。
您始终可以通过以下方式获取修改计数
FILE_BUILD_NUMBER = `svn log -q FILE | grep r | wc -l`
但这效率不高,而且相当耗时。它应该很容易在 subversion 中实现,只需在存储库中添加一个 modified-count 字段,并在每次提交文件时递增。那么,这个功能已经实现了吗?是否有 svn:keyword 来扩展它?