4
|
Craig McQueen Dr. Watson · 技术社区 · 15 年前 |
![]() |
1
3
第一: Embedded Version Numbers - Good or Evil? 我发现他们很邪恶。 您不应该使用技术内部版本号来表示文档的版本。 “这是我的Word文档的2.2修订版”与“这是我的Word文档的1567修订版”不同。
另外,如果用当前修订号修改文档,则仍需要提交,这意味着存储的版本将位于修订号中。
不同的
而不是宏更新的。
有人说…关于更新Office文档属性的更一般问题: 那个线程 update word 2003 fields automatically 建议使用Office API。 Microsoft.Office.Interop 不允许修改属性,但VBA API允许您访问要为给定属性设置的任何自定义属性 SmartTag . 本文“ To add a smart tag with a custom recognizer to a Word document “给出了一个智能标记自定义行为的示例。 智能标记是带有附加类型信息的文本字符串;当匹配条件的文本字符串出现在文档中时,将识别该字符串,并且用户能够执行适合该类型字符串的操作。 因此,可以想象一个智能标记能够识别字符串“Revision for this document”,其自定义行为为“I will query the right revision number to SVN and display it” |
![]() |
2
1
|
![]() |
3
1
我们实际上使用了一个类似的“系统”(由一个前学院创建),解决了一些问题。 欲望…
解决方案 我们不使用SVN版本号,而是使用“人类”版本号来修改文档。为了确保我们没有多个版本具有相同的版本号浮动在数字周围,每当文档被修改时都会自动更新,也就是说,将有几个从未发布的“修订”…我猜这并不完美… 半技术细节…
结果 打印文件中有修订号的系统:
|
![]() |
4
0
如果将Word文档保存为.xml(所谓的平面opc格式),会怎么样? 然后它只是一个文本文档,SVN关键字应该可以正常工作。 |
![]() |
5
0
VONC的回答让我确信,DocOpen不是更新文档属性的正确时机。例如,如果文件通过电子邮件发送给其他人,或复制CD,或“导出”,则在打开时无法更新其SVN版本。很难确保文件永远不会包含错误的过期版本号。因此,要“正确”执行此操作,应在SVN签出/更新时更新文件的修订号。 我相信对于文本文件中的SVN关键字,客户机会对文件进行“篡改”,在签出时更新它,并在提交之前返回到“规范”表单。因此,换句话说,使用客户端钩子来做同样的事情是非常好的。 TortoiseSVN has client-side hooks, 但我不认为其他SVN客户会这么做。在我的工作中,我们几乎总是使用Tortoissesvn,这样可以很好地工作。 所以我想写两个Tortoissesvn客户端钩子: 1)发布更新挂钩,插入包含文件相关提交SVN修订的“SVNRevision”文档属性。 2)预提交钩子以删除“svrevision”文档属性。这使得存储库中存储的文件在非TortoissVn客户机签出时“干净”。(它还可以防止合并冲突?) 更新: 我刚刚意识到另一个问题:如果我这样做,那么SVN会认为文件已经更改。嗯,这似乎很困难。为了使特性正常工作,它确实需要与客户机进行相当紧密的集成。 |
![]() |
Eric · pip安装-e svn+ssh不接受用户 6 年前 |
|
Anu699 · 在git中管理多个项目的最佳方式是什么?[已关闭] 6 年前 |
![]() |
Dipu H · Viewvc未扩展关键字 6 年前 |
![]() |
NealWalters · SVNLook-存储库格式-语法不正确 6 年前 |
![]() |
m-mas · 尝试与svn重新同步trac时出错 6 年前 |
![]() |
Wombattle · 通过命令行在SVN中保留时间戳 6 年前 |