TFS 2013.4 using GIT submodules doesn't work
We just upgraded our TFS to TFS 2013 update 4 (TFS2013.4) and we are using GIT submodules in our repos (which we updated with some custom MSBUILD magic on the build server).
However, now with the latest update, our builds are not working with this message:
Unable to set unknown element 'Microsoft.TeamFoundation.Build.Activities.Git.GitPull.CheckoutSubmodules'.
It looks like Microsoft has added some sort of support for GIT submodules, however this won't work on our build server.
Any ideas on how to fix this?
source to share
Ok, this was caused by my own stupidity (like most of the time).
I figured that simply installing Visual Studio Update 4 (VS2013.4) would install the same required build server client libraries as TFS, however I was wrong.
Just updating the TFS build servers to TFS2013.4 fixed the issue.
EDIT: The only problem solved is that the "hackety MSBUILD" magic for updating submodules works again, there is no built-in suppport.
It looks like the different versions between TFS2013.4 on the TFS server and TFS2013.2 on the build servers caused an issue whereby the repo could not be checked out at all, regardless of whether it had submodules or not.
As the error in the question comes up, it looks like the build server started supporting submodules natively, but I was unable to get the job done.
EDIT 2:
For those asking for a hackety solution, I ended up using a plain text file _netrc
in the user profile folder of the build service, like this:
machine <hostname1>
login <login1>
Git - How to use Windows .netrc file to save user and password
I also ran into the problem that when the TFS Build Service Account is running in the TFS Build context, the HOME environment variable is not set, so I had to set it manually:
under System Properties> Environment Variables
Set the system variable HOME
to%PROFILE%
source to share
FYI. Seems like checking a submodule for TFS2015 ... Look at the image for setting up git build , there is a checkbox to update submodules.
source to share