我们有一个要与 Subversion 一起使用的 Web 应用程序框架。我们之前已经尝试了几次来设置它,但是我们应用程序的代码生成部分导致了问题。
问题在于,一个开发人员生成的代码可能位于比另一个开发人员更新的文件中,但新文件的内容可能更旧,因为作为代码生成基础的代码和 xml 文件已被更新开发人员 nr2。
我们看到的一种解决方案是排除代码生成的文件,但是我们经常会得到新生成的文件,它们会自动添加到存储库中,除非我们记得排除它,并且我们必须手动检查最新生成的文件文件。你怎么知道你是否有最新生成的文件?
关于如何在 Subversion 中解决这个问题的任何建议?
最佳答案
决定某些东西是否应该在 Subversion 中的最好方法是记住它是一个版本控制系统。 如果您不需要记住它是如何随时间变化的,则不需要在 svn
中。 . 使用 svn:ignore
将文件排除在此类考虑之外。
这里就是这种情况:您不关心生成的文件如何随时间变化,只关心用于生成它们的原始代码。这意味着它们应该被排除在 Subversion 之外。您可以使用 pre-commit hook 来执行此操作——例如,强制所有代码生成的文件都不应提交。我最喜欢这个策略的一句话: “版本化食谱,而不是蛋糕。”
And how do you know if you have the latest generated file?
确切地;你没有,因为生成的文件依赖于用于创建它们的源。您的下一步是确保您的构建过程在给定初始源代码的情况下自动生成这些文件,但如果您还不知道如何执行此操作,这可能是一个单独的 StackOverflow 问题。
关于svn - Subversion - 处理代码生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/874307/