2009-07-24 116 views
4

我想創建一個公共svn倉庫的私人分支。由此,我的意思是有一個公共的,開源的(codeplex)存儲庫,我需要做我自己的,自定義的更改。這些更改不會被接受回樹中。我想:如何構建公共SVN存儲庫的私有分支?

  • 檢入我對自己的源代碼管理所做的更改,以便保存和更新版本。
  • 保留一些與原始鏈接,以便我可以輕鬆地合併「官方」更改。

我明白,git可以做到這一點,但我無法弄清楚如何用SVN做到這一點。

如果不行,我該怎麼做上面的某些方面 - 就像在我的存儲庫中徹底地完成代碼並保留官方樹的「乾淨」副本,我可以輕鬆地區分這兩棵樹?

謝謝, 詹姆斯

+0

你不使用Git的原因是什麼? git-svn非常適合你的要求。 – thedz 2009-07-24 19:44:02

回答

0

我想你已經回答了你自己的問題,兩次。

使用DVCS或保持一個乾淨的副本,併合併到你自己的svn回購。

5

Google git-svn。適合我。

1

您可以導出要從中分支的修訂版本,將其導入到您自己的存儲庫中,然後進行處理。稍後,您可以將原始導入的修訂和頭部之間的差異合併到主庫中。

是的,這是一個柺杖。你爲什麼不嘗試git-svn?

1

你不能。我已經看到了這個問題的兩種不同的方式工作圍繞:

  1. 使用DVCS與SVN集成像BZR-SVN或混帳SVN。這些集成特別針對您希望保留本地分支但仍能夠通過SVN與上游源進行交互的情況進行設計。使用Piston。活塞自動將供應商源樹添加到項目的過程中,以便您可以進行自己的更改,並定期從源回購庫中提取和合並更新。

1

一個可以幫助的工具是svnsync(儘管如其他人所建議的那樣轉移到DVCS可能更可取)。

0

另一個工具是tailorhttp://wiki.darcs.net/Tailor)。它可以在多種類型的資源庫之間移動更改。如果你習慣於顛覆,你甚至可以創建一個本地svn服務器,其中包含來自上游的更改以及你的私人更改,並且隨着codeplex的更改而更新本地服務器。

1

正如其他人所說,使用與Subversion協同工作的分佈式版本系統可能是您最好的選擇。 git的替代方案是Mercurial及其options之一,hgsubversion或hgsvn。這實際上是兩者之間的個人選擇,但如果你是一個普通的Subversion用戶,Mercurial可能會更好。它有一個類似於Subversion的命令行,如果你在Windows上,它的命令行類似於TortoiseSVN。

相關問題