您好,我在使用 SVN 存储库时遇到问题。当我尝试在 SVN 中更新我的项目时,出现以下错误:
oomsys@oomsysmob-6:~/brundelre3$ svn st
svn: warning: '.' is not a working copy
oomsys@oomsysmob-6:~/brundelre3$ svn up
Skipped '.'
我尝试了以下链接中先前解释此错误的方法:
从所有目录中删除 .svn 文件
http://www.ubun2.com/question/348/how_remove_all_svn_folders_recursively
但没有办法解决我的问题。我想从项目中删除所有隐藏文件。
谢谢
尼尔玛拉·苏迪尔
答案1
find
您可以使用和删除文件夹中的所有点文件rm
。
find . -name ".*" -type f | xargs rm -v
它搜索给定文件夹中的所有点文件,并将结果传递给 ,然后rm
删除该文件。它不会删除目录。当未找到要删除的文件时,rm
将返回rm: missing operand
。
答案2
如果您按照两个链接中的说明进行操作,那么您已经删除了所有 svn 文件。
这就是您现在无法执行 svn 更新的原因。源代码目录中的 .svn 文件夹包含 svn 使用的所有数据,用于确定已更改的内容以及从何处获取更新。svn 需要它们来更新您拥有的文件。
如果你想删除所有隐藏文件和文件夹但保留 svn 数据,那么你需要类似的东西-
find /path/to/workdir -name ".*" -not -name ".svn" -not -name "." | xargs rm -Riv
如果您进行了想要保留的更改,则需要将这些源文件放在一边并签出新副本。然后,您应该在两个文件夹之间运行 diff 并合并您想要保留的任何更改。然后,您将回到能够使用 svn up 以及 svn diff / svn ci 等的状态。
如果你没有做出任何改变,那么只需删除所有内容并执行一个新的 svn co