我在工程实验室工作,而不是计算机科学实验室。因此,我们的内部软件不是可交付的产品。相反,内部软件用于分析工程问题,然后我们提供结果。
这使得版本控制成为一个活生生的地狱。或者也许我应该说标准的“主干和分支”版本控制树结构似乎并不适用。我希望有人可以提出更好的做事方式。
例如,每个工程项目都需要添加特定案例的输入文件、运行时文件和后处理文件。这些都不属于trunk,因为它们不是通用的,但是每个新项目都需要这些文件。我们尝试将模板放在主干中,但没有明确的最佳实践来确定何时应该合并模板。
同样,随着我们添加新功能,内部代码总是在不断发展。其中许多应该合并到主干中,以便它们可用于未来的应用程序。但是,也有很多特定于案例的 hack,trunk 不需要查看。
我们应该如何组织这个烂摊子?显然,越简单越好。