svn中的ignore
1.相關命令
svn propdel (pdel, pd)
svn propedit (pedit, pe)
svn propget (pget, pg)
svn proplist (plist, pl)
svn propset (pset, ps)
參考:http://svnbook.red-bean.com/en/1.7/index.html
2.相關可設置屬性
參考:http://svnbook.red-bean.com/en/1.7/svn.ref.properties.html
3.svn:global-ignores和svn:ignore以及小烏龜settings中的global ignore patterns的區別
svn:global-ignores配置當前目錄的全局ignore,對當前目錄的所有文件和文件夾起作用.
相當於在當前目錄,配置-R svn:ignore,不是對當前倉庫的的.
svn:ignore只對當前目錄有效,如果使用-R參數,對子目錄也有效.
global ignore patterns的配置文件在svn %APPDATA%/Subversion/config中,###是註釋,#是配置,對所有倉庫有效.
也可以在小烏龜中右鍵setting
4.svn的ignore配置
首先需要註意的一點:svn的ignore可能無法區分文件夾和文件,比如.idea,會同時忽略.idea文件夾和文件.(反正我沒找到區分方法)
通配符就是?* [],?匹配單字符,*多字符,[]任意一個,比如[0-9]和[Tt],應該和正則用法一致.
5.已經commit過的如何忽略?
svn又一次被git完爆的原因
如果是編譯等產生的中間文件,比如target,bin我覺得直接svn delete就行.
如果是配置文件,比如idea,.project,再接著看
已經commited了再.ignore也不管用了.
比如已經commit了.idea文件夾,後面給.idea加了ignore.
如果自己一個人用svn,可以先備份一份,然後svn del掉.idea文件夾,備份的再改回.idea就好了.
如果團隊用,A,B,C三個人,A備份為idea1,A
如果需要備份的文件太多,幾十個之類的,可以嘗試花點時間寫個腳本,先根據需要備份的ignore,找到匹配的文件和目錄,cp備份,更新完了,再還原回來.
查了有點相關的svndumpfilter,感覺有點難,而且貌似也達不到效果.
如果能在server端的版本庫中刪除文件,本地庫不更新,就好了.
6.小烏龜的右鍵ignore
沒有 recursively的,是global-ignore,對當前目錄以及子目錄有效.
有recursively的,只對當前目錄有效.
svn中的ignore