GitVersion: Cache broken with GitVersionTask 3.6.0

I’ve just updated the MSBuild task package and apparently the cache is broken. Each target (WriteVersionInfoToBuildLog, WriteVersionInfoToBuildLog and GitVersion) in each built project recalculates the version number from scratch. Every time I see

Cache file C:\TeamCity\buildAgent\work\aaa244402599d927\.git\gitversion_cache\XYZ123.yml not found

And every time (during one build) the XYZ123 part is different. Worked good in version 3.5.4

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 31 (25 by maintainers)

Commits related to this issue

Most upvoted comments

Updated to 3.6.2. Cache is working again on my build server. Thanks!

@JakeGinnivan I made a local build of GitVersion, where I added a bunch of debug info:

[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:24] Applicable build agent found: 'TeamCity'.
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:24] Branch from build environment: refs/heads/master
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:40] IsDynamicGitRepository: False
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:40] Returning Project Root from DotGitDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git - C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:40] Project root is: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:40] DotGit directory is: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:40] Begin: Creating cache key
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:40] dotGitDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:40] fileSystem.Type: GitVersion.Helpers.FileSystem
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:41] lastWriteDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git\refs\heads at 2016-07-20T10:30:33.3694796Z
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:42] lastGitRefsChangedTicks: 636046074333694796
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:42] gitSystemHash: F5EE0BFC8A9ED77A73138C9758BBDB94582F334E
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:42] IsDynamicGitRepository: False
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:42] Returning Project Root from DotGitDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git - C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:42] configFileHash: 
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:42] repositorySnapshotHash: 9DC5F0788F5E28502467DE855A9B70A9E678F540
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:43] overrideConfigHash: 
[WriteVersionInfoToBuildLog]   INFO [07/20/16 12:30:33:43] compositeHash: 745008D89B2C3CF1ABDA43F572E94F48830177F8
[WriteVersionInfoToBuildLog] INFO [07/20/16 12:30:33:43] End: Creating cache key (Took: 26.00ms)


[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:59] Applicable build agent found: 'TeamCity'.
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:59] Branch from build environment: refs/heads/master
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:61] IsDynamicGitRepository: False
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:62] Returning Project Root from DotGitDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git - C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:62] Project root is: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:62] DotGit directory is: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:62] Begin: Creating cache key
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] dotGitDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] fileSystem.Type: GitVersion.Helpers.FileSystem
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] lastWriteDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git\refs\heads at 2016-07-20T10:30:33.6024930Z
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] lastGitRefsChangedTicks: 636046074336024930
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] gitSystemHash: 8EDD4CCE752764B9B7FA39DD136356CA4A3A1A36
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] IsDynamicGitRepository: False
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] Returning Project Root from DotGitDirectory: C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65\.git - C:\TeamCity_BuildAgent_1\work\a458f20b6997ff65
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] configFileHash: 
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] repositorySnapshotHash: 9DC5F0788F5E28502467DE855A9B70A9E678F540
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] overrideConfigHash: 
[UpdateAssemblyInfo]   INFO [07/20/16 12:30:33:62] compositeHash: 183C0614646EBAE4F8EB31BE8ADC17B4A74F488D
[UpdateAssemblyInfo] INFO [07/20/16 12:30:33:62] End: Creating cache key (Took: 8.00ms)

The difference is when getting the last directory write. If you look at the timestamps, the write to .git\refs\heads happens somewhere between Branch from build environment: refs/heads/master and IsDynamicGitRepository: False