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
时,它不会被调整,并且在我尝试在线浏览到存储库时不会显示。
如何让它提交?
答案 0 :(得分:160)
将有问题的文件夹复制到某个备份目录中,并将其从SVN工作目录中删除。请记住从复制的文件夹中删除所有.svn
个隐藏目录。
现在更新您的项目,清理并提交剩下的内容。现在将文件夹移回工作目录,添加并提交。大部分时间这种解决方法都有效,似乎基本上SVN感到困惑......
更新:引用@Mark的评论:
不需要移动文件夹,只需删除
.svn
文件夹,然后再添加它就可以了。
答案 1 :(得分:20)
在添加包含.svn目录的目录树后,我遇到了类似的问题(因为它在源环境中是一个svn:external): svn状态告诉我“?”,但在尝试添加它时,它“已经处于版本控制之下”。
由于没有其他版本化目录,我做了
find . -mindepth 2 -name '.svn' -exec rm -rf '{}' \;
删除错误的.svn目录;在这之后,我能够添加新目录。
注意强>:
答案 2 :(得分:15)
@gauss256's answer的变体,删除.svn
,对我有用:
rm -rf troublesome_folder/.svn
svn add troublesome_folder
svn commit
在高斯的解决方案之前,我尝试@jwir3's approach并没有得到任何快乐:
svn cleanup
svn cleanup *
svn cleanup troublesome_folder
svn add --force troublesome_folder
svn commit
答案 3 :(得分:14)
(1)这恰好发生在我身上,我觉得它很有趣它是如何发生的。基本上我已经将文件夹复制到一个新位置并对其进行了修改,忘记了它会带来所有隐藏的.svn目录。一旦你意识到它是如何发生的,将来就更容易避免。
(2)删除.svn目录是解决方案,但您必须在目录树中一直递归地执行此操作。最简单的方法是:
find troublesome_folder -name .svn -exec rm -rf {} \;
答案 4 :(得分:3)
您是否尝试过执行svn清理?
答案 5 :(得分:3)
检查目录'apps / autocomplete / .svn'。将它移动到安全的地方(如果你需要恢复它,因为这不起作用),看看是否能解决问题。
答案 6 :(得分:0)
我找到了一个解决方案,以防您使用SVN Client JavaHL(JNI)1.8.13和Tortoise 安装 Eclipse(Luna):
打开Eclipse: 首先尝试将project / maven模块添加到Version Control (项目 - >上下文菜单 - >团队 - >添加到版本控制)
您将看到以下Eclipse错误消息:
org.apache.subversion.javahl.ClientException:条目已存在 svn:'PathToYouProject'已经受版本控制
之后,您必须在资源管理器中打开工作区目录,选择您的项目并通过Tortoise解决它 (项目 - >上下文菜单 - > TortoiseSVN - >解决)
您将看到以下消息对话框: “文件列表为空”
按下取消并在Eclipse中刷新项目。 您的项目应再次受版本控制。
不幸的是,不可能同时解决更多的项目...你不必删除任何东西,但根据项目的大小,它可能会有点费力。
答案 7 :(得分:0)
对我来说,执行svn更新,然后执行svn commit可以。文件夹中没有.svn文件夹,无法添加。