svn忽略某个目录后update出现fetching

发布时间 2023-08-06 22:23:21作者: 赵青青

忽略某个子目录

在svn udpate一个大目录时忽略特定的子目录,主要是子目录下内容已经单独拉取过,并且这个大目录对于程序来说,可以是只读的。

操作方法:选中要忽略的目录,右键 svn - Unversion and add to ignore list,把目录添加到忽略属性中。

实际上就是修改的svn属性中的:svn:ignore


忽略完之后的update

假定要忽略的目录为: E:\design\输出文件\UI编辑器,为了方便,缩写UI编辑器就是指完整路径。

设置完忽略,第一次更新出现Fetching字样,svn update等待半小时之后出现:Tree conflict UI编辑器


再更新一次会出现冲突的提示

Skipped, remains conflicted UI编辑器
Completed At revision: 14031
Warning! One or more files are in a conflicted state.

后面的每一次整个目录更新,都会出现此冲突的提示,这是因为虽然忽略了,但是本地的文件还未删除,所以才会有冲突提示。


是否能更新到忽略目录下的内容?

经过测试,这样忽略本地的目录后,后面的svn update无法更新忽略目录下的文件,即达到我的需求。


ChatGPT的答案

Q:svn忽略某个目录后update出现fetching

A:如果在 SVN 中忽略了某个目录,进行 update 操作时可能会出现 "Fetching" 的情况。这是因为 SVN 仍然会尝试从服务器上获取这个目录的信息,但是在本地仓库中,这个目录被忽略了,所以 SVN 会提示 "Fetching"。

要解决这个问题,可以尝试以下步骤:

  1. 确保忽略某个目录的设置已经正确生效。可以在 SVN 仓库目录下找到 ".svn" 文件夹,查看是否包含了忽略的目录。
  2. 如果已经确定忽略设置正确,可以使用 "svn update --depth=empty" 命令来进行更新。这将只更新文件夹的元数据,而不会下载文件夹中的文件。例如,如果要更新名为 "test" 的文件夹,可以运行以下命令:svn update --depth=empty test
  3. 如果上述方法无法解决问题,可以尝试使用 "svn update --set-depth=exclude" 命令来排除要忽略的目录。例如,如果要排除名为 "test" 的文件夹,可以运行以下命令:svn update --set-depth=exclude test

以上是解决 SVN 忽略某个目录后 update 出现 "Fetching" 的一些常见方法。希望能对你有所帮助。