2

这似乎是一项简单的任务,但在我的一生中,我无法让 Hudson 将我的源代码签出到特定目录。我可以在命令行上使用 svn 检查源代码。我尝试在源代码管理下指定本地模块设置,但没有骰子。

我将它设置为 c:\source\trunk 并在运行构建时得到它。

Started by user anonymous
Checking out http://mysvnserver/trunk
java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.Win32FileSystem.canonicalize(Unknown Source)
    at java.io.File.getCanonicalPath(Unknown Source)
    at java.io.File.getCanonicalFile(Unknown Source)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:742)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:660)
    at hudson.FilePath.act(FilePath.java:753)
    at hudson.FilePath.act(FilePath.java:735)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:653)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:601)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1082)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
    at hudson.model.Run.run(Run.java:1280)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:293)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:137)
Finished: FAILURE

当我尝试设置相对路径时,它说我不能使用绝对目录。即\源\主干

我想要发生的只是 hudson 将我的源结帐到 c:\source\trunk

4

3 回答 3

5

正如 sbi 已经说过的:

像 SVN 这样的路径是相对于 Workspace root的。至少这就是“本地模块目录”的帮助在作业配置页面上所说的。

当您使用“\”开始路径时,这意味着该路径是绝对的。你有两个选择。

  1. 为您的工作定义自定义工作区。这可能是 c:\source 并且源的检出将是主干(或者如果检出您的 svn url 以“/trunk”结尾,则将其留空。
  2. 将其签出到您的标准工作区,然后将其复制到 C:\source\trunk。

顺便说一句,我倾向于第二种选择,因为我几乎不惜一切代价避免使用自定义工作区。

于 2010-10-05T20:16:39.513 回答
1

像 SVN 这样的路径是相对于 Workspace root 的。至少这就是“本地模块目录”的帮助在作业配置页面上所说的。

于 2010-10-05T18:50:44.747 回答
0

另一种解决方法是在运行 Hudson 的同一系统中创建主从配置。在同一台机器上创建一个从站,并在从站配置中指向您希望您的项目结帐的位置

于 2010-10-23T12:54:20.707 回答