Tag: darcs

什么版本控制系统是最重要的设置和使用的玩具项目?

我在CS部门教授第三个必要的介绍课程。 我的一项家庭作业要求学生加快编写以前作业的代码。 十因子加速是例行公事; 100或1000的因素并不是闻所未闻的。 (对于1000的加速因素,你必须用malloc()做出菜鸟错误。) 程序是通过一个序列改进的小改变。 我要求学生logging和描述每个变化和由此产生的改善。 当你正在改进一个程序时,也可以打破它。 退出是不是很好? 你可以看到我要去的地方:我的学生从版本控制中受益匪浅。 但是有一些警告: 我们的计算环境被locking。 任何依赖中央存储库的东西都是可疑的。 我们的学生令人难以置信的超载。 不只是class级,还包括工作,运动,音乐,你可以把它命名。 对于他们来说,使用一个新的工具,它必须是非常容易,有明显的好处。 我们的学生成对完成大部分工作。 在帐户之间来回访问是有问题的。 这个问题也可以通过分布式版本控制来解决吗? 复杂性是敌人。 我知道build立一个CVS存储库太困难了 – 我自己仍然有麻烦,因为我只做一年一次。 我被告知SVN更难。 以下是我对现有系统的评论: 我认为中央版本控制(CVS或SVN)已经被排除了,因为我们的学生没有必要的pipe理权限来创build一个可以与其他学生共享的存储库。 (我们坚持使用Unix文件权限。)另外,CVS或SVN上的安装太难了。 darcs很容易build立,但是如何分享内容并不明显。 darcs发送(通过电子邮件发送补丁)似乎很有前景,但不清楚如何设置它。 git的入门文档不适合初学者。 就像CVS设置一样,这是我自己遇到的问题。 我正在征求关于什么源代码控制与初学者一起使用的build议。 我怀疑我们可以find资源,把薄薄的单板放在现有的系统上,并简化现有的文档。 我们可能没有资源来编写新的文档。 因此, 与合作伙伴一起设置 , 提交 , 还原和共享变更非常容易,但是并不一定很容易合并或按规模进行工作。 一个关键的约束是编程对必须能够彼此共享工作,而且只能彼此共享,并且每一 对都会变化 。 我们的基础设施是使用netapp文件pipe理器的Linux,Solaris和Windows。 我怀疑我的IT人员想为每一对学生创build一个Unix组。 有没有更容易的解决scheme,我忽略了? (感谢接受的答案,由于其对Git Magic的极好的参考以及有用的评论而击败了其他人)。