Skip to content

Ignore case when resolving NuGet dependencies

Fabien Catteau requested to merge 353806-nuget-ignore-case into master

What does this MR do?

Make the NuGet lock file parser case insensitive when resolving dependencies. Dependency names are converted using strings.ToLower before being used as a map key, to later retrieve them. This is needed because of project references: a Project node might depends on another one, but it might refer to it with a different case.

A Project node can't simply be skipped otherwise dependencies connected it would be reported as top-level/direct dependencies. See !271 (closed)

Project nodes are always reported as top-level/direct dependencies to ensure that they are connect to the root node. This is necessary in order to have a dependency path to a package that's only connect to Project nodes, and not to Direct nodes.

What are the relevant issue numbers?

gitlab-org/gitlab#345144 (closed)

Does this MR meet the acceptance criteria?

Edited by Fabien Catteau

Merge request reports

Loading