GitVersion
GitVersion copied to clipboard
[ISSUE]: Recursing symlinks infinitely - `PathTooLongException`
Prerequisites
- [x] I have written a descriptive issue title
- [x] I have searched issues to ensure it has not already been reported
GitVersion package
GitVersion.Portable
GitVersion version
6.1.0
Operating system
Windows
What are you seeing?
Executing gitversion /updateprojectfiles recurses symlinked directories deeply, then fails with System.IO.PathTooLongException. This happens both on Mac and Windows.
The offending symlink looks like this: I have a git repo under C:\...\root, and an npm package called @library/package under C:\...\root\packages\library, and within it, an npm package called examples. examples imports library like this: "@library/package": "file:..", so npm makes a symlink to library in examples/node_modules/@library/package.
node_modules is in my root .gitignore, so this is all the more unexpected.
What is expected?
GitVersion should stop following symlinks / ignore files that are in .gitignore / at least provide an option to ignore specific directories.
Steps to Reproduce
run gitversion /updateprojectfiles
This is my GitVersion.yaml:
workflow: GitFlow/v1
branches:
release:
increment: None
RepositoryFixture Test
No response
Output log or link to your CI build (if appropriate).
C:\...\root> gitversion /updateprojectfiles
{
...this works fine
}
INFO [25-02-07 12:49:21:88] Applicable build agent found: 'LocalBuild'.
INFO [25-02-07 12:49:21:92] Working directory: C:\...\root
INFO [25-02-07 12:49:21:94] Project root is: C:\...\root\
INFO [25-02-07 12:49:21:94] DotGit directory is: C:\...\root\.git
INFO [25-02-07 12:49:21:94] Branch from build environment:
INFO [25-02-07 12:49:21:94] Found configuration file at 'C:\...\root\GitVersion.yml'
INFO [25-02-07 12:49:21:96] -< Begin: Loading version variables from disk cache file C:\...\root\.git\gitversion_cache\EE1EE6CA57958F7FC7479292CB0E7AF381DE305E >-
INFO [25-02-07 12:49:22:00] -< End: Loading version variables from disk cache file C:\...\root\.git\gitversion_cache\EE1EE6CA57958F7FC7479292CB0E7AF381DE305E (Took: 43.22ms) >-
INFO [25-02-07 12:49:22:00] Found configuration file at 'C:\...\root\GitVersion.yml'
ERROR [25-02-07 12:51:41:31] An unexpected error occurred:
System.IO.PathTooLongException: The path 'C:\...\root\packages\library\examples\node_modules\@library/package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\node_modules\@library\package\examples\child' is too long, or a component of the specified path is too long.
at System.IO.Enumeration.FileSystemEnumerator`1.CreateRelativeDirectoryHandle(ReadOnlySpan`1 relativePath, String fullPath)
at System.IO.Enumeration.FileSystemEnumerator`1.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at GitVersion.Output.AssemblyInfo.ProjectFileUpdater.GetProjectFiles(AssemblyInfoContext context)+MoveNext() in /_/src/GitVersion.Output/AssemblyInfo/ProjectFileUpdater.cs:line 199
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at GitVersion.Output.AssemblyInfo.ProjectFileUpdater.Execute(GitVersionVariables variables, AssemblyInfoContext context) in /_/src/GitVersion.Output/AssemblyInfo/ProjectFileUpdater.cs:line 29
at GitVersion.GitVersionOutputTool.UpdateAssemblyInfo(GitVersionVariables variables) in /_/src/GitVersion.Output/GitVersionOutputTool.cs:line 43
at GitVersion.GitVersionExecutor.RunGitVersionTool(GitVersionOptions gitVersionOptions) in /_/src/GitVersion.App/GitVersionExecutor.cs:line 73
INFO [25-02-07 12:51:41:31] Please run `git log --graph --format="%h %cr %d" --decorate --date=relative --all --remotes=*` to see the git graph. This can help you troubleshoot any issues.
This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs.
I don't think this has been resolved.
The problem seems to stem from the following piece of code:
https://github.com/GitTools/GitVersion/blob/71d9a2553583f5647c415c95a5cb784c6c914a2e/src/GitVersion.Output/AssemblyInfo/ProjectFileUpdater.cs#L193-L198
I wonder if this:
fileSystem.Directory.EnumerateFiles(workingDirectory, "*", SearchOption.AllDirectories).Where(IsSupportedProjectFile))
…could perhaps be rewritten as:
fileSystem.Directory.EnumerateFiles(workingDirectory, "*.csproj;*.fsproj;*.vbproj", SearchOption.AllDirectories)
Not sure that would fix the problem, but it seems like a good idea to allow the file system to enumerate the correct files instead of enumerating all files and then reducing them to just the project files. Thoughts about this one @arturcic?
We might want to set the MaxRecursionDepth as well.
I guess that is worth trying, @ferenc-a are you able to run the current main branch with your repository and the changes @asbjornu mentioned?
I don't really want to go through the whole process of cloning the repo, setting up the environment, building and finding where the right exe is and so on. Please post an exe with the change here, if possible.
It would be nice if we were able to produce executables directly from pull requests, but we don't have that capability yet. As no one in the core team has the problem you're experiencing here @ferenc-a, we don't have a huge incentive to fix this. It would therefore be much appreciated if you could go through the hassle of cloning, patching, building, and executing GitVersion locally yourself. 🙏🏼
What command am I supposed to execute and where will the resulting exe be? If you want me to do this at least link the instructions, I couldn't see anything relevant in CONTRIBUTING.md or after skimming the docs site. I still think it would be way easier for someone already developing this to change those lines and send the exe, I don't think you should expect people to have the relevant dotnet setup and know-how either.
This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs.
Please try this on your side, or help me with the setup so I can test it.
I've submitted #4647 which may fix this problem. We'll let you know once it's available in GitVersion 6.4 so you can test it, @ferenc-a.
:tada: This issue has been resolved in version 6.4.0 :tada: The release is available on:
Your GitReleaseManager bot :package::rocket:
@ferenc-a, please take GitVersion 6.4.0 for a spin and report back your findings! :)
It did solve my issue, thank you!
@ferenc-a awesome, thanks for letting us know! 🙏🏼