【问题标题】:SVN Checkout Within a Checkout结帐中的 SVN 结帐
【发布时间】:2023-03-10 00:15:02
【问题描述】:

我似乎记得在某个地方看到过这个,但对于我的生活来说,搜索并没有找到我正在寻找的结果。这就是我想要的:

我有一个项目存储库。我想在我的项目中包含其他 svn 存储库中的库。当我对主项目进行 SVN 提交时,我希望所有文件,包括库的签出都提交到主项目存储库。同时,我还希望能够仅对库文件夹进行 svn 更新,并让它从其他地方自己的存储库中拉取更新。

这是可能的,对吧——如何?

如果这是一个令人困惑的描述,我会尝试做一个视觉效果:

\ Project Repository  (@ my.svn.com )
    \ project source files
    \ project media files, etc.
    \ Libraries
        \ some library (@ gnu.svn.com )
        \ some other library (@ fsf.svn.com )

在这种情况下,对项目本身进行 SVN 提交将导致“某个库”和“某个其他库”的内容被提交到“项目存储库”的存储库。但是,如果我要对“某个库”进行 SVN 更新,它会从它自己的 svn、gnu.svn.com 中删除它的更新。

(目前使用 TortoiseSVN,但如果需要,不怕使用命令行 svn)

【问题讨论】:

  • 并不是我说这样做是错误的,但是为什么你需要拥有所有库的源代码而不是仅仅拥有所述库的 jar 文件?在我看来,处理依赖关系的方法过于复杂。同样,我并不是在批评这个选择,只是对激发它的特定用例(SVN 外部 vs 带有 jar 的 lib 文件夹)感到好奇。

标签: svn tortoisesvn


【解决方案1】:

您正在考虑svn externals,我对它们的体验是很久以前的,但我发现它们设置起来很痛苦。

【讨论】:

  • Ka-bam!就是这样。尽管这可能很痛苦,但我想我会试一试,因为复制和粘贴库的 SVN 结帐已经过时了。
  • 上次我查看时,SVN 不会递归到外部签出的文件夹中进行提交。有变化吗?
【解决方案2】:

您可能需要 svn:externals,它为您描述的功能建模。见这里:http://svnbook.red-bean.com/en/1.0/ch07s03.htm

【讨论】:

  • 金克斯,在我说出你的名字之前你不能说话。
【解决方案3】:

为了彻底,TortoiseSVN 确实支持使用 GUI 界面设置 SVN 外部。两个参考链接:

http://justaddwater.dk/2007/10/23/setting-up-subversion-externals-with-tortoisesvn/

http://e-mats.org/2008/05/adding-an-external-svn-resource-with-tortoise/

(而且它并没有看起来那么糟糕!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    相关资源
    最近更新 更多