我是一名应用数学家,最近加入了一个项目,该项目涉及为我们的科学应用开发生产代码。代码库并不小,它被部署为 Web 应用程序的一部分。
当我加入时,代码在没有修订控制系统的情况下奇迹般地得到了维护。服务器中有一个中央文件夹,研究人员在需要使用代码时可以从中复制。在这个根目录内有一组包含不同版本代码的目录,因此人们将开始使用他们找到的最新版本并使用他们的修改创建一个新版本。
我创建了一个 Mercurial 存储库,向其中添加了所有代码版本,并说服每个人都使用它。然而,自从迁移到 Mercurial 后,我们几乎感觉不到升级版本号的必要性,即使使用困难也hg copy
能让我们保留修订历史。
在这里,我需要您就维护此代码库的最佳实践提出建议。在 RCS 下将具有不同版本的文件夹保存在存储库中是否有意义?如果我们在 repo 中保留一份代码副本,那么跟踪版本的最常用方法是什么?自述文件?我们是否应该在指定版本的 repo 之外保留代码的快照?保持原样有意义吗?你使用什么策略?
我们的团队是一群科学家,没有人有如何维护这样的 repo 的经验,所以我对通常做的事情很感兴趣。