子剪辑无法重命名文件 (OS X)

2022-09-04 06:11: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

有什么想法吗?很想提交我的代码。

非常感谢。


答案 1

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

chflags -R nouchg .

从这里的评论中

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

svn: 无法重命名文件

每次尝试调用 svn 时。如果您发出以下问题:

chflags -R nouchg .

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


答案 2

推荐