签出SVN trunk子文件夹并覆盖现有文件

时间:2012-03-20 20:47:44

标签: svn drupal version-control

我的本​​地文件结构设置如下:

drupal-> sites->清一色>模块 - >自定义

和drupal-> sites-> all-> modules-> custom2

当然模块有很多其他子模块,但我只关心自定义和custom2。我还有一个具有以下结构的SVN URL:

的https:/ someurl /中继/ drupal的/

在模块下我只有自定义和custom2,没有其他子模块。

因此,我们的想法是只有一个结帐URL,可以获取这些文件夹和内容,并覆盖我的本地版本的custom和custom2。

抱歉,如果我没有意义,但我需要一些认真的帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

在这种情况下,你已经达到了Subversion的极限。 Subversion的设计易于使用和简单。你签出一个项目并完成你的工作。这种方法在90%的情况下有效,但也有例外情况,而且你已经击中了其中一​​个。

如果你想使用Subversion,有两种方法可以做到这一点:

  • 使用分支:在所需的配置中创建分支,然后使用它。你必须继续合并和重新定位,但这并不是那么困难。

  • 使用构建文件来创建所需的配置:在这种情况下,您可以执行结帐,但是您可以使用类似的方式进行构建一个Makefile或一个Ant build.xml文件,为您重新配置目录结构。

您需要的是能够以您希望结帐方式配置的内容。使用这些系统,您可以创建一个视图,指定您检出的目录和位置。我想起了PerforceClearCase。我跳过了ClearCase。它很慢,需要大量的硬件。 Perforce照明速度快,价格便宜。使用Perforce,您可以定义一个视图,告诉Perforce您要检出的内容,以及您希望它在工作目录中显示的位置。

Perforce对于小型项目(2个用户和5个视图)或开源项目是免费的。我没有使用过一段时间的项目,因为它不值得花费和复杂性。但是,在您的情况下,它可能比Subversion更适合您的需求。您可以免费下载并试用。

是的,你问的是如何在Subversion中做到这一点,但Subversion可能不像其他工具那样容易做你想做的事。

答案 1 :(得分:0)

如果我理解正确,我认为您正在寻找Sparse Directories

否则,您可以为每个自定义和自定义2创建svn:externals引用。