Skip to content
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

Error with package and package dependency both updating #52

Open
pcghusit opened this issue Apr 3, 2020 · 0 comments
Open

Error with package and package dependency both updating #52

pcghusit opened this issue Apr 3, 2020 · 0 comments

Comments

@pcghusit
Copy link

pcghusit commented Apr 3, 2020

In our case, we have AbcPDF and AbcPDF.AbcGecko, which depends on AbcPdf. Both are flagged as packages to update as seen here:

Updating 3 packages
'ABCpdf' from 11.3.04 to 11.3.7 in 1 projects
'ABCpdf.ABCGecko' from 11.3.04 to 11.3.7 in 1 projects
'IPNetwork2' from 2.5.189 to 2.5.192 in 1 projects

Git checkout 'origin/master'
Using branch name: 'nukeeper-update-3-packages-5522AB1B8600493317E2E4EAA554586C'
Git checkout new branch 'nukeeper-update-3-packages-5522AB1B8600493317E2E4EAA554586C'
Sorted 1 projects by dependencies but no change made

But then when NuKeeper updated AbcPDF, Nuget.exe update also updates AbcPDF.AbcGecko (I ran this locally using Nuget to confirm this is what happens):

Updating 'ABCpdf' to 11.3.7 in 1 projects
Nuget restore on D:\a\1\s\MyProject packages.config
Found NuGet.exe: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe
In path D:\a\1\s\MyProject, running command: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe restore packages.config -Source https://api.nuget.org/v3/index.json  -NonInteractive
Nuget restore on packages.config complete
Found NuGet.exe: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe
In path D:\a\1\s\MyProject, running command: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe update packages.config -Id ABCpdf -Version 11.3.7 -Source https://api.nuget.org/v3/index.json -NonInteractive
Git commit with message '📦 Automatic update of ABCpdf to 11.3.7'

But then NuKeeper doesn't know that AbcGecko was updated, and still attempts to explicitly update AbcPDF.AbcGecko (which, again, is already fully up-to-date from the AbcPDF update). So update doesn't actually change the packages.config file. And then NuKeeper attempts to create a commit, but nothing has changed and we get an exception and the whole thing fails:

Sorted 1 projects by dependencies but no change made
Updating 'ABCpdf.ABCGecko' to 11.3.7 in 1 projects
Nuget restore on D:\a\1\s\MyProject packages.config
In path D:\a\1\s\MyProject, running command: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe restore packages.config -Source https://api.nuget.org/v3/index.json  -NonInteractive
Nuget restore on packages.config complete
Found NuGet.exe: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe
In path D:\a\1\s\MyProject, running command: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe update packages.config -Id ABCpdf -Version 11.3.7 -Source https://api.nuget.org/v3/index.json -NonInteractive
Git commit with message '📦 Automatic update of ABCpdf to 11.3.7'
Sorted 1 projects by dependencies but no change made
Updating 'ABCpdf.ABCGecko' to 11.3.7 in 1 projects
Nuget restore on D:\a\1\s\MyProject packages.config
In path D:\a\1\s\MyProject, running command: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe restore packages.config -Source https://api.nuget.org/v3/index.json  -NonInteractive
Nuget restore on packages.config complete
In path D:\a\1\s\MyProject, running command: C:\hostedtoolcache\windows\nukeeper\0.26.0\x64\NuGet.exe update packages.config -Id ABCpdf.ABCGecko -Version 11.3.7 -Source https://api.nuget.org/v3/index.json -NonInteractive
Git commit with message '📦 Automatic update of ABCpdf.ABCGecko to 11.3.7'
Updates failed EmptyCommitException : No changes; nothing to commit.
   at LibGit2Sharp.Repository.Commit(String message, Signature author, Signature committer, CommitOptions options)
   at LibGit2Sharp.RepositoryExtensions.Commit(IRepository repository, String message, Signature author, Signature committer)
   at NuKeeper.Git.LibGit2SharpDriver.<>c__DisplayClass15_0.<Commit>b__0() in d:\a\r1\a\drop\NuKeeper.Git\LibGit2SharpDriver.cs:line 148
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
   at NuKeeper.Engine.Packages.PackageUpdater.MakeUpdatePullRequests(IGitDriver git, RepositoryData repository, NuGetSources sources, SettingsContainer settings, IReadOnlyCollection`1 updates) in d:\a\r1\a\drop\NuKeeper\Engine\Packages\PackageUpdater.cs:line 82
   at NuKeeper.Engine.Packages.PackageUpdater.MakeUpdatePullRequests(IGitDriver git, RepositoryData repository, IReadOnlyCollection`1 updates, NuGetSources sources, SettingsContainer settings) in d:\a\r1\a\drop\NuKeeper\Engine\Packages\PackageUpdater.cs:line 46
Attempted 3 updates and did 0
Done at 2020-04-03T15:57:02Z
##[debug]task result: Succeeded

I feel like the easiest fix to this would be to simply not have an empty commit cause the whole thing to blow up. But I suspect there's a bigger problem with dependencies at play here.

EDIT - I'd also like to know if there's a workaround until a fix is completed and release made.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant