版本控制的版本控制?

13

我在公司负责分支和合并的管理,经常需要修改我们的Subversion预提交挂钩以对检入注释等内容实施不同的要求。每次编辑这些文件时,我都有点紧张,因为它们是一个实时生产系统的一部分,尽管仅在内部使用(我们不是一个很大的组织),并且它们本身未受版本控制。

我很想知道人们在版本控制基础架构中有哪些故障保护措施。每日备份?“元”版本控制?我想前者已经作为整个存储库的备份而存在。当检入要求的复杂度增加时,后者将非常有用...


3
你打算使用什么来对版本控制进行版本控制的版本控制?:-P - Jason Baker
你把版本控制配置放在了缺陷跟踪软件中的一个名为“如何设置我们的版本控制?”的缺陷下。请看下面我的回答。 - jmucchiello
@Jason:这就是为什么我在这里问这个问题!无限递归的潜力... - Owen
4个回答

7

Natch - 版本控制和其他基础设施代码也要进行版本控制,但我会使用与任何开发项目不同的独立项目。

我更喜欢可搜索的维基或类似的知识库来保存 VCS 配置等信息,以免占用您的缺陷跟踪系统。

最重要的是,确保文档保持最新状态 - 根据我的经验,人们通常更擅长保持代码文档的最新状态而不是管理文档。这可能是个别人的问题。被忽视的一件事是,如果系统配置符合标准 Unix 实践或类似的哲学,则意味着有关位置的知识可能对于突然需要修复损坏的脚本的 OS/X 或 Windows 程序员来说并不熟悉。请确保记录基本的假设和位置依赖关系,但不要显得轻蔑。


Joel测试上没有维基 :-) - jmucchiello
同意这是一个更合适的地方。也许对于Joel来说,这太过新潮了,就像“博客”这个词一样。 - Owen

4
您应该记录所有工具的“设置”配置,并将这些文档检入版本控制。对于允许注释的文本文件配置的工具,您可以只检入配置文件。但是对于需要使用界面的工具,您应该有一个完整的文档,其中包含显示所选选择的对话框图像。
最重要的是,这些文档应说明您为什么选择了这些值(当未采用默认值时)。
其次,作为备份,相同的文档应包括在您的错误跟踪软件中,作为“如何设置版本控制软件?”错误。(错误跟踪数据库位于不同的物理服务器上,对吗?)
第三,所有这些都应进行离线备份。我相信在SO上有关于备份策略的问题。

显而易见的问题是,当设置发生变化时,您需要确保更新文档。您会采取什么措施来确保这一点? - Steve S
你如何知道你的备份可以恢复?除了打开文档、按照说明操作,并确保最终环境与现在相同之外,没有什么能确保你遵循了整个过程。谁来确保错误修复已经被记录下来?这只是某人的责任。 - jmucchiello

4

为什么不能在同一个版本控制库中使用提交钩子和其他配置文件?在过去,我负责项目的配置管理时就是这样处理的。

你还应该备份svn存储库。这样,如果存储库本身损坏或服务器发生火灾等情况,你可以恢复项目和svn控制文件。


是的,我们的存储库定期备份,所以我想那就是一些好处。我只是觉得将存储库配置文件作为存储库本身的一部分并不直接,但也许它确实是这样,只是我没有完全考虑清楚。 - Owen

0
如果你有编写这样的构建脚本(比如Nant),那么你可以将它们提交。

我们的构建脚本已经检入。当你提到“正在执行此操作的脚本”时,“this”是什么? - Owen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接