5

提前道歉,这是我真的认为我可以在网上找到的东西,但我遇到了麻烦。

在 Python 中,在标题部分,我看到有时人们会用美元符号 ( $ ) 包装他们的文字。从示例来看,似乎这是一个用于填写自动更新信息的指针(可能是通过源代码管理?),但我不明白它是如何工作的。

例如:

__version__ = '$Revision: 4799 $'.split()[1]
__date__ = '$Date: 2006-09-25 11:09:02 -0400 (Mon, 25 Sep 2006) $'.split()[1]
__author__ = 'John Doe FIX: put in the authors name'

是我在( Python 示例文档模板 )中找到的一个示例。所以 $ 包裹在版本(会随着时间而改变)和日期(也会改变)周围。假设它是某种指针,可以始终捕获有关版本、日期等的最新信息,有人可以指出它是如何工作的吗?哪个源代码控制软件使用这种语法?跨语言是一样的吗?

谢谢!

4

4 回答 4

3

这不是 Python 特有的,它是源代码控制系统使用的东西,可以追溯到 RCS 和 CVS。

有关 CVS 语法的列表,请参阅CVS 关键字。虽然现在很少有人使用 CVS,但人们确实使用的许多源代码控制系统(最值得注意的是,颠覆)处理 CVS 语法或它的轻微变体。(而且有些人还创建了在构建时而不是签入时执行类似替换的构建脚本。)

于 2013-04-12T23:46:59.713 回答
2

这是subversion 的关键字替换(最初是 CVS)的结果。是的,它适用于所有文件,而不仅仅是 python 源代码。

于 2013-04-12T23:45:45.483 回答
1

这称为“关键字替换”,这种想法的变体在许多版本控制系统中实现,例如 RCS、CVS 和 Subversion。鉴于此,您现在可以轻松地在网络上搜索详细信息。

于 2013-04-12T23:46:00.003 回答
1

它不是特定于 python 的。

一些版本控制系统(至少是 RCS、CVS 和 SVN)使用这些特殊变量自动插入文件的修订号和最后修改日期。

于 2013-04-12T23:46:04.690 回答