Wiebe Tijsma
Wiebe Tijsma

Reputation: 10265

TFS 2013.4 build with GIT submodules are failing

We've just updated our TFS to TFS 2013 update 4 (TFS2013.4), and we're using GIT submodules in our repositories (that we updated with some custom MSBUILD magic on the build server).

However now with the latest update, our builds all fail with this message:

Cannot set unknown member 'Microsoft.TeamFoundation.Build.Activities.Git.GitPull.CheckoutSubmodules'.

Seems like Microsoft has added some kind of support for GIT submodules, however it does fail on our build server.

Any ideas on how to fix this?

Upvotes: 3

Views: 1532

Answers (2)

Wiebe Tijsma
Wiebe Tijsma

Reputation: 10265

Well this was caused by my own stupidity (as most of the time).

I figured just installing Visual Studio Update 4 (VS2013.4) would install the same required client libraries for the build server that TFS used, however I was wrong.

Just updating the TFS Build servers to TFS2013.4 solved the problem.

EDIT: The only problem solved is that the 'hackety MSBUILD magic' of updating submodules works again, no native suppport.

Seems like differing versions between TFS2013.4 on the TFS server and TFS2013.2 on the build servers caused the problem that the repo's couldn't be fetched at all, whether it had submodules or not.

As the error in the question leads to believe, it looks like the build server started to support submodules natively, but I haven't been able to make this work.

EDIT 2:

For the ones asking for the hackety solution, I've ended up using a plain text _netrc file in the profile folder of the build service user, like this:

machine <hostname1>
login <login1>

Git - How to use .netrc file on windows to save user and password

I've also ran into the problem that when the TFS build service account runs under the context of TFS build, the HOME environment variable isn't set, so I had to set that manually:

under System Properties > Environment Variables

Set the System Variable HOME to %PROFILE%

Upvotes: 3

Philippe
Philippe

Reputation: 31207

FYI, It seems that submodule checkout is for TFS2015... Have a look at the image to configure a git build, there is a checkbox to update submodules..

Upvotes: 1

Related Questions