源文件中的SVN注释

源文件中的SVN注释,svn,tortoisesvn,Svn,Tortoisesvn,是否有任何条款可以解析源文件中的svn注释和日期…提前感谢您的想法您有不同的选项(awk、xml解析器)来解析svn日志:请参阅“” 您有一个使用--xml选项的Perl脚本(带有svn info,但您可以将相同的想法应用到svn log)和库。阅读这里的其他答案和您的注释,它看起来就像您在提交期间试图修改源文件。这是积极劝阻的;查看哪个有一个大的红色警告框,该框表示: 虽然钩子脚本几乎可以做任何事情,但其中只有一个维度 哪些钩子脚本作者应该显示约束:不要修改 使用钩子脚本提交事务。虽然这可能会

是否有任何条款可以解析源文件中的svn注释和日期…提前感谢您的想法

您有不同的选项(awk、xml解析器)来解析svn日志:请参阅“”


您有一个使用--xml选项的Perl脚本(带有
svn info
,但您可以将相同的想法应用到
svn log
)和库。

阅读这里的其他答案和您的注释,它看起来就像您在提交期间试图修改源文件。这是积极劝阻的;查看哪个有一个大的红色警告框,该框表示:

虽然钩子脚本几乎可以做任何事情,但其中只有一个维度 哪些钩子脚本作者应该显示约束:不要修改 使用钩子脚本提交事务。虽然这可能会吸引你 使用钩子脚本自动更正错误、缺点或错误 正在提交的文件中存在策略冲突,这样做可能会导致 造成问题Subversion保留客户端缓存的特定数据位 存储库数据,如果以这种方式更改提交事务, 那些储藏室变得陈旧得无法察觉。这种不一致可能导致 令人惊讶和意外的行为。而不是修改 事务,您只需在 预提交钩子,如果提交不符合要求,则拒绝提交 要求。作为奖励,您的用户将了解谨慎的价值, 遵从性强的工作习惯

然而,听起来你真正想看的是svn:关键字。这些允许您在提交时将元数据嵌入到文件中。唯一不能做的就是嵌入提交日志消息

实际上,这意味着您将删除包含以下内容的行:

$Id$

在源文件中,然后将属性
svn:keywords
的值设置为该文件的
Id
,svn将在提交时自动展开它。还有其他一些特殊的关键词;有关如何使用这些文件的所有详细信息,请参阅。

我不明白您的意思。实际上,我需要将svn注释或日志消息连同日期一起解析。当任何cpp文件被修改时,在提交期间,将其解析到特定的cpp文件本身,有什么想法吗?听起来您想阅读Subversion中执行的每个“提交”操作,并从中读取提交文件的名称,以及提交完成的日期时间。这是正确的吗?很抱歉,我想在文件的更改区域(输入的注释、日期和时间、SVN ID)中添加SVN注释和以下详细信息。实际上,当修改任何cpp文件时,我需要将SVN注释或日志消息连同日期、作者姓名、SVN ID解析到该特定cpp文件(靠近修改的行)提交期间,有什么想法吗?我想在文件的修改区域添加svn注释、id、日期、作者姓名,这种情况可能吗?是:请参阅我答案中关于
svn:keywords
的讨论,这应该可以回答这个问题。如果没有,并且您已经查看了我链接到的SVN手册,请告诉我您不了解的内容。是的,我可以理解,但是每次在服务器端修改和提交文件时,这些内容都应该自动跟踪到文件中,并应在客户端(在文件的修改区域)显示它们它就是这样做的。提交时,SVN会自动展开关键字,使
$Id$
在源文件中变成
$Id:calc.c 148 2006-07-28 21:30:43Z sally$
(通常放在文件头)。不,您不能用这些自动为文件中的每一个修改添加前缀。但是用户可以使用
svn log
svn diff
查看实际的更改。SVN为您提供了所有工具,因此我无法看到问题所在。你需要解释为什么你要达到你的要求:除非我们知道全部情况,否则你不会得到更好的答案。实际上这是我的项目工作。确切地说,我应该在修改文件的更改区域跟踪他们…感谢帮助