Subversion的屬性是非常好用的功能,它將一些工作自動(dòng)化,實(shí)現(xiàn)為受版本控制的源文件添加元信息的作用。屬性是外部不可見(jiàn)的,可以簡(jiǎn)單認(rèn)為是附加上在文件上的信息,和文件大小之類的信息是一樣的,只不過(guò)他是通過(guò)subversion來(lái)管理的。屬性的名稱和值可以是你希望的任何值,限制就是名稱必須是可讀的文本,并且最好的一點(diǎn)是這些屬性也是版本化的,就像你的文本文件內(nèi)容,你可以像提交文本修改一樣修改、提交和恢復(fù)屬性修改,當(dāng)你更新時(shí)也會(huì)接收到別人的屬性修改—你不必為適應(yīng)屬性改變你的工作流程。
Subversion保留了一組名稱以svn:
開(kāi)頭的屬性,來(lái)預(yù)定義一些有用的功能。比如你常會(huì)看到一些人的源代碼底部有像下面之類標(biāo)識(shí)的文字:
$Id: main_window.py 68 2008-06-30 02:05:05Z Len $
這就使用了Subversion 中的 svn:keywords的自動(dòng)屬性,它讓將發(fā)生在源代碼中的一些屬性的變化自動(dòng)地更新到源代碼中。這行字的意思是表示,main_windows.py 這個(gè)源代碼文件最后被用戶 len 更新于 2008-6-30 02:05:05Z,修訂版本號(hào)為 68。要實(shí)現(xiàn)這樣的自動(dòng)更新,你只要對(duì)需要這樣屬性的文件上使用下面這行指令。
> svn propset svn:keywords "Id" main_window.py
或者使用TortoiseSVN中的Properties的操作按鈕,方便地增加新的屬性。接著需要在源代碼文件中需要 Subversion 進(jìn)行自動(dòng)更新的地方插入 $Id$ 這樣的 Keyword,那么在你下次進(jìn)行提交更新時(shí),該$Id$
就會(huì)被 Subversion 自動(dòng)替換為$Id: main_window.py 68 2008-06-30 02:05:05Z Len $
這樣的格式。
Subversion 中可以使用的Keyword 包括下面這些:
- Id
上面介紹過(guò)的綜合的格式
- LastChangedDate
最后被修改的時(shí)間,縮寫為 Date。
- LastChangedBy
最后修改該源代碼文件的用戶名,縮寫為 Author。
- LastChangedRevision
最后修訂的版本號(hào),縮寫為 Revision。
如果想每次向Subversion服務(wù)器提交文件修改時(shí),都要設(shè)置文件的屬性,則需要進(jìn)行Subversion配置的修改。配置文件在你用戶的主目錄下,在Windows下應(yīng)類似于C:\Documents and Settings\Len\Application Data\Subversion\config
文件,Len是Windows用戶名,注意Application Data是隱藏文件夾,需要顯示全部文件才能看到。接著如下相應(yīng)的修改,對(duì)你想要處理的文件做配置。
enable-auto-props = yes
[auto-props]
*.c = svn:keywords=Id
*.py = svn:keywords=Id
對(duì)于開(kāi)源項(xiàng)目,常見(jiàn)其源文件頭部有著版權(quán)聲明的文本,這些操作大多也是通Subversion的屬性功能來(lái)完成的,有關(guān)更詳細(xì)的介紹和操作指南,可參見(jiàn)Subversion中文手冊(cè)中的屬性章節(jié)。
posted on 2008-06-30 12:06
len 閱讀(1861)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
IT技術(shù)