我是一名应用数学家,最近我加入了一个项目,该项目涉及我们科学应用程序的开发代码。代码库不小,它作为Web应用程序的一部分进行部署。关于我的存储库结构的建议
当我加入时,代码在没有版本控制系统的情况下被奇迹般地维护。在服务器中有一个中央文件夹,研究人员在需要使用代码时会从中复制文件夹。在这个根目录下面有一组具有不同版本代码的目录,所以人们将开始研究他们找到的最新版本,并用他们的修改创建一个新版本。
我创建了一个Mercurial仓库,添加了所有的代码版本,并说服所有人使用它。但是,自从转向Mercurial以来,我们几乎感觉不到需要升级版本号,即使使用hg copy
也不会让我们保留修订历史记录。
这里是我需要你维护这个代码库的最佳实践的建议。在RCS下使用不同版本的文件夹保存在回购中是否有意义?如果我们将代码的单个副本保存在回购中,跟踪版本的最常见方式是什么?自述文件?我们是否应该将代码的快照保存在指定版本的repo之外?保持原样是否有意义?你使用什么策略?
我们的团队是一群科学家,没有人有关于如何维持这样的回购的经验,所以我对什么是通常做的感兴趣。