2011-05-23 48 views
1

我正在考慮從mercurial轉移到SVN,因爲維護起來似乎更簡單,而且有更多人擁有SVN客戶端而不是可用的mercurial客戶端。但是我有一個關於文件結構的問題 -有關SVN目錄結構與多個操作系統的問題

據我所知,典型的適當SVN結構變爲:

/後備箱
.... /現行版本

/支
文件.. ../bugfix
..../newfeature
.... /店3
..../branchN

/標籤
..../1.0
版本.../2.0
.... /版本的N,N-

我的問題是如何做到這一點的因素劃分爲多個操作系統?我的軟件目前爲每個操作系統的軟件的GUI/CLI版本都有單獨的mercurial存儲庫,因爲您不僅可以檢出mercurial中的目錄。不過,我明白你可以在SVN中。請問結構是這樣的:

/Windows(或Linux或其他)

/後備箱
..../CLI
..... /現行版本
文件.. ../GUI
..... /現行版本文件

/支
..../CLI
...../bug修正
...../newfeature
..... /店3
...../branchN
..../GUI
..... /錯誤修正
.... ./newfeature
..... /店3
...../branchN

/標籤
..../CLI
...../1.0
... ../version 2.0
...../ver錫永NN
..../GUI
...../1.0
...../2.0
..... /版本NN

還是我做這個太複雜了?您會建議將GUI版本存儲在單獨的存儲庫中嗎?還有哪些典型的目錄是預編譯的可執行文件存儲的?

我明白這些問題可能看起來是新手,但事實是我對SVN完全陌生。感謝您的幫助!

回答

1

我一直在使用SVN只有大約3或4年,現在你對我看起來相當不錯,我不會將GUI版本存儲在單獨的回購庫中。在我的工作中,我們將所有項目都歸入一個回購協議,只有不同的文件夾,並且這樣做很有效,因爲如您所述,您可以查看任何您想要的文件夾。

另外還有一些人認爲你不應該在SVN倉庫中存儲二進制數據(如預編譯的可執行文件),因爲它會使倉庫膨脹,因爲它不能像以前的版本一樣,像文本一樣。這或多或少是我工作中不成文的政策。在我個人SVN的家中,我將檢查我知道的重要的可執行文件或庫文件不會定期更改,只是在我需要它們時纔會在那裏。我並不擔心臃腫,並且能夠退回到其他版本的exe有時看起來很酷。

只要分支和標籤去,我從來沒有使用過它們。我知道我可能應該這樣做,但是我的大部分項目都是'概念證明',所以我的主幹是我真正打造的。我基本上使用SVN作爲一個非常好的備份和時間線工具。但我的概率應該開始使用標籤和分支。

+0

感謝您的回覆,我真的很感謝來自個人經驗的輸入。我也在考慮讓GUI命令行可調用,並刪除CLI版本。不在SVN中存儲二進制文件是非常有意義的。畢竟我有FTP空間。再次感謝!! – 2011-05-23 04:21:22

+0

歡迎您,我個人喜歡讓GUI命令行可調用的想法。它似乎是一種更通用的解決方案,並且更加優雅。但它的你的項目,只要你願意;) – CenterOrbit 2011-05-23 16:51:14