13

我无法对我的 Eclipse 项目执行任何 Subversion 操作,因为 Subclipse 无法重命名文件。错误是:

Caused by: org.tigris.subversion.javahl.ClientException: svn: Cannot rename file '/Users/damianharvey/Sites/Odyssey3.5/OdysseyEDIJAXB/src/com/locuslive/edi/edifact/d95b/coreor/.svn/tmp/entries' to '/Users/damianharvey/Sites/Odyssey3.5/OdysseyEDIJAXB/src/com/locuslive/edi/edifact/d95b/coreor/.svn/entries'
at org.tigris.subversion.javahl.JavaHLObjectFactory.throwException(JavaHLObjectFactory.java:777)
at org.tmatesoft.svn.core.javahl.SVNClientImpl.throwException(SVNClientImpl.java:1850)
at org.tmatesoft.svn.core.javahl.SVNClientImpl.cleanup(SVNClientImpl.java:863)
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.cleanup(AbstractJhlClientAdapter.java:1958)
... 8 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: Cannot rename file '/Users/damianharvey/Sites/Odyssey3.5/OdysseyEDIJAXB/src/com/locuslive/edi/edifact/d95b/coreor/.svn/tmp/entries' to '/Users/damianharvey/Sites/Odyssey3.5/OdysseyEDIJAXB/src/com/locuslive/edi/edifact/d95b/coreor/.svn/entries'

我正在运行 OSX Snow Leopard、Eclipse 3.5、Subclipse 1.6.5。

它看起来像一个权限问题。如果我列出错误中的目录,我会得到:

drwxrwxrwx   8 damianharvey  staff   272 19 Nov 17:43 .
drwxrwxrwx  16 damianharvey  staff   544 21 Sep 14:53 ..
-r--r--r--   1 damianharvey  staff  2030 21 Sep 14:53 all-wcprops
-r--r--r--   1 damianharvey  staff  2313 21 Sep 14:53 entries
drwxrwxrwx   2 damianharvey  staff    68 21 Sep 14:53 prop-base
drwxrwxrwx   2 damianharvey  staff    68 21 Sep 14:53 props
drwxrwxrwx  15 damianharvey  staff   510 21 Sep 14:53 text-base
drwxrwxrwx   6 damianharvey  staff   204 19 Nov 17:19 tmp

所以我认为是只读权限阻止了这种情况。如果我尝试将其更改为非常广泛的 777:

sudo chmod 777 /Users/damianharvey/Sites/Odyssey3.5/OdysseyEDIJAXB/src/com/locuslive/edi/edifact/d95b/coreor/.svn/entries
chmod: Unable to change file mode on /Users/damianharvey/Sites/Odyssey3.5/OdysseyEDIJAXB/src/com/locuslive/edi/edifact/d95b/coreor/.svn/entries: Operation not permitted

有任何想法吗?很想提交我的代码。

非常感谢。

4

1 回答 1

35

不用担心。谷歌阿姨帮我找到了

chflags -R nouchg .

这里的评论

如果您在 OS X 上更改工作区并将基于 SVN 的项目导入新工作区,则您的某些文件可能设置了 uchg 标志。SubClipse/SVN 将无法更新此项目。你会得到一个错误:

svn:无法重命名文件

每次你尝试调用 svn。如果您发出:

chflags -R nouchg 。

在项目目录的顶层,这将清除这些标志并恢复 SVN 功能。

于 2009-11-19T18:01:24.613 回答