1

我终于进入了修订控制的世界!我以前没有任何关于 Subversion 的知识,但是已经阅读了本书的大部分内容,并且我目前正在安装 Subversion 和 Trac。我们将是两个开发 PHP Web 应用程序的开发人员。

我的问题涉及目录结构。常见的做法似乎是将源代码直接放入主干。但是如何处理不属于应用程序的直接部分的文件,例如:

  • 如果我们选择对 MySQL 历史进行修订控制,则 Liquibase 更改日志
  • 小型 PHP 工具,它们不会成为 PHP 应用程序的直接组成部分,但很适合进行修订控制
  • 我们希望保持修订控制的其他原始文件/源文件

我可以在主干下为应用程序本身添加一个子文件夹 - “app” - 以及其他永远不会部署/投入生产的文件的子文件夹吗?还是有其他更好的方法来解决这个问题?

4

2 回答 2

2

对于像您描述的那样,通常每个 app/project/tool/component/thingie 都有自己的目录,在该目录下有自己的 trunk/tags/branches。

/main-app/trunk
/main-app/tags
/main-app/branches
/small-tool-1/trunk
/small-tool-1/tags
/small-tool-1/branches
/small-tool-2/trunk
/small-tool-2/tags
/small-tool-2/branches

您可以在在线书籍Version Control with Subversion中阅读更多内容。

于 2011-06-29T03:55:22.897 回答
0

为了补充戴夫的答案,我会按照他的建议将工具等保存在他们自己的目录中。

此外,您可以考虑将 svn.externals 属性添加到主应用程序的主干目录中。使用 svn.externals 可用于使 svn 将其他存储库目录(工具等)检出到您主应用程序的工作目录的子文件夹中。

例如,这可以用于允许使用多个应用程序签出共享代码。

于 2011-06-29T04:26:03.620 回答