SVN:文件夹已经受版本控制,但没有进行评估?

mpe*_*pen 110 svn

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
Run Code Online (Sandbox Code Playgroud)

svn stat说它不受版本控制,所以我尝试添加它,然后它告诉我它是.当我这样做时svn ci,它不会被调整,并且当我尝试在线浏览到存储库时不会显示.

如何让它提交?

Tom*_*icz 161

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

现在更新您的项目,清理并提交剩下的内容.现在将文件夹移回工作目录,添加并提交.大部分时间这个解决方法都有效,似乎基本上SVN搞糊涂了......

更新:引用@Mark的评论:

不需要移动文件夹,只需删除.svn文件夹,然后svn-添加它工作.

  • 不需要移动文件夹,只需删除`.svn`文件夹然后svn-添加它工作. (51认同)
  • 感谢您将SVN识别为完全BS. (23认同)
  • +1,让我的一天;-)正如马克所说,对我来说,删除有问题的文件夹中的.svn目录就足够了. (6认同)

Tob*_*ias 20

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

由于没有其他版本化目录,我做到了

find . -mindepth 2 -name '.svn' -exec rm -rf '{}' \;
Run Code Online (Sandbox Code Playgroud)

删除错误的.svn目录; 在这之后,我能够添加新目录.

注意:

  • 如果包含其他版本化目录,则必须将查找表达式更改为更具体
  • 如果不确定,首先省略"-exec ..."部分以查看将删除的内容


hob*_*obs 15

@ gauss256的答案的变体,删除.svn,为我工作:

rm -rf troublesome_folder/.svn
svn add troublesome_folder
svn commit
Run Code Online (Sandbox Code Playgroud)

在Gauss的解决方案之前,我尝试了@ jwir3的方法并没有获得任何乐趣:

svn cleanup
svn cleanup *
svn cleanup troublesome_folder
svn add --force troublesome_folder
svn commit
Run Code Online (Sandbox Code Playgroud)


gau*_*256 14

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

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

find troublesome_folder -name .svn -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)