導航:首頁 > 凈水問答 > linuxsvn過濾文件類型

linuxsvn過濾文件類型

發布時間:2022-05-03 07:27:58

Ⅰ 如何讓Linux SVN 支持 *.so *.a 等文件

1. 在每個Linux用戶的主抄目錄襲下(root用戶是在/root下, 其它用戶在/home/userNamexxx/下)有一個名為.subversion的隱藏文件夾,打開裡面的config文件。
2. 查找 [miscellany] 欄位,即可看到下面有個 global-ignores 鍵名,默認為注釋掉了的,這表示SVN已經將它們作為默認值了。
3. 取消注釋,把 *.so *.so.[0-9]* *.a 也去掉,當然你也可以根據需要增加或減少你的過濾選項。關於Linux命令的介紹,看看《linux就該這么學》,具體關於這一章地址3w(dot)linuxprobe/chapter-02(dot)html

Ⅱ svn忽略文件中,括弧內有recursively與沒有,有什麼區別(如下圖)

導入的過程

第一步:點擊eclipse中的文件-->新建-->動態網頁-->命名一個自己要建的項目名稱(建設名字為project)。

第二步:在第一步中新建的項目上右鍵-->導入-->現有項目到工作空間中-->選擇需要導入的文件系統-->點擊完成。

導出過程

第一步:在需要導出的項目上右鍵-->導出-->文件系統(假設導出到桌面上)

第二步:將導出的文件系統文件中修改工程裡面project這個文件。

用記事本打開,修改一下<projectDescription>,<name>projectname</name>中的projectname改為需要導入的名字例如project,然後將整個導出的文件系統文件夾重命名為project,最後執行導入的過程。

--------------開始填坑------------

1、假如未執行步驟二,若果導入導出的項目在一個workspace中,會報某些項目因位於工作空間目錄中而被隱藏的錯誤。

2、使用eclipse進行項目開發,有的時候需要修改項目的名稱,可是在eclipse中部署到tomcat中訪問的時候仍然只能使用舊的項目名稱進行訪問。 比如原來項目的名稱是test,現在我在eclipse中改成了newtest,可是Path仍然是test,這個時候只能通過http://localhost:8080/test進行訪問。

遇到這種情況,在你所部署項目的.settings目錄下,找到名字為org.eclipse.wst.common.component的文件,文件是xml格式的。把其中所有涉及到原項目名稱的地方都修改為你最新的項目名稱。最後在eclipse中點擊項目-->清理,重構一下項目即可。

Ⅲ linux下svn清除非版本控制文件的方法

使用svn status命令,文件名前面顯示問好的就是非版本控制的文件

Ⅳ linux svn 過濾設置

設置svn:ignore屬性:
例如:
svn propset svn:ignore *.class

過濾掉所有.class文件。

Ⅳ svn如何限制上傳文件類型

你如果使用TortoiseSVN作為客戶端的話,可以在TortoiseSVN右鍵菜單中的「設置」(settings)--常規設置--全局忽略樣式里設置,在裡面機上*.obj、*.bin等等就行了

Ⅵ 如何配置自己的Linux svnserver伺服器

一、新建並初始化版本庫
1.新建代碼倉庫
# svnadmin create /home/myrepos
這樣,我們就在/home目錄下新建了版本庫myrepos。

2.初始化代碼倉庫
#mkdir -p code/{branches,tags,trunk}
按照svn手冊上的建議,我們版本庫的布局採用branches/tags/trunk這樣的三個目錄。然後可以將代碼直接拷貝的trunk目錄,也可以隨後採用svn add的方式添加。

#svn import code file: ///home/myrepos
將我們構造好的版本庫布局(以及代碼,如果已經拷貝到trunk下的話)提交到版本庫。由於這里我們是在本地操作,因此可以直接使用file協議方式提交。格式為:file:// + 版本庫絕對的路徑

OK,到這里我們已經構建了一個本地版本庫,可以再本地使用svn ci的方法得到版本庫的副本了。如果前面只是提交了版本庫布局,而沒有提交代碼的話,則可以通過如下命令,提交版本代碼:
#svn co file: ///home/myrepos/trunk repos
通常只從主線目錄trunk下取出源碼,放在了新建的repos目錄。然後可以將源碼拷貝到repos目錄。
執行以下兩條命令將代碼添加的版本庫。
#svn add *
#svn ci * -m "Committed codes"
首先需要將拷貝的代碼加入到當前的副本中,然後將代碼提交到版本庫。

二、配置並啟動svnserve
1. 配置svnserve
這一步主要完成遠程用戶訪問版本的許可權。
在版本庫目錄下有個conf目錄:home/myrepos/conf,該目錄包含三個文件:authz,passwd,svnserve.conf。
(1)svnserve.conf

此文件重點的設置內容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分別代表設置匿名用戶和授權用戶的訪問許可權。read代表只讀,write代表可讀可寫,還有一個none,代表禁止訪問。如果不想讓匿名用戶訪問的話,可以設置anon-access = none。
password-db為保存版本庫的用戶名和密碼,通常為conf目錄下的passwd文件。
authz-db指向的文件,主要用於將用戶進行分組,並賦予不同的組不同的許可權。譬如有多個目錄時,設置某個組的用戶只可以訪問其中的那些目錄。
(2)passwd
如前面介紹,這個文件的主要內容如下
[users]
harry = harrysecret
sally = sallyssecret
以上兩行就是可以訪問版本庫的用戶名和密碼。格式為:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先給用戶分組,然後分別設置每個組的工作目錄以及許可權等。
本文的講解並未用到authz的配置。

2. 啟動svnserve
#svnserve -d -r /home/
svnserve將以守護進程的方式運行。同時,通過-r選項指定了版本庫的目錄。這個目錄可以是版本庫的上級目錄(/home),也可以是版本庫的目錄(/home/myrepos)。具體的區別會在後面講到。當然,也可以不用-r指定。

三、遠程訪問svnserve。
假設版本伺服器的地址為10.1.1.1,那麼用戶可以在遠程linux端輸入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
這樣版本庫的所有內容都被check出來,存放在當前目錄myrepos下。這里相當於使用svn協議,不用搭建http伺服器。

如果啟動svnserve的時候,-r選項指定的是版本庫的目錄,譬如/home/myrepos,那麼檢出版本的時候,執行的命令為:
#svn checkout svn://10.1.1.1/ myrepos

如果啟動svnserve是沒有指定-r選項,則要輸入版本庫的絕對路徑:
#svn checkout svn://10.1.1.1/home/myrepos myrepos

四、容易出現的問題
在訪問svnserve時,遇到了不少的問題,大致總結一下:
1. 這一步最容易避免,一定要記得啟動svnserve。
2. 記得要正確的修改配置文件svnserve.conf和passwd。
3. 保證版本庫伺服器沒有配置限制遠程訪問svnserve的規則。有時在訪問svn伺服器的時候,會提示伺服器積極拒絕鏈接。簡單起見,可以看看iptables -L INPUT和iptables -L OUTPUT有沒有限制訪問的規則。
4. 要保證輸入版本庫的URL正確。

後記:

1. 版本庫的初次導入可以採用多種方式:
(1)直接構建好版本庫目錄,並將源碼拷貝的對應的位置,然後svn import即可;
(2)先用svn checkout取出版本,然後構建目錄和源碼,執行svn add 並且svn commit即可。
2. 導入或者提交文件類型的控制
svn客戶端是可以配置忽略哪些些文件,比如說我們不想提交*.o之類的文件。那麼可以通過設置svn:ignore或者global-ignore來進行過濾相關的文件。通常默認的情況就會過濾掉*.o, *.so,*.a等被svn認為是中間生成的文件。我本人使用的客服端不管是WIN的還是Linux的都是這種默認情況。
但是,如果有時基於某種需要,或者是導入一個別人之前維護的工程,裡面有些*.so,*.a文件必須保留,那麼如果在第一次import的時候全部導入呢?曾經問過有些朋友說,svn add或者svn import是可以直接把這種文件導入到版本庫的。但是我個人進行測試的時候,確實導入不進去,除非你直接svn add這個文件,然後提交應該就可以了。
如果這樣的文件比較多,而且比較分散,那麼如何解決呢?看一下svn import和svn add這兩個命令的幫助,都有--no-ignore選項。這個選項的功能就是執行相應動作的時候,不忽略任何文件。那麼執行以下兩條命令:
svn import [source] [repository] --no-ignore

svn add [source] --no-ignore
會自動將source目錄下所有的內容全部import或者add。

因此,通過--no-ignore選項,可以滿足提交一些特殊文件的需求。

3. 用一個舊版本的svnadmin創建的版本庫,直接拷貝到另外一台svn版本比較高的PC上使用時,發現提示資料庫版本不匹配。解決的方法:
(1)導出舊的版本庫內容,包含版本信息
具體使用的命令為svnadmin mp, 詳細使用方法參考手冊。該命令的格式為:
svnadmin mp REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我將版本庫完整的信息都倒出來的話,執行如下命令:
# svnadmin mp old_repos > repos.mp

默認版本庫mp的時候是輸出在終端的,通過重定下輸出到repos.mp文件裡面。該文件實際是文本文件。
(2)導入舊版本庫的內容
在需要導入的位置,新建一個版本庫
# svnadmin create new_repos
然後將repos.mp文件導入到新的版本庫:
# svnadmin load new_repos < repos.mp
該命令成功執行完畢之後,新的版本庫中已經包含了old_repos版本庫中的所有版本內容。

Ⅶ 怎麼讓subversion忽略指定文件和目錄

全局排除
使
用全局排除我們可以剔除指定文件類型加入到版本庫中(只能對既定的用戶連接有效)。我們需要作的只是編輯subversion的config文件,它可以
在本地運用數據目錄找到,比如Windows下的「C:\Documents and Settings\[username]\Application
Data\Subversion」,或者Linux下的「~/.subversion」(原文只有windows相關配置譯者加了Linux配置)。

打開這個文件,查找[miscellany]節點,在這個節點中找到有global-ignores的行,刪除行首的「#」(假如你之前沒有刪掉),然後加上你想忽略的文件後綴。

比如你想忽略suo文件,你應當寫

global-ignores = *.suo

局部排除
局部排除只能針對某個目錄,就是說你可以告訴subversion客戶端忽略指定的文件,文件類型或者目錄,這是通過對指定目錄設置svn:ignore屬性來完成的。

比如,忽略解決方案目錄下的suo文件,你可以在其目錄下運行命令:

[TargetFolder]>svn propset svn:ignore *.suo .

別忘記最後的點".",它指定作用的目標路徑是當前路徑。通過以上命令可以使得subversion忽略目標路徑下所有擴展文件名為suo的文件

忽略文件夾也是相似的格式,忽略目標路徑下名為bin的文件夾的命令為:

[TargetFolder]>svn propset svn:ignore bin .

同樣不要忘了最後的"."

要忽略多個文件文件夾時,需要使用換行符作為分隔標記的propset忽略列表,因為命令行下換行符沒法輸入(好吧,是我不知道怎麼輸入),因此需要創建一個文件來包含這些忽略列表。
ignore.txt文件內容如下:

obj
bin

執行如下命令

[TargetFolder]>svn propset svn:ignore -F ignore.txt .

還是別忘了最後的".",命令表示忽略當前路徑下obj和bin文件夾。

Ⅷ 上傳svn項目時怎麼屏蔽掉class等生成的文件

方法1、在客戶端設置全局忽略樣式,以TortoiseSVN為例,右鍵菜單TortoiseSVN——設置——常規設置——全局忽略樣式——加入要屏蔽的文件類型,如*.obj,這種方法的好處是簡單,但只能限制本客戶端不能上傳該類文件,不能控制所有人都無法上傳該類文件
方法2、在SVN伺服器端設置pre-commit鉤子,在鉤子里檢查上傳文件名中是否含有該文件類型的關鍵詞,如果含有則上傳失敗。這個好處是一旦設置好了,所有客戶端都無法上傳該文件了。但就是要自己寫個鉤子腳本,稍麻煩些。
關於pre-commit具體怎麼寫,不是幾句話能說清的,網上搜索一下吧,有現成的範例。

Ⅸ linux 下的svn怎麼設置忽略文件

在源代碼來工作目錄下執行如下命令自:
$ svn propedit svn:ignore .注意:請別漏掉最後的點(.表示當前目錄)
打開的文件就是忽略列表文件了(默認是空的),每一行是一項。在該文件中逐行輸入需要忽略掉的文件或目錄正則表達式,例如:
*.obj
debug
release

Ⅹ 怎麼解決linux下svn過濾掉了.a等類型文件的問題

設置svn:ignore屬性: 例如: svn propset svn:ignore *.class 過濾掉所有.class文件。

閱讀全文

與linuxsvn過濾文件類型相關的資料

熱點內容
液相用溶劑過濾器 瀏覽:674
納濾水導電率 瀏覽:128
反滲透每小時2噸 瀏覽:162
做一個純凈水工廠需要多少錢 瀏覽:381
最終幻想4回憶技能有什麼用 瀏覽:487
污水提升器采通 瀏覽:397
反滲透和不發滲透凈水器有什麼區別 瀏覽:757
提升泵的揚程 瀏覽:294
澤德提升泵合肥經銷商 瀏覽:929
飲水機後蓋漏水了怎麼辦 瀏覽:953
小型電動提升器 瀏覽:246
半透膜和細胞膜區別 瀏覽:187
廢水拖把池 瀏覽:859
十四五期間城鎮污水處理如何提質增效 瀏覽:915
怎麼測試空氣凈化器的好壞 瀏覽:519
提升泵是幹嘛的 瀏覽:744
布油做蒸餾起沫咋辦 瀏覽:252
廣州工業油煙凈化器一般多少錢 瀏覽:204
喜哆哆空氣凈化器效果怎麼樣 瀏覽:424
油煙凈化器油盒在什麼位置 瀏覽:582