无法从 svn 签出:svn: E000002

Cannot checkout from svn: svn: E000002

我在 Windows 上使用 IntelliJ,并且安装了 svn (cygwin)。但是结帐也不起作用:

Cannot checkout from svn: svn: E000002: Can't make directory '/cygdrive/c/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.1.2/C:\Users\username\Desktop': No such file or directory

制作目录好像有点奇怪。你怎么看?如何解决这个问题?

提前致谢!

仔细看看给你报错的路径:

/cygdrive/c/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.1.2/C:\Users\username\Desktop

它看起来有效吗?完全没有。

我不确定根本原因,但很可能 Windows 上的 IntelliJ IDEA 无法与通过 cygwin 运行的 SVN 一起使用。使用为 Windows 构建的 SVN。您可以获取 https://subversion.apache.org/packages.html#windows(页面最底部)指定的软件包之一。

以防其他人遇到这个问题。当给出使用哪种 svn 格式的选项时,select 1.7 format

希望这对某人有所帮助。

问题是您使用的 cygwin svn 需要 POSIX 路径(使用正斜杠),但您给它提供了 Windows 路径(使用反斜杠并具有驱动器号)。当你给它相对路径时它有时会起作用,但永远不会使用绝对路径,因为 windows 路径以驱动器号开头,POSIX 绝对路径以正斜杠开头。

如果你想使用cygwin svn,那么你需要将你的windows路径转换为cygwin路径。 cygwin 有一个可用的工具,称为“cygpath”。他们结帐的方式是:

svn co `cygpath "C:\Users\username\Desktop"`

注意命令 cygpath 之前和路径结束引号之后的反引号(与键盘上的 ~ 键相同);在将结果作为参数传递给 svn co 之前使 cygpath 命令 运行。如果您的路径有空格,您将需要在反引号之外添加一组额外的引号。