2011-07-26 25 views
0

大概基本的行爲,但仍然模糊了我:更改商業應用程序中使用的開源的最佳實踐?

我們正在開發使用一個開源的組件(apache的蜂巢)一商業應用程序,我們使用最新的「穩定」版本(0.7.1) ,而不是流血的樹幹。

我們需要對組件進行一些更改,因爲我們需要修復一些錯誤。我們想要貢獻他們,但我們不能依賴開源委託人。所以我們想在本地副本中進行更改,編譯jar並在我們的應用中使用它。

我們應該如何處理我們的本地變化?我們是否在我們自己的svn中維護一個開源項目的副本?我們是從「分支」還是從蜂巢svn的「標籤」複製它?那麼我們如何將我們的修改合併回開源svn--因爲當我們到達那裏時它們的分支可能與我們的分支不同,並且如果我們從svn創建補丁,它可能不適合它們的svn ...

謝謝,ido

編輯:你們說什麼關於使用git?我們的過程挑戰的答案可能會是技術性的嗎?似乎這個特殊的開源還暴露了一個git倉庫,它會幫助我們創建一個本地副本嗎?如果是這樣,我們是從標籤/分支/中繼創建它嗎?請記住,我們需要在穩定版本上使用並執行我們的修補程序,但對出血邊緣幹線做出貢獻。

+0

由於關於開發方法和軟件許可的問題更適合程序員,因此我正在投票結束此問題作爲題外話.ES –

回答

1

如果您爲一個版本製作補丁,它可能會或可能不會改進/適用於其他版本。該錯誤可能已被修復,或已解決的功能已被刪除。至少需要一些努力來整合這些變化。

這就是說,我認爲你最好的選擇是在內聯網服務器上克隆他們的git repo。然後,您可以從穩定標籤創建分支(例如our_stable_branch)。你的開發者將能夠克隆這個內部網絡回購,並將他們所做的任何更改推入our_stable_branch。然後,當你想要的時候,你可以將這些變化合併到master中,並將它們推送到主apache蜂巢回購。

+0

聽起來不錯。只是爲了清除它:你建議我們克隆整個git repo = trunk +分支,然後選擇我們喜歡的分支,推入更改,然後推送到我們的本地主幹,然後推到主蜂房回購主幹。對? – ihadanny

+0

就是這樣的。請先閱讀git。有些東西與SVN有點不同。例如,你默認克隆整個回購。另外,任何回購可能成爲其他回購的上游回購,分支行爲有點不同,等等。 –

相關問題