深入理解Subversion:数据存储、布局、分支与客户端工具
1. 数据存储选择
在使用Subversion时,有两种主要的数据存储选项:FSF和BDB。FSF能让跨平台复制仓库变得轻松,而基于BDB的仓库无法复制到其他操作系统使用。对于大多数情况,建议将FSF作为默认选择。不过,BDB也有一些不错的特性。若想详细了解Subversion中的BDB,请查阅在线手册。
值得庆幸的是,仓库客户端无需关注数据存储的选择。只有在出现问题,如系统崩溃导致仓库文件操作中断时,才需要仓库管理员介入。创建仓库时,可通过简单的命令行开关来选择数据存储,具体可查看svnadmin create命令的选项。
2. 仓库布局
仓库可用于存储文件、项目及其历史记录,但它不会告诉你如何组织这些内容。你可以将所有项目或文件都放在仓库的顶级目录,但这会很快导致混乱。仓库就像编程所用机器的文件系统,有人的桌面或主目录堆满了数百个文件,而有人则将所有内容都组织得井井有条。
在创建仓库之前,最好花些时间选择合适的布局。以下是两种常见的仓库布局:
-单仓库多项目:这种方式可减少管理时间,因为只需处理一个仓库。但钩子脚本需要考虑各个项目的要求,例如,当开发者向项目1提交代码时发送通知邮件,而项目2则不发送,这需要将相应逻辑集成到钩子脚本中。
-单仓库单项目:每个仓库只包含一个项目,同时可以在主干目录的相应子目录中组织子项目,这种布局适用于子项目紧密耦合或相关的情况,也是最常见的布局。