1

我有一个目录,该目录来自我检查的与我的兴趣无关的主干部分。如何使用 Tortoise SVN 从我的系统中删除此文件夹并阻止 SVN 尝试为我提供更新而不将其从存储库中删除?

4

4 回答 4

4

我自己还没有使用它,但是看看稀疏目录:

http://svnbook.red-bean.com/en/1.5/svn.advanced.sparsedirs.html

Subversion 1.5 引入了一个称为稀疏目录(或浅签出)的功能,它允许您轻松签出工作副本或工作副本的一部分,比完全递归更浅,可以自由地引入以前忽略的文件和子目录稍后。

...

此时你可能会想,“那又怎样?我什么时候用这个?” 此功能找到实用程序的一种情况与特定的存储库布局相关联,特别是当您有许多相关或相互依赖的项目或软件模块作为同级存在于单个存储库位置(trunk/project1、trunk/project2、trunk/project3 等)时。 )。在这种情况下,您个人可能只关心其中的几个项目——可能是一些主要项目和它所依赖的一些其他模块。您可以检查所有这些东西的单个工作副本,但这些工作副本是不相交的,因此,同时对多个或全部执行操作可能很麻烦。另一种方法是使用稀疏目录功能,构建一个仅包含您关心的模块的工作副本。您将从项目的公共父目录的空深度签出开始,然后仅以无限深度更新您希望拥有的项目,就像我们在前面的示例中演示的那样。可以将其视为工作副本公民的选择加入系统。

于 2009-05-18T19:05:27.033 回答
0

据我所知,退房时不可能有选择地忽略条目。当你查看一个 SVN URL 时,你会得到它下面的所有内容。

因此,如果您的项目具有以下结构:

\trunk\Dir1
\trunk\Dir2
\trunk\Dir3

您可以获取所有 \trunk,也可以将每个 Dir1、Dir2 或 Dir3 单独检出到它们自己的工作目录中。不支持尝试检查中继但不包括 Dir2。

于 2009-05-18T18:58:42.333 回答
0

如果你检查后备箱,你会得到一切。如果它是您的回购,请根据项目/兴趣进行组织。如果您无法在一年内弄清楚它是什么,那么备份它并对其进行版本控制有什么意义?

于 2009-05-18T19:02:15.073 回答
0

你有几个选择:

  1. 只需删除文件夹,永远不要更新根目录,只更新已删除文件夹附近的子目录。

  2. 在根目录上设置 svn:ignore 属性以忽略不需要的文件夹,并且永远不要提交根目录。

  3. 您可以设置 tortoiseSvn 以检查根目录下的特定级别。如果您的问题在于不需要的目录中的大文件,那么您可以仅使用子级(一级)签出 root,然后在不需要的目录之外的所有目录上使用 switch 命令来签出它们下的所有级别,以节省不需要的空间目录 您仍然会看到一个空的不需要的目录。

于 2009-05-18T19:11:25.540 回答