Having TFS on board can be pleasure and pain in the same time. I like TFS for it’s integration with Visual Studio, great support for Code Review and checkin polices. But on the other hand it sometimes just gets in my way. I have a feeling that integration between newly on-boarded ASP.NET 5 tools like bower or gulp and TFS Visual Studio tooling can be a little better and that it’s designed more to be used with Git or Svn.
cmd.exe /c gulp -b "C:\OHS\trunk\AppCode\HealthandSafety.Mvc6" --color --gulpfile "C:\OHS\trunk\AppCode\HealthandSafety.Mvc6\Gulpfile.js" compile:js
[16:45:41] Using gulpfile C:\OHS\trunk\AppCode\HealthandSafety.Mvc6\Gulpfile.js
[16:45:41] Starting 'compile:js'...
[16:45:41] Finished 'compile:js' after 4.99 ms
throw er; // Unhandled 'error' event
Error: EPERM, open 'C:\OHS\trunk\AppCode\HealthandSafety.Mvc6\wwwroot\js\site.min.js'
Process terminated with code 8.
The check-out check-in model used in TFS sets all the files to read only. Having this attribute and using any file task like
gulp-cssmin for generating frontend assets results in error.
TFS tooling for Visual Studio pick up all new files in solution and adds them to source control. This involves all newly generated files as well.
Easy one I said to myself at the beginning – you just have to tell source control to ignore those files. TFS surely have easy enough interface to do that. How surprised and mistaken I was.
Quick googling reveals that it’s actually a hard task and all of them were incompatible for my environment and local requirements.
To make the long story short the best solution I have found was to set workspace as ‘Local’.