-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lowercase package names in package cache (resolves #2676) #2812
Conversation
Tested on Windows and Linux; looks like it works! |
the old nuget client didn't do it!? And I never saw that in the cache!? |
What "old" NuGet client do you mean? |
Nuget.exe with packages.config
Am 06.10.2017 09:44 schrieb "Julian Kwieciński" <notifications@github.com>:
… What "old" NuGet client do you mean?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2812 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNC5klx7CEE1aFNuyihqWDH67V1Reks5spdpygaJpZM4PqWu6>
.
|
I tested it using |
Standalone |
weird. this just feels so wrong |
it does, but afaik there's no other way to maintain cache compatibility 😢 |
Sorry, I screwed up the PR, I shouldn't have worked directly on master. New PR: #2826 |
@forki can you elaborate? Do you mean the concrete change or in general? |
in general. |
Then I still don't get it. It is not our cache and we should do what nuget is doing? what is the problem? |
I think it would be better to go along with NuGet's cache rules instead of using the same cache folder with different rules. |
yes I'm 100% your opinion to do it in same way as nguet. I just wonder why they changed it... |
probably because they have to support Linux, which has case-sensitive filesystem. On second thought... why did they decide to use lowercase instead of original casing everywhere? |
@forki Are you sure that it was not me with the storage:none changes by accident? |
no I'm sure I saw "original casing" everywhere. that's why I was making so much efforts to get that right |
relevant comment in NuGet repo: NuGet/Home#5637 (comment) |
That is not 100percent true. But anyway.
Am 06.10.2017 15:34 schrieb "Julian Kwieciński" <notifications@github.com>:
… relevant comment in NuGet repo: NuGet/Home#5637 (comment)
<NuGet/Home#5637 (comment)>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2812 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNDgUydnKttLHaQ6ov6kKZ-NtVM3Nks5spix9gaJpZM4PqWu6>
.
|
NuGet client used by
dotnet
CLI lowercases package names when saving them topackages
folder and to the cache, while Paket doesn't touch the casing. On case-sensitive filesystems (i.e. on Mono under Linux) this causesdotnet restore
to download the referenced packages again.Repro steps (Windows + Docker)
run.ps1
dotnet restore --source /empty
- it will fail since the package source directory is empty and AutoMapper is not yet present in the cache.mono paket.exe restore
dotnet restore --source /empty
again - dotnet still doesn't find the package in cachecd ~/.nuget/packages
mv AutoMapper automapper
cd automapper/6.1.1/
mv AutoMapper.6.1.1.nupkg automapper.6.1.1.nupkg
mv AutoMapper.6.1.1.nupkg.sha512 automapper.6.1.1.nupkg.sha512
mv AutoMapper.nuspec automapper.nuspec
cd /test
dotnet restore --source /empty
. No failure this time - package was found in cache.