2009-07-16 48 views
1

我的主站點建立在Invision電源板之上。隨着版本3剛剛發佈,我想從一個乾淨的代碼庫開始,並重新制作所有我的修改,但問題是,當Invision發佈新版本時,跟蹤我所做的修改,以便我可以重新應用它們一直是一個混蛋去做。雖然這個新版本將存儲在svn中,但我仍然很難有效更新到新版本。如何有效管理對第三方應用程序的代碼更改

在此先感謝。

回答

2

我還沒有嘗試過,但我想像這樣一個過程可能工作:

  1. 下載最新的IPB的版本,並把它放在一個名爲文件夾中的「IPB純」。在這裏創建一個Git或Mercurial存儲庫並提交所有內容。

    • 在別處克隆這個資源庫並稱之爲'ipb-custom'。在此進行所有自定義並提交它們。不要將任何自定義返回到「ipb-pure」。

    • 新版本的IPB(官方版本)可以被提交到'ipb-pure'存儲庫中。使用Git/Mercurial將這些更改拉入'ipb-custom'併合並頭部。如果你幸運的話,git/hg會自動合併所有的東西。

+0

這是一個非常好的建議,我認爲會工作得很好。對於你特別提到Git或Mecurial來進行版本控制而不是SVN,感到很好奇。我個人比較喜歡Git,但不確定它是否更好地處理這種事情。 – Christian 2009-07-16 06:01:27

+1

我從Linus Torvald在谷歌的談話中得到的印象是,Git(和Mercurial)可以自動合併分支,而SVN需要大量的手動工作。我沒有足夠的SVN知道這是否屬實,或者它適用於我剛剛寫的答案。 – 2009-07-16 06:08:35

+1

我們使用完全相同的方法,但使用Perforce。奇蹟般有效。 Regards, Sebastiaan – 2009-07-16 09:14:23

1

你可以使用svn如果你想也這樣做。您可能想要閱讀'vendor branches' in the svn book [svnbook.red-bean.com]

+0

真棒,這是一個偉大的閱讀。我正在努力研究Git或svn是否會更好地合併我的代碼。 – Christian 2009-07-16 07:29:58

+1

我不會擔心太多的合併功能,在大多數情況下,這種方法同樣適用(儘管git似乎更好一些,特別是涉及重命名/移動的情況)。在這一點上,我對大多數項目使用顛覆,只是因爲更成熟的工具(TortoiseSVN,VisualSVN,Subclipse ......)。 git的分佈式性質是切換恕我直言的唯一正當理由,但如果你真的不需要那個svn做幾乎相同的工作。 – jeroenh 2009-07-16 11:15:10

相關問題