SVN避免重复代码

时间:2012-05-28 01:39:09

标签: php git svn version-control organization

我正在开发一个php项目,它有一个'toolkit'文件夹/有用函数和类的存储库,然后是几个其他文件夹/存储库,叫做'scrape','process'和'serve',它们各自使用这些函数在'工具包'中。它现在的方式,我使用属性svn:externals来确保每当我签出任何这些工具箱存储库附带它。这导致工具包文件夹中显示相同的代码,显示在每个其他存储库文件夹中,这似乎不是最佳的。这是结账时发生的事情

/code
   /scrape
      /toolkit
      scrapefiles...
   /process
      /toolkit
      processfiles...
   /serve
      /toolkit
      servefiles...

这就是我想要发生的事情

/code
    /toolkit
    /scrape
        scrapefiles
    /process
        processfiles
    /serve
        servefiles

我该如何做到这一点,以便我没有运行工具包的多个副本。如果可能,我更愿意使用外部,但任何解决方案都会很棒。

1 个答案:

答案 0 :(得分:0)

SVN:外部没有处理你的回购的最终结构,如果你想要一个下面的结构,你可以检查具有相同结构的来源。

外部意味着在签出时有一个文件夹存在于不同的文件夹中,但是签入是相同的地方。

您可以尝试删除当前svn repo中的那些“符号链接”,并将实际工具包或链接添加到“代码”的根目录

在服务器上存储源的方式是基于文件夹的,但它完全独立于在本地看到它的方式。