2011-09-22 64 views
21

我應該告訴Tortoise SVN在提交到存儲庫時忽略哪些文件?我應該如何配置SVN以在我的Delphi項目中忽略?

我特別感興趣的是實用信息,例如是否包含似乎出現但可能不需要的文件如*.dproj.2007等。

+0

對不起,但它意在引出實用信息,例如是否包含似乎出現的* .dproj.2007等文件但可能不需要。 –

+0

當您談論XE&XE2時...我使用嵌入式SVN客戶端...從項目經理,右鍵單擊,SVN子菜單...否則,我將開始添加包含**〜** – Whiler

+0

的擴展名的所有文件我建議您詢問具體文件和擴展名。 –

回答

15

我在D2007,這似乎在XE和XE2仍然正常工作使用這些:

*.dcu *.~* *.ddp *.exe *.map *.bak *.obj *.dsk 
*.err *.log *.tmp *.identcache *.tvsconfig __history *.todo 
ModelSupport* *.local 

我不包括ModelSupport因爲我不使用IDE的造型的東西,所以沒有點如果它是由錯誤創建的版本。我也沒有版本__history文件夾中的任何內容,因爲這只是簽入之間的臨時版本控制;一旦簽入SVN,就不再需要了。

(我不同意克里斯約*.res,BTW,尤其是當它涉及到XE2。資源文件現在可以使用Project|Resources and Images創建,而那些直接進入一個資源文件。由於資源\圖像可能是從什麼地方居然來了否則不在當前文件夾中,並且映像文件可能意外不會被檢入,我現在保留.res文件。我還保留項目文件;它設置了所有路徑和編譯器選項。 ,只需刪除項目文件,然後讓IDE根據需要重新創建即可。)

+0

爲了澄清 - 我們簽入.res文件,但只有當我們做了有意義的改變。具體來說,我們的自動化構建系統會在.res中增加版本號,我們不希望這些版本被不必要的checkin破壞。所以這可能是特定於我們的環境。 –

+0

有道理。我們隻手動進行版本#更改,並在數字更改時標記版本,所以自動增量不會影響我們。 :) –

7

使用Delphi2005,我們的團隊早已採用了這一點:

* .bdsproj * .scc * *名爲.suo。用戶 *。本地* .identcache *的.dsk OBJ斌測試__history *。 o * .lo * .la * .al .libs * .so .so。[0-9] * .a * .pyc * .pyo * .rej 〜##。#*。*。swp。 DS_Store

不知道它們是否全部需要,或者它們中的一些是什麼。我沒有想出它,只是跟着我們的內部維基百科......

沿着這些路線,你應該看看服務器端的預先提交鉤子。我們有一個預先提交的觸發器,除非特定標籤包含在註釋中:[添加項目文件] [添加Res文件],否則將禁止檢查.bdsproj,.dpr和.res文件。如果您嘗試提交沒有這些標籤的.bdsproj,.res或.dpr,提交將會使審覈失敗並被拒絕,並且將發送令人尷尬的電子郵件給整個開發團隊。這是因爲這些文件很少有任何合法的更改。如果你需要在一個項目中添加一個單元,那麼做好,然後在簽入時加入標籤,這樣就可以了。標籤上寫着「我知道我在做什麼,我有很好的理由來改變這個文件」。否則,你有各種垃圾被檢查 - 轉數字,路徑變化,包來來去去,等等。

我們也有一些grep過濾器在預先提交,尋找某些東西被添加。與DevExpress中不需要的「皮膚」單元一樣,因爲某些開發人員安裝了所有皮膚,並且IDE決定添加它們。或MadExcept,因爲有人在調試之後將其打開(由於各種原因,我們不允許在該特定項目的生產環境中使用MadExcept)。像這樣的東西。

更新:因爲我們的環境是非典型的,所以我從上面的列表中刪除了* .res。

+1

在Delphi XE2中,您可以最終從回購庫中刪除.RES文件,而不會產生奇怪的副作用。如果你之前決定在Delphi版本中只提交.rc文件,你會發現一些奇怪的IDE行爲,我敢打賭! –

相關問題