2008-12-15 84 views
3

與大多數軟件開發組織相反,我們大學部門的一個小研究小組由一位教授和一批畢業生和本科生組成,除了研究本身之外,很難保留任何工作知識。我們的背景各不相同,很少涉及很多計算機科學背景。 (我自己從未參加過與計算機相關的課程。)學術研究組的源代碼控制?

然而,我們需要針對我們的自制軟件進行規劃和分析,區分最佳當前生產版本和開發版本,防止構思不定的更改,回憶去年版本的能力等等。很難讓每個學生加快顛覆速度,並學會對存儲庫進行小心,理解分支/標籤或者我們組織它。 (第二個問題:如何讓某人加快svn的速度?)

也許其中一個分佈式版本控制系統會更適合,或者一個除svn以外的中央系統是明智的,或者如果不是,那麼容易我們應該遵循顛覆傳播的做法嗎?

回答

2

我會說Subversion應該在學術環境(如你所描述的)的實用性和易用性之間給予適當的平衡。我一直在思考類似的問題(我是一個物理學研究生; I actually posted about something similar before),而我此刻的建議是:

  • 設置集中式版本控制系統,最好SVN。隨着畢業生和本科生一直在出現和消失,我認爲分佈式版本控制可能會導致人們正在「本地」消失的修改與他們。集中版本控制會給你「一個真正的修訂」。

  • 讓每個人都試驗一個小測試庫,以便他們能夠掌握它。如果你圍繞SO進行搜索,你會發現很多問題&答案指的是很好的教程。

  • 也許考慮租用託管的SVN存儲庫,它可能爲您節省在本地網絡上設置自己的麻煩。 (我認識的一些大學對網絡安全有非常嚴格的規定,因此獲得自己的服務器有時是一個漫長而複雜的官僚過程。)

  • 告訴學生:代碼不存在,直到它已選中!我想他們很快就會發現VC的優勢,一旦他們必須做他們的第一次「回覆」/「回滾」:)

  • 至於讓學生適應Svn的速度:請參閱Software Carpentry Course on Version Control和「入門「一章在Subversion書中。你也可能希望有一個更有經驗的人與一個新學生坐在一起或兩次(似乎是浪費時間,但支付雙倍!)。

請注意,雖然我沒有太多的實際經驗。所以如果可以的話,我會非常高興,例如,稍後回來告訴我們您的經歷!

+0

我同意特別是因爲第一顆子彈。對於臨時提交者,您不希望他們在本地計算機上進行重要更改。 – wowest 2009-01-28 14:01:56

1

我不確定「讓每個人都快速上SVN」很困難。如果他們理解版本控制的概念,這是最簡單的實現之一。

它肯定有很多事情要做,但你提到的其他人也會工作,儘管最初可能很難買到。 (易用性)

我想你會發現更難的是定義一個策略,你應該在使用源代碼庫時使用這個策略。一旦你定義了,那麼你可以實現版本控制系統。 (I.E.開發者有自己的分支機構,然後在測試後升級到mainline/trunk,或者一切進入trunk等)

0

即使你從不使用分支和合並,svn也是有價值的。如果你在Windows上,VisualSVN服務器應用程序很容易設置,並且易於使用安全性。試試看。

0

Subversion和TortoiseSVN使得使用Subversion不比使用Windows資源管理器本身更困難。其他操作系統有各種各樣的界面,使顛覆非常容易使用。