Microsoft Office中的SVN修订版
我在MS Powerpoint 2003中有一些代码文档,它们在SVN存储库中进行版本控制。每当我打开文件时,我都希望将最新的修订版本号自动插入该文件中。我正在使用TortoiseSVN。我已经能够用Google搜索一个或者两个可能起作用的宏,但需要专家的建议。 :) 谢谢!
解决方案
回答
我认为应该可以在Office 2007 XML格式中使用$ Rev $宏,但是我不太确定可能包含二进制数据的旧格式会发生什么。我们可能需要稍微调整svn设置,以使其将.ppt文件视为文本而不是二进制文件,才能正常工作,我不确定默认行为是什么。参见svn:mime-type:http://svnbook.red-bean.com/en/1.2/svn.advanced.props.html
阅读此书以获取有关$ Rev $更换的详细信息:http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html
回答
我相信SVN不会接触二进制文件,而且如果在其中嵌入$ REV $字符串,可能会损坏某些文件。
我对" Office Macros"也一无所知,但它可能比
- 有一个带有该修订字符串的文本文件。
- 在保存之前,将Office宏将先前的修订字符串(为安全起见,不带$ REV $)复制到Office文件中。
- 具有与每次保存文件时将随机垃圾注入文本文件#1相同的Office-macro。
更好的IMO将rev字符串写入/ save /上的文档中,因为这样就无需为了将修订字符串放入文件而进行额外的提交,并且在事件发生时还可以减少对该修订文件的依赖性我们共享此PPT,而没有上述文本文件。
回答
如果我们想对二进制文件(例如.doc)使用"关键字扩展",则必须使用以下格式:
$ keyword :: ______________________ $(下划线=空格)
::确保字符数始终相同,否则将破坏二进制字文件。
但这仅在Word 2003之前有效。
这不适用于Word 2007,因为.docx文件是包含文字数据(例如xml)的ZIP文件。但是将某些内容直接嵌入ZIP内容中没有任何意义。
也许将来会有SVN贡献,它也可以解决.docx文件;-)