【问题标题】:Source code directly in trunk folder or in trunk/subfolder源代码直接在主干文件夹或主干/子文件夹中
【发布时间】:2011-06-29 00:23:14
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: svn directory revision subdirectory trunk


    【解决方案1】:

    对于您所描述的情况,通常每个 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阅读更多内容。

    【讨论】:

    • 感谢您的回答!我们有两个主要项目,它们可能共享一些通用代码。我们也可能会在途中制作一些小工具,并将文档也放在 SVN 中。这可以是一个不错的设置吗(每个下都有主干/标签/分支):/project1/project2/shared-code/documentation/project1/documentation/project2/misc/tools/misc/migration-scripts/misc/database-changelogs/project1/misc/database-changelogs/project2。或者我应该跳过不经常使用的分类文件夹“misc”,而是始终将文件夹直接放在根目录下?
    • 这是一个非常不错的设置。是否有“misc”目录完全取决于个人喜好。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      相关资源
      最近更新 更多