svn屬性的妙用

svn屬性的妙用(svn:ignore)

1 svn屬性的妙用(svn:ignore)
  本貼地址:http://www.scmbbs.com/cn/svntp/2008/2/svntp19.php
我們常常用svn status命令來查看本地的文件修改情況,用svn import導進大批量文件,但通常情況下我們本地有許多不需要納入系統的文件,如編譯產生的.class文件.exe文件等。svn status打印的額外信息擾亂視聽;svn import可能會將無關文件錯誤導入庫中。
   怎麼解決這個問題呢?有一個簡單的辦法可以避免:設置目錄的svn:ignore屬性,指定你想要svn忽略的文件。

   假設我們在開發一個有關時間的庫,讓svn打印當前的狀態,我們可以看到:
bashs$ svn status project1/
?    project1/time.class
?    project1/time.java.bak
M    project1/time.java

這兒,我們可以看出改動了time.java文件,但svn打印了另外2個我們不關心的文件。

現在,使用 svn propedit svn:ignore project1 來打開一個編輯器編輯project1的svn:ignore 屬性。輸入以下內容:
*.class
*.bak

  現在再運行 svn status,.class和.bak文件就會被忽略掉了,世界一片清淨。

修改完屬性後,再commit,則每個人都會接受到 project1 更新過的svn:ignore屬性,從而他們的svn也會忽略掉工作拷貝中的那些文件。

  svn:ignore只應用於指定目錄中的內容,它不會遞歸地應用於其子目錄。

本文來自http://www.scmbbs.com ,完整帖子請看: http://www.scmbbs.com/cn/svntp/2008/2/svntp19.php

©本文歸 xuejiang 本論壇(SCMbbs.com)共同所有,任何轉載均需註明出處
©如本文侵犯了你的權利,請與管理員聯繫!

   
  作者:xuejiang   2008-02-27 23:40
2 回覆:svn屬性的妙用(svn:ignore)
  如在windows中,輸入命令:
svn propedit svn:ignore project1 --editor-cmd notepad
則會打開記事本,在記事本中輸入過濾規則,關閉記事本,就完成編輯了。
--editor-cmd參數指定了用來編輯屬性的命令。

本文來自http://www.scmbbs.com ,完整帖子請看:http://www.scmbbs.com/cn/svntp/2008/2/svntp19.php

©本文歸作者和本論壇(SCMbbs.com)共同所有,任何轉載均需註明出處
©如本文侵犯了你的權利,請與管理員聯繫!

   
  作者:xuejiang   2008-04-08 19:40

 

 

Subversion屬性

Subversion允許用戶在文件或目錄上發明任意名稱的版本化屬性和非版本化屬性,唯一的限制就是“svn:”是Subversion本身的保留前綴,用戶可以設置這些屬性來改變Subversion的行爲方式,用戶不能發明新的“svn:屬性

版本控制的屬性

svn:executable

如果出現在一個文件上,客戶端會將此文件在Unix工作拷貝中設置爲可執行,見“文件的可執行性”一節

svn:mime-type

如果出現在一個文件,這個值表示了文件的mime-type,這允許客戶端在執行更新時決定以行爲依據的合併是否安全,同時也會影響使用瀏覽器瀏覽文件時的行爲方式。見“文件內容類型”一節

svn:ignore

如果出現在目錄上,這是一組svn status可以忽略的未版本化文件的名稱模式,見“忽略未版本控制的條目”一節

svn:keywords

如果出現在一個文件上,這個值告訴客戶端如何擴展文件的特定關鍵字,見“關鍵字替換”一節

svn:eol-style

如果出現在一個文件上,這個值告訴客戶端如何處理工作拷貝中的文件的行結束符,見“行結束字符串”一節svn export

svn:externals

如果出現在一個目錄上,則這個值就是客戶端必須要檢出的路徑和URL列表。見“外部定義”一節

svn:special

如果出現在一個文件上,表示了那個文件不是一個普通的文件,而是一個符號鏈或者是其他特殊的對象[56]

svn:needs-lock

如果出現在一個文件上,告訴客戶端在工作拷貝將文件置爲只讀,可以提醒我們在修改以前必須解鎖。見“鎖定交流”一節

未版本控制的屬性

svn:author

如果出現,則保存了創建這個修訂版本的認證用戶名。(如果沒有出現,則修訂版本是匿名提交的。)

svn:date

保存了ISO 8601格式的修訂版本創建UTC時間,這個值來自服務器主機時鐘,不是客戶端的。

svn:log

保存了描述修訂版本的日誌信息。

svn:autoversioned

如果出現,則修訂版本是通過自動版本化特性創建,見“自動版本化”一節



[56] 此時,符號鏈是唯一的“特別”對象,但是以後,也許Subversion會有更多的特別對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章