SVN避免重复代码


SVN Avoiding Duplicate Code

我正在用php做一个项目,该项目有一个"工具包"文件夹/存储库,其中包含有用的函数和类,然后是其他几个称为"抓取","进程"和"服务"的文件夹/存储库,每个文件夹/存储库都使用"工具包"中的函数。现在的方式是,我正在使用属性 svn:externals 来确保每当我签出工具包存储库附带的任何这些内容时。 这导致工具包文件夹在其他每个存储库文件夹中显示相同的代码,这似乎不是最佳的。以下是结账时发生的情况

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

这就是我想发生的事情

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

该怎么做,这样我就不会有工具包的多个副本运行。 如果可能的话,我更愿意使用外部,但任何解决方案都会很棒。

SVN:外部没有处理存储库的最终结构,如果你想要下面的结构,你可以签入具有相同结构的源。

外部意味着签出时的文件夹存在于不同的文件夹中,但签入是相同的位置。

您可以尝试删除当前 svn 存储库中的那些"符号链接",并将真正的工具包或链接添加到"代码"的根目录

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