scm accept using symbolic links on windows fails
ok. I saw some discussion concerning symbolic links but none that addressed this scenario...
We are using a Jenkins system to pull RTC code. The method is to use the RTC scmtools.
So we are using the windows command line to do something like this...
scm.exe history...
scm.exe load...
scm.exe compare...
scm.exe accept... (fails)
We have a symbolic link created on the Windows Server 2008 boxes to enable all of our Jenkins slaves to use the same file workspace (and RTC workspace). This works great for clearcase, TFS, SVN but we are stuggling with getting RTC to work.
So our slave file workspace path looks like this:
N:\Jenkins\workspace\JOBNAME
but
N:\Jenkins\workspace actually points to a common network drive "\\server\\workspace"
Everything works fine except for the accept command which gives the following error:
Could not initialize data area:
Couldn't find canonical path for "N:\Hudson\Workspace\JOBNAME" while searching for CFA root.
If we pass in the UNC network name instead (using -d), the accept command works, but this is not an ideal solution for us because we would like the sym link network target to be hidden from the Jenkins system.
scm version we are using: 3.0.2.v20110919_0209
I downloaded the latest 4.0.0.1 release but the smtools seem to be the same version (unless I am missing something).
Thanks in advance for any suggestions!
Anthony
--------------------
Having trouble adding a comment to my question(?) --- so here is a link to the Jenkins console log showing the syntax we are using. Thanks again!
http://paragonighost.com/Drop/rtc_jenkins_log.txt
We are using a Jenkins system to pull RTC code. The method is to use the RTC scmtools.
So we are using the windows command line to do something like this...
scm.exe history...
scm.exe load...
scm.exe compare...
scm.exe accept... (fails)
We have a symbolic link created on the Windows Server 2008 boxes to enable all of our Jenkins slaves to use the same file workspace (and RTC workspace). This works great for clearcase, TFS, SVN but we are stuggling with getting RTC to work.
So our slave file workspace path looks like this:
N:\Jenkins\workspace\JOBNAME
but
N:\Jenkins\workspace actually points to a common network drive "\\server\\workspace"
Everything works fine except for the accept command which gives the following error:
Could not initialize data area:
Couldn't find canonical path for "N:\Hudson\Workspace\JOBNAME" while searching for CFA root.
If we pass in the UNC network name instead (using -d), the accept command works, but this is not an ideal solution for us because we would like the sym link network target to be hidden from the Jenkins system.
scm version we are using: 3.0.2.v20110919_0209
I downloaded the latest 4.0.0.1 release but the smtools seem to be the same version (unless I am missing something).
Thanks in advance for any suggestions!
Anthony
--------------------
Having trouble adding a comment to my question(?) --- so here is a link to the Jenkins console log showing the syntax we are using. Thanks again!
http://paragonighost.com/Drop/rtc_jenkins_log.txt
2 answers
Hi Anthony,
Sorry for the late reply, I didn't notice that you have updated the original question with the link to the Jenkins log. In your build script, can you please set the current working directory to N:\Hudson\workspace\EBA_RTC-Plugin_EBA-Baseline_CI and run the accept command without specifying the -d argument?
Thanks,
Sridevi
RTC SCM CLI
Sorry for the late reply, I didn't notice that you have updated the original question with the link to the Jenkins log. In your build script, can you please set the current working directory to N:\Hudson\workspace\EBA_RTC-Plugin_EBA-Baseline_CI and run the accept command without specifying the -d argument?
Thanks,
Sridevi
RTC SCM CLI
This is a known bug. The workaround is to create a "junction" rather then symbolic link. i.e. "mklink /j"
See also:
Defect 330995
See also:
Defect 330995
Comments
Sridevi Sangaiah
JAZZ DEVELOPER Oct 26 '12, 3:18 a.m.Hi Anthony,
If I am not wrong, you are able to run history, load, and compare from the path N:\Jenkins\workspace\JOBNAME, but scm accept fails, is that correct?
Also can you please provide the syntax in which you are executing the history, load, compare and accept commands. I am more interested on the options than the values provided with the options, so you can mask the values that you are using.
Thanks,
Sridevi
RTC SCM CLI