簡體   English   中英

如何使用版本控制中的第三方組件管理Delphi項目?

[英]How do you manage your Delphi Projects with third-party components in Version Control?

如果您有大型組件,安裝第三方組件總是需要很長時間,但如果您在多台計算機中設置環境,則需要更長時間。

而且我正在考慮將它們添加到版本控制(Subversion)中,因此使用它所需的所有組件檢查項目總是很容易的。

那么你如何管理它,以及在VCS中管理它們的最佳實踐是什么?

還要考慮其中一些第三方沒有來源但是作為Delphi庫。 (BPL)。

如果我們有源,那么我們將它包含在我們的存儲庫中的單獨文件夾下。

如果我們沒有源代碼,那么我們只保留存儲庫中最新的二進制文件(bpl,dll等),並在安裝文檔中包含安裝/使用說明。

它看起來像這樣:

\root
    \third_party_stuff
        \vendor1  --we *do* have the source for this
            \src
            \bin
        \vendor2  --we *do* have the source for this
            \src
            \bin
        \vendor3  --we don't have the source for this one
            \bin
    \our_stuff
        \project1
            \src
            \bin
        \project2
            \src
            \bin

使用Subversion,我使用外部功能。 它使得在多個項目中使用第三方內容變得容易; 當您簽出項目時,您也會獲得外部依賴項。

如果您還沒有,那么您應該獲得使用Subversion的實用版本控制的副本。 這是一本關於Subversion功能和如何做事的好書。 雖然它從命令行引用SVN,但信息也可以輕松轉換為TortoiseSVN中的GUI。

為了將組件重新安裝到Delphi中以用於舊項目,我通常會將用於Delphi的任何版本的注冊表項導出到項目的文件夾中,然后將.REG文件與項目一起檢查到Subversion中。 您可以輕松簽出項目,導出現有的Delphi注冊表部分以獲取相應版本的Delphi,從項目源文件夾導入.REG文件,然后啟動Delphi並安裝所有組件。

至於“二元BPL”問題,對你感到羞恥! 如果您的項目依賴於第三方工具,則應為其購買源代碼。 這樣你就可以防止該公司破產,或者放棄對不兼容的組件或新版Delphi的支持。 總是得到第三方組件的來源; 如果源不可用,我會找到不同的產品或自己編寫代碼。 它被稱為自我保護。 :-)

首先,我同意Ken和Fabricio的說法,你必須擁有項目中使用的所有組件的源代碼。 別的什么只是在惹麻煩。

我們不使用Subversion作為源代碼控制,但我猜我們所做的仍然適用...

我們處理的每個項目都包含該項目中使用的所有組件(源)的完整副本。 當我們發布時,我們創建一個包含組件和項目源的發布分支。 每個項目都包含它自己的BPL目錄。

我們總是創建單獨的快捷方式來為我們想要處理的每個項目(或項目的分支)運行Delphi,並使用-R命令行參數為該項目的Delphi設置設置唯一的注冊表項。

然后我們確保在Delphi中覆蓋Path環境變量以指向我們的項目BPL目錄而不是普通的Delphi BPL目錄。

我們將所有組件的BPL和DCP輸出目錄設置為本地項目BPL目錄。

這使我們可以擁有多個版本的Delphi,多個版本的項目使用不同版本的組件而沒有任何問題。

我同意Ken White對此:生產代碼中使用的delphi第三方組件

必須有源代碼

期。 編譯的二進制文件,僅分布是用於評估目的。 這是我們的政策。

至於問題:我實際上並沒有將它們放在VCS上。 實際上我使用我的項目編譯和工作的最新版本。 系統,搜索,庫,等等路徑的混亂不值得。 2 JVCL在同一台機器上或通過任何新項目來回復制版本? ARRRRGH。

如果我必須將舊版本用於維護系統,請刪除新VM並安裝最新版本。 有用? 好。 不? 它保留在VM上,直到我發現一種集成在主環境中的方法。

每件事的一個版本綽綽有余。

值得一提的是,像LMD這樣的公司為支持訂閱的客戶提供了對自己的SVN存儲庫的遠程訪問。 我發現這是獲取關鍵問題的快速錯誤修正的好方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM