2013-08-02 75 views
0

我想嵌入一些XML標籤到-m場,當我在,我們會自動提交文件到SVN檢查文件。我想在-m字段中嵌入一些附加信息,這樣當我執行「svn log --xml」時,我可以輕鬆地將信息提取出來。當我嘗試這樣做嵌入XML在SVN消息(評論)

-m "<XYZ> <UserId> 1234 </UserId> </BLM>" 

生成的XML文件有這個代替

<msg>&lt;XYZ&gt; &lt;UserId&gt;1234&lt;/UserId&gt;&lt;/XYZ&gt;</msg>

因此很明顯,SVN在想我。

當我使用龜看它顯示正確的日誌信息。

這個「問題」的另一部分是,我們不能用SharpSVN,因爲它是GNU許可。我們不能使用SVNCOM,因爲它是GNU許可的。我嘗試了libGit2,但它不能完成單元測試。我們在開發中使用龜甲,但不在我們正在創建的產品中。

我們正在創造與上飛的幾個SVN語句簡單的批處理文件,並執行它們。大多數情況下,這一切都很好。

感謝您的任何建議。

回答

0

我認爲烏龜在這裏行爲正確。它將您的角色內部轉換爲HTML實體,並在您在Tortoise中查看它時正確地將其轉換回來,但是從命令行您不會獲得翻譯。嘗試管道通過翻譯工具的輸出,如重新編碼(http://recode.progiciels-bpi.ca/index.html

$ svn log --xml | recode html..ascii 

這應該得到你想要的東西。

+0

感謝您的快速反應,但它看起來像重新編碼是GNU的許可,以便與我試過工具的休息,這是禁區。但我認爲你已經指出了我的正確方向,只是制定了一個程序,將<和>轉換爲< >。然後該文件將看起來像正常的XML到下一個工具。 –

+0

事實證明,XMLTextReader會將這些字符轉換爲「XML」。然後我可以將該字符串發送到新的XmlReader並遍歷節點。 –