在SVN消息中嵌入XML(注释)

在SVN消息中嵌入XML(注释),svn,tortoisesvn,Svn,Tortoisesvn,我想在签入文件时将一些XML标记嵌入到-m字段中。我们正在自动将文件提交到SVN。我想在-m字段中嵌入一些额外的信息,这样当我执行“svnlog--xml”时,我就可以轻松地取出我的信息。当我尝试这个的时候 -m "<XYZ> <UserId> 1234 </UserId> </BLM>" -m“1234” 生成的XML文件具有以下内容 XYZ UserId1234/UserId/XYZ 显然SVN在为我着想 当我使用乌龟查看日志消息时,它显

我想在签入文件时将一些XML标记嵌入到-m字段中。我们正在自动将文件提交到SVN。我想在-m字段中嵌入一些额外的信息,这样当我执行“svnlog--xml”时,我就可以轻松地取出我的信息。当我尝试这个的时候

-m "<XYZ> <UserId> 1234 </UserId> </BLM>"
-m“1234”
生成的XML文件具有以下内容

XYZ UserId1234/UserId/XYZ

显然SVN在为我着想

当我使用乌龟查看日志消息时,它显示正确

这个“问题”的另一部分是我们不能使用SharpSVN,因为它是GNU许可的。我们不能使用SVNCOM,因为它是GNU许可的。我尝试了libGit2,但它无法完成单元测试。我们在开发中使用乌龟,但在我们正在创造的产品中却没有

我们正在创建带有几个SVN语句的简单批处理文件,并执行它们。在大多数情况下,这是可行的


谢谢你的建议。

我认为乌龟在这里的行为是正确的。它在内部将您的字符转换为HTML实体,并在您以Tortoise查看时正确地将它们转换回,但从命令行您无法获得转换。尝试通过诸如Recode()之类的转换器工具管道化输出


这应该可以满足您的需要。

感谢您的快速响应,但似乎recode是在GNU下获得许可的,所以对于我尝试过的其他工具,它是禁止使用的。但我认为你为我指明了正确的方向,只需制作一个程序,将和交换为<>。然后,在下一个工具中,该文件将看起来像普通的XML。事实证明,XMLTextReader将为我将这些字符转换为“XML”。然后我可以将该字符串发送到新的XmlReader并遍历节点。
$ svn log --xml | recode html..ascii