我有SVN中的小型和大型項目的混合。其中一些非常小,我無法預見到自己會分支或標記。即使對於小項目,你是否應該有分支,標籤和中繼文件夾?
所以,我應該還是與主幹/分支/標籤的文件夾約定堅持即使我相當肯定的分支/標籤目錄將不會被使用的小項目?我只是覺得這可能是矯枉過正。
有關這方面的想法?
我有SVN中的小型和大型項目的混合。其中一些非常小,我無法預見到自己會分支或標記。即使對於小項目,你是否應該有分支,標籤和中繼文件夾?
所以,我應該還是與主幹/分支/標籤的文件夾約定堅持即使我相當肯定的分支/標籤目錄將不會被使用的小項目?我只是覺得這可能是矯枉過正。
有關這方面的想法?
要回答直接在標題的問題:不,你不必。 SVN存儲庫可以按您選擇的任何文件夾結構進行組織。這就是說,現在至少把所有內容都放在一個主幹文件夾中是一個好主意,所以如果以後你改變了主意並決定分支或標記是有用的,你可以添加分支/標籤文件夾很容易,而不必移動一切。
當然,在SVN中,在事實發生後很容易移動目錄。所以,如果你現在不把它們放進去,並決定你以後需要它們,那實在不是什麼大問題。 – 2009-05-14 20:42:22
他們是約定,所以添加它們會有什麼傷害。如果你的項目到了你需要它們的地步,那麼從一開始就讓它們到位比在事實之後嘗試添加它們要容易得多。
我使用分支/標籤/主幹目錄中顛覆甚至是瑣碎的項目。這幾乎是零成本,值得一致。我總是知道如果我需要結賬,我的項目將如何佈局。
在我的SVN倉庫中,我有一個trunk/branch/tag目錄。我把我所有的項目放在trunk中,並根據實際達到可標記狀態的項目分別組織我的分支和標記目錄。約定可能會建議爲每個項目使用分支/標記/中繼目錄,但如果您不希望進行標記和分支,這可能不切實際。
即使是個人項目,可以從罕見的標籤中受益,之前主要重寫或漫長的沉寂分支。
通常(或相當明顯),分支/標籤是在團隊中,很多程序員將在同一時間源的合作是非常有用的。每個編碼器都在他們自己的分支中工作,因此不存在節省其他人工作的風險。
作爲一個人,軍隊開發商,我仍然發現分支/標記有用:
我需要做一個實驗分支,而不當前工作源放棄。如果實驗代碼證明更好,我會重新合併它。
如果我有幾個單獨的組件,它可能是標記每一個有名稱,表示項目的版本號,並把它們在項目命名的文件夾標籤有用。這有助於在您想要返回到版本1.0.5.10時保持製表符,並且需要知道組件Foo中發生了什麼變化。承諾筆記可能不夠豐富。
根據我的經驗,'trunk/branch/tag'組織是一個非常好用的源代碼管理佈局。我已經看到它在使用不同工具(ClearCase,SVN,CVS等)的許多不同的組織中實現。我目前使用的ClearCase設置稍微複雜一些(令人費解?),但總的來說,它採用了非常類似的佈局。
儘管在SVN中不是必需的,但我強烈推薦習慣這種類型的佈局,包括合併到不同分支和主幹。
對於個人項目,我發現標記是保存最終的不可變版本的有價值手段。分支通常是爲實驗切線保留的,所以我不會在現實開始之前破壞我的代碼的最新(穩定)版本。
@KingNestor,編輯您的標題以反映您的問題。好問題,但! – mmcdole 2009-02-22 06:33:24