2009-02-23 62 views
8

我正在開發一個項目,在該項目中我們正在積極使用由subversion生成的$Id$字符串在文檔中編寫版本號。例如,我們解析此字符串

$Id: filename 999 2009-02-23 22:51:29Z author $ 

並在文檔標題頁中打印「999」。

但每一個現在,然後,提交後,信息被刪除,我們只剩下

$Id$ 

這顯然打破了東西一點點。有誰知道它爲什麼會發生?


好的,明顯的答案是正確的;沒有再爲該文件設置svn:keywords。但我發誓他們曾經是!任何想法如何/爲什麼svn:keywords將被從文件中清除,而沒有任何人有目的地發現/做任何事情?

回答

10

svn:keywords屬性可能無法在該文件上正確設置。您需要將其設置爲(至少)'Id':

svn ps svn:keywords 'Id' filename.txt 
+0

謝謝,我應該先檢查一下;關鍵字沒有像你懷疑的那樣爲這個文件設置 - 但我發誓他們曾經是! – 2009-02-23 23:21:42

+0

如果你正在運行命令行SVN客戶端,你可以在〜/ .subversion/config文件中設置這個東西的默認值。這個_may_也適用於TortoiseSVN,但不要在此引用我的意思。 – 2009-02-23 23:26:19

2

如果定義了'svn:keywords'屬性,則僅在結帳時擴展關鍵字。當使用像ViewSVN這樣的資源庫瀏覽工具時,它們不應該被擴展,即。它們顯示爲$ Id $。

+0

所以,如果我已經「丟失」 SVN的關鍵字(關鍵字設置,但它們還沒有被擴展),是否有擴展他們的方式我可以強制使用「Checkout」? – 2009-02-24 00:21:20

0

好的,明顯的答案是 正確; svn:關鍵字未被設置爲 那個文件。但我發誓他們曾經是 !任何想法如何/爲什麼 svn:關鍵字將被清除 從一個文件沒有任何人 注意/做任何事情 的目的?

的第一個原因,我能想到的是: 如果文件svn的添加,然後移動/第一承諾沒有應用自動屬性之前改名。

在這種情況下導致文件丟失屬性的錯誤將在Subversion 1.5.6和1.6.0中解決。

6

確保您的文件是UTF-8,而不是Unicode。因爲SVN認爲這些不是文本文件,所以統一編碼的字符串不會被擴展......我用記事本保存爲UTF-8來解決問題

相關問題