【问题标题】:SVN relaltive path externalsSVN 相对路径外部
【发布时间】:2012-06-02 09:50:47
【问题描述】:

我有一个我用 php 编写的工具库和一个将使用它们的应用程序代码库。当我检查它们时,我希望这两个文件夹最终处于同一级别。我试图通过将应用程序文件夹的 svn:externals 属性设置为

../toolkit http://(toolkit repo url)/

但显然它不能用相对路径来做到这一点。我不希望工具包文件夹位于应用程序文件夹中,我希望它们在同一级别但做

toolkit http://(toolkit repo url)/

将工具包放在应用程序文件夹中。任何人都知道我怎么能在这里做我想做的事情? (如果重要,我是从命令行执行此操作,而不是破坏 svn 或其他程序)

【问题讨论】:

    标签: php svn version-control repository versioning


    【解决方案1】:

    我发现我正在尝试做的事情在 SVN 1.6 中是完全合法的,但我正在尝试在 SVN 1.4 中执行此操作,所以我所要做的就是升级到较新的版本。

    【讨论】:

    • 其实可能还不是...我认为只有在url部分可以使用带有'..'的相对路径
    • 没错。如果 SVN 允许第二个参数(目标文件夹)的相对路径,它从 SVN 结帐文件夹向上导航,您正在设置 svn:externals,那么这将是有问题的,因为您可以想象它会解​​析为完全外部的路径您的结帐,SVN 无法跟踪。
    • 还不错。我想我会编写自己的自定义结帐脚本,将东西准确地放在我想要的地方,而不是尝试让外部人员为我做这件事。外部似乎更加独立。感谢您的帮助。
    • 不客气。请记住,您的脚本将从多个位置签出,因此如果您对应用程序代码和工具包进行更改,那么您将需要执行两次提交,每次签出一次。
    【解决方案2】:

    如果我理解正确,那么你想在添加svn:externals属性后实现以下文件夹结构:

    C:\SvnCheckouts\MyApplication\
                                  src\
                                  toolkit\
    

    ... toolkit\ 作为外部结果添加。在这种情况下,您应该将外部添加到 MyApplication\ 文件夹中。

    如果您尝试将外部添加到 src\ 文件夹,那么您就不走运了,因为尽管以下是有效的外部定义...

    http://(toolkit repo url)/ ..\toolkit

    ... SVN 将去除斜线并在 src\ 内创建一个名为 ..toolkit 的文件夹(请注意,根据最佳实践,我已将 URL 放在预期外部文件夹的名称之前)。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多