2008-12-15 54 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资源管理器本身更困难。其他操作系统有各种各样的界面,使颠覆非常容易使用。