Hi,
I’ve got a conditional that if a pipe (|) is in the path of a changeset, I want to do a <vssget> of the version number that follows it. For some reason, it’s not able to eval the pipe, even when I used an escape (\|).
Thanks,
Dave
Here’s the error: 'string::contains('\|', '$/InCharge/Windows Applications/Freedom.Win/About.cs')' is not a valid value for attribute 'test' of <if ... />.
Cannot resolve 'string::contains('\|', '$/InCharge/Windows Applications/Freedom.Win/About.cs')' to boolean value.
String was not recognized as a valid Boolean.
Here’s the snippet where it’s failing:
<foreach item="Line" in="${changeset}" property="myLine" >
<do>
<regex pattern="(?'filename'.*)\|(?'version'\w+)$" input="${myLine}" />
<!-- if there's a pipe, then a version is specified, otherwise it's a get latest -->
<if test="string::contains('|', '${myLine}')" />
<vssget
user="drisler"
password=""
localpath="C:\0_drisler_test\"
removedeleted="true"
replace="true"
writable="true"
dbpath="\\icivss\DevSourceControl\srcsafe.ini"
path="${filename}"
version="${version}"
/>
<!-- else we get the latest -->
<echo message="file=${filename}, ver= get the latest"/>
<vssget
user="drisler"
password="vss"
localpath="C:\0_drisler_test\"
removedeleted="true"
replace="true"
writable="true"
dbpath="\\icivss\DevSourceControl\srcsafe.ini"
path="${filename}"
/>
</do>
</foreach>