簡體   English   中英

在(上游)開源項目之上維護其他功能

[英]Maintaining additional features on top of an (upstream) open-source project

在我的工作中,我們已經為我們的一些產品使用了開源軟件,並在主線項目提供的基礎上開發了一些額外的功能和功能。 開源項目正在積極開發中,我打算將其中的一些變化貢獻給主線開源項目。

但是,我還添加了一些我們產品所需的其他功能。 這些功能具有安全隱患,對於我的用例來說是完全可以接受的,但一般來說是不可接受的。 因此,開源項目永遠不會接受這些功能作為主線開發的一部分,所以我必須自己維護這些功能。

我希望能夠偶爾采用主流開發的新版本,但似乎這需要我經常將我本地維護的功能“重新修補”到主線。

如何以最小的開銷保持我需要的功能作為主線的單獨開發線? 我希望每次主線項目發生變化時都不必重寫本地維護的功能,但我不想“整理”整個項目,因為我想繼續提供補丁和拉從主線更新。

是否最好維護我自己的一組“補丁”文件,這些文件實現我的單獨功能(我嘗試應用這些補丁)到未來的主線項目版本? (注意:開源項目使用git進行版本控制,如果有任何git工具可以幫助解決此問題。)

只需使用主題分支。 在進行編碼時,請確保您可以回饋給項目的代碼位於不同的主題分支中,而不是特定實現所需的代碼。 私下,為您的雇主,將所有這些合並master以使您的軟件工作。 公開地,只發布和拉取請求(或通過電子郵件或任何項目做的補丁)那些不包含您的站點特定代碼的請求。

這根工作流程並沒有什么不尋常之處。 主題分支,即特征分支,也是一個很好的git習慣; 工作流程將有其他額外津貼。

暫無
暫無

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

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