如何仅使用TortoiseSVN Checkout(下拉)SVN树的部分?

时间:2009-11-03 15:21:03

标签: svn tortoisesvn svn-checkout

我正在使用TortoiseSVN,我想将现有存储库的Checkout导入本地目录。但是,我只想删除文件树的某些部分。我有办法做到吗?

例如:

/trunk
    /project-A
    /project-B
    /project-C

假设我只想拉下trunk,project-A和project-B。我该怎么做?

5 个答案:

答案 0 :(得分:63)

看起来你很成功但我希望包含一步一步的指南,希望它对其他人有所帮助。

  1. 结帐trunk为深度=“仅此项目”的工作副本
  2. 打开工作副本
  3. 从工作副本
  4. 转到repo浏览器
  5. 选择所需的项目子文件夹,右键单击并选择“将项目更新为修订版”
  6. 这会将您选择的子文件夹仅提取到工作副本中。

答案 1 :(得分:37)

这可能会迟到,但对于任何发现此问题并想知道您是否可以排除现有目录的人来说:似乎有办法这样做。

  1. 右键单击要排除的目录
  2. TortoiseSVN - >更新到修订版......
  3. 从“更新深度”下拉框中选择“排除”并按“确定”
  4. 如果该目录没有任何本地mod,则应删除该目录,并将其从进一步更新中排除。如果您需要该目录,请使用Michael Hackner的上述方法。

答案 2 :(得分:8)

从上面扩展自治的答案......

如果你已经签出了整个项目,后来想要从中排除某些文件夹或文件......

  1. 右键单击包含要排除的目录/文件的父目录
  2. TortoiseSVN - >更新到修订版......
  3. 从更新深度下拉框中选择排除,然后单击“选择项目...”和
    • 选择您要保持
    • 的项目
    • 取消选择您要排除
    • 的项目
    • 然后按OK&再次确定
  4. 这应删除取消选择的目录/文件,并将其排除在进一步更新之外。如果您需要该目录,请重复该过程并更改您的选择。

答案 3 :(得分:4)

如果您进入项目-A文件夹并右键单击==> SVN更新,它将只更新项目-A文件夹及其子文件夹。然后你可以为project-B

做同样的事情

答案 4 :(得分:3)

这也有效:

  1. 右键单击>选择SVN Checkout
  2. 选择“选择项目......”
  3. 选择所需的子文件夹/项目[1]
  4. [1] - 请注意,如果您部分检出子文件夹(没有该子文件夹中的所有项目),并且文件随后被添加到该子文件夹并提交,那么当您执行常规结帐时,您将无法获得它们。

    此问题与Can you do a partial checkout with Subversion?有关,但与使用TortoiseSVN有特定背景。