SVN:文件夹已处于版本控制之下但未提交?

问题描述 投票:0回答:10
mark@mark-ubuntu:~/myproject$ svn stat
?       runserver.sh
?       media/images/icons
?       apps/autocomplete
mark@mark-ubuntu:~/myproject$ svn add apps/autocomplete
svn: warning: 'apps/autocomplete' is already under version control

svn stat
说它不受版本控制,所以我尝试添加它,然后它告诉我它是。当我执行
svn ci
时,它不会被提交,并且当我尝试在线浏览存储库时不会显示。

如何让它提交?

svn
10个回答
165
投票

将有问题的文件夹复制到某个备份目录中,并将其从 SVN 工作目录中删除。请记住从复制的文件夹中删除所有

.svn
隐藏目录。

现在更新您的项目,清理并提交剩下的内容。现在将您的文件夹移回工作目录,添加它并提交。大多数情况下,这种解决方法都有效,似乎 SVN 基本上都感到困惑......

更新:引用@Mark的评论:

不需要移动文件夹,只需删除

.svn
文件夹,然后 svn 添加即可。


20
投票

添加包含 .svn 目录的目录树后,我遇到了类似的问题(因为它在源环境中是 svn:external ): svn status 告诉我“?”,但是当尝试添加它时,它是“已经在版本控制之下”。

由于不存在其他版本目录,所以我这样做了

find . -mindepth 2 -name '.svn' -exec rm -rf '{}' \;

删除错误的.svn目录;完成此操作后,我能够添加新目录。

注意

  • 如果包含其他版本目录,则必须将查找表达式更改为更具体
  • 如果不确定,请先省略“-exec ...”部分,看看会删除什么

15
投票

@gauss256 的答案的一个变体,删除

.svn
,对我有用:

rm -rf troublesome_folder/.svn
svn add troublesome_folder
svn commit

在高斯的解决方案之前,我尝试了@jwir3的方法,但没有得到任何喜悦:

svn cleanup
svn cleanup *
svn cleanup troublesome_folder
svn add --force troublesome_folder
svn commit

14
投票

(1) 这件事刚刚发生在我身上,我觉得这很有趣它是如何发生的。 基本上我已经将该文件夹复制到一个新位置并对其进行了修改,忘记了它会带来所有隐藏的 .svn 目录。 一旦您意识到它是如何发生的,将来就更容易避免。

(2) 删除 .svn 目录是解决方案,但您必须在目录树中一直递归地执行此操作。最简单的方法是:

find troublesome_folder -name .svn -exec rm -rf {} \;
    

3
投票
您尝试过执行 svn 清理吗?


3
投票
检查目录“apps/autocomplete/.svn”。 将其移至安全的地方(以防您需要恢复它,因为这不起作用),看看是否可以解决问题。


0
投票
我找到了一个解决方案,如果你安装了

Eclipse(Luna) 以及 SVN 客户端 JavaHL(JNI) 1.8.13 和 Tortoise:

打开Eclipse: 首先尝试将项目/maven模块添加到版本控制中 (项目 -> 上下文菜单 -> 团队 -> 添加到版本控制)

您将看到以下 Eclipse 错误消息:

org.apache.subversion.javahl.ClientException:条目已存在 svn:“PathToYouProject”已处于版本控制之下

之后,您必须在资源管理器中打开工作区目录,选择您的项目并通过 Tortoise 解析它 (项目 -> 上下文菜单 -> TortoiseSVN -> 解决)

您将看到以下消息对话框: “

文件列表为空

按“取消”并在 Eclipse 中刷新项目。 您的项目应该再次受到版本控制。

不幸的是,不可能同时解决多个项目...您不必删除任何内容,但根据项目的大小,这可能会有点费力。


0
投票
对我来说,执行 svn update,然后执行 svn commit 是有效的。无法添加的文件夹中不存在 .svn 文件夹。


0
投票
只需重命名有问题的文件,Commit,重命名为原来的名称并commit


0
投票
我每次都使用

--force

 标志:

svn add --force example/folder/*


    

© www.soinside.com 2019 - 2024. All rights reserved.