huserben / TfsExtensions

Extensions for TFS 2015+ such as custom Widgets (require TFS 2017) and Build Tasks
MIT License
44 stars 22 forks source link

Trigger new build add "C" to changesetversion #111

Closed DDeAlmeida closed 5 years ago

DDeAlmeida commented 5 years ago

Hi, I'm using your extension, all are work as espected except when i trigger a new build with "Use current changeset for the triggered build" option.

The trigger build have the same changeset but prefixed by "C".

Build 1 : ( which trigger build 2 ) Get sources : ##[command]tf vc get /version:943 /recursive .... Trigger a new build : Triggered Build will use the same source version: C943

Build 2 : Get sources : ##[command]tf vc get /version:C943

How can i have the version without prefixed "C" ?

My Nuget Restore crash du to this "C" because the letter is not expected... System.ArgumentException: '10.2.55.C943-Dev' is not a valid version string.

Thank you

My TFS : 15.117.27414.0 => 2017.3.1

huserben commented 5 years ago

Hi @DDeAlmeida

Thanks for your feedback. As far as I remember is the "C" prefix needed when we specify the exact version on a TFVC environment. However it feels odd if the nuget fails due to that.

Could you once try to queue "Build 2" manually and specify the source version explicitly: grafik

If you have the same problem with this, then it seems to be an Issue with TFS or the nuget restore. In case you have some custom script or so to invoke the restore that relies on the source version variable you might be able to just "ignore" prepended "C"s (or "L" in case someone builds for a specific label).

DDeAlmeida commented 5 years ago

Hi, thank you for your answer. Same error when build 2 is launch with "C" + Changeset Number

I added a powershell to remove the C when is present in Build.BUILD_SOURCEVERSION

Thank you