Version control 大学环境的最佳源代码控制(管理存储库的低开销)

Version control 大学环境的最佳源代码控制(管理存储库的低开销),version-control,administration,multiple-repositories,Version Control,Administration,Multiple Repositories,是否有人知道一个源代码控制系统的解决方案(web托管或其他方式),可以在以信息技术为中心的大学环境中很好地工作?我们希望将其作为校园范围的“版本控制服务”提供,就像大学使用电子邮件服务一样。具体来说,我要说的是以下特点: 每学期都会创建/管理大量的新存储库。任何编程课程或研究项目都可能要求学生在各种源代码环境(包括.NET、java、C++、PACTS)中使用源代码控制。李> 学生应该能够创建和管理自己的存储库。除此之外,涉及管理员/讲师等不可扩展 存储库存储应安全(私有),并可进行归档,以尊重

是否有人知道一个源代码控制系统的解决方案(web托管或其他方式),可以在以信息技术为中心的大学环境中很好地工作?我们希望将其作为校园范围的“版本控制服务”提供,就像大学使用电子邮件服务一样。具体来说,我要说的是以下特点:

  • 每学期都会创建/管理大量的新存储库。任何编程课程或研究项目都可能要求学生在各种源代码环境(包括.NET、java、C++、PACTS)中使用源代码控制。李>
  • 学生应该能够创建和管理自己的存储库。除此之外,涉及管理员/讲师等不可扩展
  • 存储库存储应安全(私有),并可进行归档,以尊重知识产权(防止剽窃,保护研究IP)
  • 任何或所有风格的源代码控制(例如CVS/SVN/GIT)都是可以接受的
  • 对存储库的远程访问至关重要。学生/研究人员可以在指定的实验室空间或远程工作。作业标记可以由在任何地方“签出”代码的讲师完成
  • 如果存在学术许可证,则必须为>500名学生提供规模

  • 许多商业/免费产品(基于网络或其他)不满足条件1和条件2,因为它们要求超级用户管理帐户/存储库/访问。谷歌代码、sourceforge.net、GitHub等解决方案不满足条件3,因为存储库总是公共的

    如果学生有这样的东西,你可以在他们的私有文件存储中使用git,git不需要托管,只需要一个存储文件的地方。

    我使用的一个解决方案是在Truecrypt可变大小的加密容器中创建一个主git存储库。容器放置在Dropbox文件夹中。存储库被克隆到本地硬盘驱动器,该硬盘驱动器将成为工作目录。所有工作都已完成并签入本地存储库。我编写了装载加密容器、将本地repo推/拉到主repo并卸载加密容器的脚本。Dropbox检测加密容器中的更改并将其同步到Dropbox服务器。安全性得到维护,因为加密文件是发送到服务器的唯一内容。确保安全性的唯一真正方法是自己进行加密

    您只需要设置一些脚本、安装truecrypt和一个Dropbox帐户。可能会编写一些基本的软件来自动化一些步骤。为了使其具有可扩展性和低成本,基本步骤仍然有效。创建主存储库和本地存储库,加密主repo,处理本地repo并将更改同步到主存储库,在线或在服务器上备份加密的主repo。

    • 红矿(SVN、CVS、Git、Mercurial、Bazaar和DARC)
    • UberSVN(SVN)
    • 私有汇编(?)(SVN、Git、Mercurial)

    GitHub似乎可以满足您的要求。您可以在内部网中设置自己的实例

    这里有一个免费的: 您可以在此工具上添加存储库。 为了安全起见,您使用RSA密钥


    我建议使用Git。SVN和CVS已经过时。

    相关问题的答案有些有用,尽管其中的上下文仅限于一门课程(有些答案可以追溯到2008年)。我正在为整个大学寻找一种使用现代技术的解决方案。我认为在这种情况下,几乎可以使用任何源代码控制系统。在这个答案中,我使用的每一个都有一个本地文件系统存储选项(SVN、git和Mercurial都有),这是否意味着每个人都在同一台(共享空间)机器上本地工作?考虑到编码环境的多样性(从Microsoft IDE中的.NET到Eclipse/Netbeans中的Java,再到Emacs中的LaTeX),这一切都不可能实现。我理解Git或VPN在本地使用的情况,如果每个人都在同一台机器上使用C++编译器,而不需要在没有SySADmin的情况下管理远程访问/共享。我误解了吗?不,DVCS系统允许您从本地机器上的私有回购开始,然后在中央服务器或任何其他机器或用户上共享。bzr、DARC、Mercurial和Git等现代VCE都基于此模型。如果您愿意,您可以使用中央回购,但这不是一项要求。@tripleee感谢您的澄清。我认为我们面临的问题是如何假设“本地机器”可能是什么,以便用户知道如何配置它、管理私有空间的共享等。如果我们有一个用于repos的中央Apache服务器,我确实遇到了一些想法。然而,管理员对提供mod_cgi、mod_别名和mod_env很敏感。Redmine需要管理员干预才能创建repos。@Fuhrmanator-因为Redmine可以使用LDAP,或者,您可以为用户提供自助服务(至少看起来是这样)。如果有人想关注那里的回复,我在Redmine.org的论坛上开了一个网站。我希望他们有学术许可证!在价格计算器的“团队规模/所有需要账户的用户”字段中输入500名学生,每年的成本为125000.00美元。那肯定不会飞的!GitHub.com今天联系了我,他们确实拥有企业产品的学术许可。其他学术选项要求用户通过GitHub.com请求创建账户、回购等。GitHub学术授权的更多信息不允许存储库包含行业赞助的项目。这是目前大多数学术许可证的一个问题。@Fuhrmanator您是否有来源表明行业赞助的项目是不允许的?“有人告诉我不是这样的。”卡姆杰克逊说,我们曾就场外托管进行过辩论,但自从魁北克省颁布了一项新的法律以来