用svn提交时,某个文件夹提交失败,显示missing (obsturcted)状态。
经查找网上有一些解决办法。可能是误删除了.svn目录(Subversion进行控制所依赖的.svn目录,是一个隐藏目录,里面包括了Subversion要用到的版本控制的信息),这一目录删除了之后,客户端便丢失了版本控制的信息,新建的目录名字又是和原来Subversion中一样的文件名,提交的时候一直出现某某目录“阻碍(obstructed)”或者某某目录不在版本控制之下,导致提交失败。
(1)Try a 'Clean Up' of the folder or the entire working copy.
(2)You've probably deleted/moved some files / directories directly from the file system, and not through SVN commands. This can sometimes lead to a directory becoming obstructed if it can not work out the differences against the repository.
Try performing a clean-up first, and if that fails, revert that directory and try use SVN commands for changing directory file structure (delete/move).
(3)
If the .svn sub-directory is missing the directory is marked obstructed as SVN has no way of knowing the directory's status any more. Most likely clean-up or revert isn't able to fix it, since local svn data is gone, so you got two options:
- rm the directory and update to get latest working copy
- if the directory contains valuable, changed stuff, check out the latest working copy in a temp directory and manually copy the missing .svn directories in place, then SVN is again able to make sense of it.
(4)it occurs when you have deleted or moved the .svn subdirectories (without going through SVN commands), so SVN has a corrupted view of the working copy.
Try a cleanup first, and if that doesn't solve it, revert (or update) the directory to restore the subdirectory .svn folders.
(5)
This means that, for some reason, a conflict has occurred during the operation. Check to see if there is an existing unversioned file or folder with the same name as a versioned one.
(Paraphrased from the Tortoise SVN client help file)
可以先将库里有冲突的文件夹删除,然后再在本地新建提交该文件?
参考:
http://svn.haxx.se/tsvn/archive-2005-10/0235.shtml
http://niyue.com/2005/07/
http://stackoverflow.com/questions/335980/what-causes-svn-commit-to-fail-and-report-a-file-dir-as-obstructed