如何在内部软件项目中组织Subversion存储库?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (3)
  • 关注 (0)
  • 查看 (55)

我在一家主要业务与软件无关的公司工作。大多数使用源代码管理的文档都是为商业或开源项目编写的开发团队编写的。作为一个在内部软件中写作的人,我可以说工作的完成方式与商业或开源环境不同。此外,还有一些存储过程和数据库脚本需要与代码保持同步。

特别是,我希望得到关于如何在内部软件中最好地构建存储库的建议。大多数文档建议使用主干、分支、标记等,以及使生产、测试和开发环境与存储库中各自部分保持同步的过程等。

提问于
用户回答回答于

项目的一个存储库可能就足够了。我喜欢按项目对布局进行索引的典型方法:

/first-project/trunk
/first-project/branches
/first-project/tags
/another-project/trunk
/another-project/branches
/another-project/tags
/common-stuff/trunk
/common-stuff/branches
/common-stuff/tags

请记住,以后总是可以重新组织存储库。

另外,对于内部内容,我更喜欢用于数据存储的FSFS,而不是Berkeley DB。FSFS更有弹性,签出的速度对于小型团队/项目来说也不是什么大问题。你可以比较自己决定。

食谱的其他标准部分包括TRAC和一个最小的Linux服务器来托管局域网上的存储库。

用户回答回答于
用户回答回答于

设置SVN存储库可能是很棘手的,只有在组织它们的方式方面。在我们设置SVN之前,我实际上是RTFM在线的颠覆手册其中讨论了存储库的组织技术以及你应该事先考虑的一些问题,即如果您决定改变主意,在创建了存储库之后您不能做的事情。我建议在安装前先看一遍这个手册。

在你的示例中,为了保持spros、脚本和其他相关文档同步,你可以创建一个项目文件夹,然后在该“工作”文件夹下,然后在“代码”下,然后在“脚本”旁边。等等,当你标记工作版本发布时,你最终会把它标记在一起。

\Repository
   \ProjectX
      \Working
         \Code       
         \Scripts
         \Notes       
      \Tags
      \Branches

至于非代码,我建议按项目或文档类型(手册、政策等)来设置一个直接的文件夹布局。一般来说,对于文档,并取决于您公司的运作方式,只需要有版本历史记录/日志就足够了。

我们在Windows上运行SVN以及WebSVN这是一个很好的开源存储库查看器。我们使用它让客户端访问他们的代码,这都是由底层的Subversion安全性驱动的。在内部,我们使用WebSVN管理存储库、提交、更新、导入等。

另一件事是,培训应该被视为部署的一个组成部分。刚开始使用版本控制的用户可能很难理解正在发生的事情。我们发现,在他们学习概念的同时,给他们提供功能指导(在创建项目时这样做,在更新时这样做等等)是非常有帮助的。我们创建了一个“沙箱”存储库,用户可以使用文档和文件夹进行任意的操作,您可能会发现这对于尝试建立什么样的策略也很有用。

祝好运!

扫码关注云+社区

领取腾讯云代金券