当您签出文件时, CVS 将关键字(如$Date$
)扩展为正确的值,而不是(您可能猜到)当您签入文件时。此外,不同版本的 CVS 以不同的样式扩展日期。在 CVS 1.12 之前,日期使用斜杠扩展,例如2007/06/25
. 从 CVS 1.12 开始,日期已用破折号扩展,例如2007-06-25
.
当您从 Subversion 签出文件时看到的日期格式是 Subversion 关键字扩展的结果。AFAIK Subversion 总是用破折号扩展新样式的日期。所以字符串看起来不同的原因是 Subversion 使用了不同的日期扩展样式,而不是因为这样cvs2svn
做。
当您指定 时--keywords-off
,cvs2svn
保留关键字在 CVS 中的扩展状态,即它们在签入时的形式。通常这意味着它们采用上次签出文件时的格式,即值反映文件的先前版本。这很少有用。
以您期望的格式获取日期字符串的唯一方法是扩展日期字符串本身并关闭cvs2svn
SVN 关键字扩展。另外,您必须配置使用“旧日期格式”进行扩展,可以通过调用(或通过编辑文件)来设置。但是,您可能希望在转换后重新启用关键字扩展,以便后续的 Subversion 修订版也扩展其关键字。因此,转换后,您必须在任何包含关键字的文件上设置属性,并且您还必须手动重新折叠关键字(例如,编辑回cvs2svn
_KeywordExpander.use_old_date_format()
cvs2svn_lib/keyword_expander.py
svn:keywords
$Date: 2007/06/25 16:56:59 $
$Date$
) 在这些文件中。总而言之,这将是相当棘手的配置,可能不值得付出努力。