无法标记SVN repo路径中的--SVN、maven、Cygwin、空格
我在Windows7上从cygwin提示符(由maven脚本驱动)运行subversion命令时遇到问题。我试图运行的命令是从maven版本中调用的:prepare-goal:无法标记SVN repo路径中的--SVN、maven、Cygwin、空格,maven,svn,cygwin,spaces,Maven,Svn,Cygwin,Spaces,我在Windows7上从cygwin提示符(由maven脚本驱动)运行subversion命令时遇到问题。我试图运行的命令是从maven版本中调用的:prepare-goal: [INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file C:\cygwin64\tmp\maven-scm-1610151144.commit --revision 0 "https://mysvn.server/svn_projects/
[INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file
C:\cygwin64\tmp\maven-scm-1610151144.commit --revision 0
"https://mysvn.server/svn_projects/Path Space/More Whitespace/src/tags/dest-0.1"
"https://mysvn.server/svn_projects/Path Space/More Whitespace/src/tags/dest-0.1""
(我插入了一些换行符以使命令更具可读性)。
subversion命令无法标记,出现以下错误:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli)
on project dest: Unable to tag SCM
我已经尝试用“\”而不是简单的“”来转义maven pom.xml中SCM路径中的空格。同样的结果。除了在SVN中重新创建一条没有空格的新路径之外,还有什么方法可以解决这个问题吗
谢谢。URL不能包含空格。您需要做的是将空间编码为
%20
:
而不是:
https://mysvn.server/svn_projects/Path Space/More Whitespace/src/tags/dest-0.1
做
在maven pom.xml中?是的。URI不应包含某些字符。这些字符位于URI中。如果URI在pom.xml中,那么pom中的URI也应该进行编码。我推测标记失败的原因可能是因为SVN中没有标记与主干目录同级。Duh.在开发中禁止文件名和目录名中的空格总是一个好主意。我对Maven是如何进行SCM的了解还不够。我不喜欢让构建系统直接与版本控制系统交互。在SVN中,您可以使用
svncp--parent
创建父目录。例如,您有$REPO/tags
,但没有$REPO/tags/4.3
。您可以执行此操作,Subversion将创建4.3
标记目录及其下的proj
目录。
https://mysvn.server/svn_projects/Path%20Space/More%20Whitespace/src/tags/dest-0.1