2010-04-28 60 views
1

通用組件,我嘗試了一個Delphi項目創建和管理一組分佈式化石庫的化石(和CVS配置)的新手。管理與化石CVS

我有我的開發機上的以下目錄樹:

Projects 
    Some Project 
    Delphi Components 
     LookupListView 
    Some Client 
     Some Project For Client 
     Some Other Project For Client 
      Source Code 
       Project Resources 
       Project Database 

我爲了建立化石版本控制,版本和共享項目\某些客戶端\其他一些項目的客戶\源代碼,包含Delphi 2010數據庫項目的源代碼。

該項目利用項目\德爾福組件\ LookupListView的這是一個Delphi組件。我需要將此代碼包含在我的項目的版本控制系統中。理論上,我將來也需要將其包含在其他化石庫中。

如果我創建的源代碼或其他一些項目的客戶級別我的化石庫,我不能添加在該水平之上,以我的倉庫的任何代碼。處理這個問題的正確方法是什麼?發生在我身上的兩種解決方案是:

1)爲LookupListView創建一個單獨的存儲庫,並確保每個使用引用該引用項目的存儲庫的人「知道」他們還必須將該項目的當前版本作爲好。這似乎無法通過單一結賬獲得完整的當前版本的項目。這個問題被放大了,因爲在這個項目中還有其他常見的組件依賴關係。

2)建立在項目目錄我的化石庫,這樣我就可以從不同的子文件夾簽入文件。在我看來,在添加時會涉及到很多額外的路徑輸入,並且還會對存儲庫的其他用戶強制實施我的目錄結構(某些客戶端\某些其他項目對於客戶端\源) - 在這種情況下,實際的客戶。

任何建議表示讚賞。

回答

3

我用Git的,但我的方法可以在您的情況適用。

我有我的所有組件文件夾的一個存儲庫。這使我能夠通過幾個控制檯命令獲得所有這些命令(例如,當我重新安裝操作系統或轉到另一臺計算機等時)。

另外我每個項目都有一個存儲庫。如果某個項目使用第三方控件,我將創建「組件」子文件夾並執行每個組件集的符號鏈接(junctions)。

這種方法也有一些缺點(當你「回去」在一些項目的提交歷史,組件可以過修改。而如果有許多項目都使用相同的組件,這可能會導致一些麻煩)。但我還沒有問題:)

+0

交匯處在這裏工作得很好。我使用http://technet.microsoft.com/en-us/sysinternals/bb896768中的程序從我用來設置每個項目環境的批處理文件創建它們。 – skamradt 2011-06-07 17:29:39