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

paket remove nuget does also a general unwanted update #1652

Closed
Vilmir opened this Issue Apr 28, 2016 · 13 comments

Comments

Projects
None yet
5 participants
@Vilmir

Vilmir commented Apr 28, 2016

Description

Given a repository with no Groups
and with several nuget package references
with some of them being outdated

When a paket remove nuget XXX is done to delete definitely a reference, paket also does a full update on every other package

Then everything is messed up

Repro steps

  1. On a repository that has several outdated nuget references
  2. Call paket remove nuget XXX

Expected behavior

The package XXX is removed from paket.dependencies and paket.lock

Actual behavior

The package XXX is removed from paket.dependencies and paket.lock
And outdated packages are updated to latest version

Known workarounds

Is deleting the given package lines in paket.dependencies and lock good enough? I don't think so.

Related information

  • Win 7
  • master
  • .NET 4.6
  • paket.exe 2.63.2.0
@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 2, 2016

Member

can you please create a zip with a repro?

Member

forki commented May 2, 2016

can you please create a zip with a repro?

@forki forki added the needs-repro label May 2, 2016

@Vilmir

This comment has been minimized.

Show comment
Hide comment
@Vilmir

Vilmir May 3, 2016

Could not repro without our Artifactory instance and private packages with 2.63.2.0

Vilmir commented May 3, 2016

Could not repro without our Artifactory instance and private packages with 2.63.2.0

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 3, 2016

Member

paket runs install after remove and tries to keep versions as stable as possible.
Are you using prereleases or unlisted versions?

Member

forki commented May 3, 2016

paket runs install after remove and tries to keep versions as stable as possible.
Are you using prereleases or unlisted versions?

@Vilmir

This comment has been minimized.

Show comment
Hide comment
@Vilmir

Vilmir May 3, 2016

We do use prereleases:
nuget CommandLineParser prerelease

I have tried to repro with nuget.org and this prerelease, but it still does not repro on a dummy repo.

What do you mean by unlisted versions?

Vilmir commented May 3, 2016

We do use prereleases:
nuget CommandLineParser prerelease

I have tried to repro with nuget.org and this prerelease, but it still does not repro on a dummy repo.

What do you mean by unlisted versions?

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 3, 2016

Member

it's possible to "delete" versions by unlisting them. If a version is unlisted then paket will try to use a different version during install.

Member

forki commented May 3, 2016

it's possible to "delete" versions by unlisting them. If a version is unlisted then paket will try to use a different version during install.

@Vilmir

This comment has been minimized.

Show comment
Hide comment
@Vilmir

Vilmir May 3, 2016

Thanks for the explanation, as far as I know we never delete package versions in our private server

Vilmir commented May 3, 2016

Thanks for the explanation, as far as I know we never delete package versions in our private server

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 3, 2016

Member

the question is why install changes the dependencies for you, but without a repro it's really hard to say.

Member

forki commented May 3, 2016

the question is why install changes the dependencies for you, but without a repro it's really hard to say.

@Vilmir

This comment has been minimized.

Show comment
Hide comment
@Vilmir

Vilmir May 3, 2016

I can only repro this with our big codebase and its 70 custom packages, including 2 prereleases, using exclusively Artifactory v2.7 as source.
I think we can close this as not repro.

Vilmir commented May 3, 2016

I can only repro this with our big codebase and its 70 custom packages, including 2 prereleases, using exclusively Artifactory v2.7 as source.
I think we can close this as not repro.

@cdrnet

This comment has been minimized.

Show comment
Hide comment
@cdrnet

cdrnet May 31, 2016

Member

I had another case of this today where removing a prerelease paket did cause a full update in v2; but it worked fine in v3 without causing a full update. It looks like this issue has been fixed in v3, maybe as side effect of other changes in this area.

Member

cdrnet commented May 31, 2016

I had another case of this today where removing a prerelease paket did cause a full update in v2; but it worked fine in v3 without causing a full update. It looks like this issue has been fixed in v3, maybe as side effect of other changes in this area.

@forki forki closed this May 31, 2016

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 31, 2016

Member

Yeah we worked a bit in this and I hope it's fine when we finally go to v3

Member

forki commented May 31, 2016

Yeah we worked a bit in this and I hope it's fine when we finally go to v3

@0x022b

This comment has been minimized.

Show comment
Hide comment
@0x022b

0x022b Sep 26, 2016

This issue still reproducible with latest Paket (3.19.8.0) and scoobadog/Paket-1652 repository.

Here is the output from paket remove nuget Autofac command:

Paket version 3.19.8.0
Removing Package Autofac from C:\Temp\ClassLibrary1\ClassLibrary1\paket.references
References file saved to C:\Temp\ClassLibrary1\ClassLibrary1\paket.references
Removing Autofac from C:\Temp\ClassLibrary1\paket.dependencies (group Main)
Dependencies files saved to C:\Temp\ClassLibrary1\paket.dependencies
Resolving packages for group Main:
 - Newtonsoft.Json 9.0.1
 - System.Runtime.Serialization.Primitives 4.1.1
 - System.IO 4.1.0
 - System.Linq 4.1.0
 - System.Linq.Expressions 4.1.0
 - System.Reflection 4.1.0
 - System.Runtime 4.1.0
 - System.Runtime.Extensions 4.1.0
 - System.Text.RegularExpressions 4.1.0
 - System.ObjectModel 4.0.12
 - System.Collections 4.0.11
 - System.Diagnostics.Debug 4.0.11
 - System.Dynamic.Runtime 4.0.11
 - System.Globalization 4.0.11
 - System.Text.Encoding 4.0.11
 - System.Text.Encoding.Extensions 4.0.11
 - System.Threading 4.0.11
 - System.Threading.Tasks 4.0.11
 - System.Xml.ReaderWriter 4.0.11
 - System.Xml.XDocument 4.0.11
 - Microsoft.CSharp 4.0.1
 - System.Reflection.Extensions 4.0.1
 - System.Resources.ResourceManager 4.0.1
 - System.Reflection.TypeExtensions 4.1.0
 - System.Runtime.InteropServices 4.1.0
 - System.Reflection.Primitives 4.0.1
 - System.Reflection.Emit 4.0.1
 - System.Reflection.Emit.ILGeneration 4.0.1
 - System.IO.FileSystem 4.0.1
 - System.IO.FileSystem.Primitives 4.0.1
 - System.Diagnostics.Tools 4.0.1
 - System.Reflection.Emit.Lightweight 4.0.1
 - System.Threading.Tasks.Extensions 4.0.0
 - Microsoft.NETCore.Platforms 1.0.1
 - Microsoft.NETCore.Targets 1.0.2
     unlisted
 - Microsoft.NETCore.Targets 1.0.1
 - System.Runtime.Handles 4.0.1
Locked version resolution written to C:\Temp\ClassLibrary1\paket.lock
Downloading Microsoft.NETCore.Targets 1.0.1
Downloading Microsoft.CSharp 4.0.1
Downloading Microsoft.NETCore.Platforms 1.0.1
Downloading System.Diagnostics.Tools 4.0.1
Downloading System.Dynamic.Runtime 4.0.11
Downloading System.Globalization 4.0.11
Downloading System.IO.FileSystem 4.0.1
Downloading System.IO.FileSystem.Primitives 4.0.1
Downloading System.Linq.Expressions 4.1.0
Downloading System.ObjectModel 4.0.12
Downloading System.Reflection 4.1.0
Downloading System.Reflection.Emit 4.0.1
Downloading System.Reflection.Emit.ILGeneration 4.0.1
Downloading System.Reflection.Emit.Lightweight 4.0.1
Downloading System.Reflection.Extensions 4.0.1
Downloading System.Reflection.Primitives 4.0.1
Downloading System.Reflection.TypeExtensions 4.1.0
Downloading System.Runtime.Handles 4.0.1
Downloading System.Runtime.Serialization.Primitives 4.1.1
Downloading System.Text.Encoding 4.0.11
Downloading System.Text.Encoding.Extensions 4.0.11
Downloading System.Text.RegularExpressions 4.1.0
Downloading System.Threading.Tasks 4.0.11
Downloading System.Threading.Tasks.Extensions 4.0.0
Downloading System.Xml.ReaderWriter 4.0.11
Downloading System.Xml.XDocument 4.0.11
Garbage collecting Autofac

0x022b commented Sep 26, 2016

This issue still reproducible with latest Paket (3.19.8.0) and scoobadog/Paket-1652 repository.

Here is the output from paket remove nuget Autofac command:

Paket version 3.19.8.0
Removing Package Autofac from C:\Temp\ClassLibrary1\ClassLibrary1\paket.references
References file saved to C:\Temp\ClassLibrary1\ClassLibrary1\paket.references
Removing Autofac from C:\Temp\ClassLibrary1\paket.dependencies (group Main)
Dependencies files saved to C:\Temp\ClassLibrary1\paket.dependencies
Resolving packages for group Main:
 - Newtonsoft.Json 9.0.1
 - System.Runtime.Serialization.Primitives 4.1.1
 - System.IO 4.1.0
 - System.Linq 4.1.0
 - System.Linq.Expressions 4.1.0
 - System.Reflection 4.1.0
 - System.Runtime 4.1.0
 - System.Runtime.Extensions 4.1.0
 - System.Text.RegularExpressions 4.1.0
 - System.ObjectModel 4.0.12
 - System.Collections 4.0.11
 - System.Diagnostics.Debug 4.0.11
 - System.Dynamic.Runtime 4.0.11
 - System.Globalization 4.0.11
 - System.Text.Encoding 4.0.11
 - System.Text.Encoding.Extensions 4.0.11
 - System.Threading 4.0.11
 - System.Threading.Tasks 4.0.11
 - System.Xml.ReaderWriter 4.0.11
 - System.Xml.XDocument 4.0.11
 - Microsoft.CSharp 4.0.1
 - System.Reflection.Extensions 4.0.1
 - System.Resources.ResourceManager 4.0.1
 - System.Reflection.TypeExtensions 4.1.0
 - System.Runtime.InteropServices 4.1.0
 - System.Reflection.Primitives 4.0.1
 - System.Reflection.Emit 4.0.1
 - System.Reflection.Emit.ILGeneration 4.0.1
 - System.IO.FileSystem 4.0.1
 - System.IO.FileSystem.Primitives 4.0.1
 - System.Diagnostics.Tools 4.0.1
 - System.Reflection.Emit.Lightweight 4.0.1
 - System.Threading.Tasks.Extensions 4.0.0
 - Microsoft.NETCore.Platforms 1.0.1
 - Microsoft.NETCore.Targets 1.0.2
     unlisted
 - Microsoft.NETCore.Targets 1.0.1
 - System.Runtime.Handles 4.0.1
Locked version resolution written to C:\Temp\ClassLibrary1\paket.lock
Downloading Microsoft.NETCore.Targets 1.0.1
Downloading Microsoft.CSharp 4.0.1
Downloading Microsoft.NETCore.Platforms 1.0.1
Downloading System.Diagnostics.Tools 4.0.1
Downloading System.Dynamic.Runtime 4.0.11
Downloading System.Globalization 4.0.11
Downloading System.IO.FileSystem 4.0.1
Downloading System.IO.FileSystem.Primitives 4.0.1
Downloading System.Linq.Expressions 4.1.0
Downloading System.ObjectModel 4.0.12
Downloading System.Reflection 4.1.0
Downloading System.Reflection.Emit 4.0.1
Downloading System.Reflection.Emit.ILGeneration 4.0.1
Downloading System.Reflection.Emit.Lightweight 4.0.1
Downloading System.Reflection.Extensions 4.0.1
Downloading System.Reflection.Primitives 4.0.1
Downloading System.Reflection.TypeExtensions 4.1.0
Downloading System.Runtime.Handles 4.0.1
Downloading System.Runtime.Serialization.Primitives 4.1.1
Downloading System.Text.Encoding 4.0.11
Downloading System.Text.Encoding.Extensions 4.0.11
Downloading System.Text.RegularExpressions 4.1.0
Downloading System.Threading.Tasks 4.0.11
Downloading System.Threading.Tasks.Extensions 4.0.0
Downloading System.Xml.ReaderWriter 4.0.11
Downloading System.Xml.XDocument 4.0.11
Garbage collecting Autofac
@jamescrowley

This comment has been minimized.

Show comment
Hide comment
@jamescrowley

jamescrowley Oct 28, 2016

Seeing this here too.

jamescrowley commented Oct 28, 2016

Seeing this here too.

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Oct 28, 2016

Member

thanks for repoting a repro sample

Member

forki commented Oct 28, 2016

thanks for repoting a repro sample

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment