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

Cache credentials on Pkg up #28437

Merged
merged 1 commit into from
Aug 4, 2018
Merged

Cache credentials on Pkg up #28437

merged 1 commit into from
Aug 4, 2018

Conversation

omus
Copy link
Member

@omus omus commented Aug 4, 2018

Avoids asking the user for their credentials multiple times for the same domain.

@omus omus requested a review from KristofferC August 4, 2018 04:19
end
else
pkg.version = VersionSpec()
end
end
end
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using git diff --ignore-space-change this is more comprehensible:

diff --git a/stdlib/Pkg/src/Operations.jl b/stdlib/Pkg/src/Operations.jl
index 547cebdc75..63cf3ad6f2 100644
--- a/stdlib/Pkg/src/Operations.jl
+++ b/stdlib/Pkg/src/Operations.jl
@@ -1162,6 +1162,7 @@ end
 function up(ctx::Context, pkgs::Vector{PackageSpec})
     # resolve upgrade levels to version specs
     new_git = UUID[]
+    Base.shred!(LibGit2.CachedCredentials()) do creds
         for pkg in pkgs
             if pkg.uuid in keys(ctx.stdlibs)
                 pkg.version = VersionSpec()
@@ -1172,7 +1173,8 @@ function up(ctx::Context, pkgs::Vector{PackageSpec})
             info = manifest_info(ctx.env, pkg.uuid)
             if info !== nothing && haskey(info, "repo-url")
                 pkg.repo = Types.GitRepo(info["repo-url"], info["repo-rev"])
-            new = handle_repos_add!(ctx, [pkg]; upgrade_or_add = (level == UPLEVEL_MAJOR))
+                new = handle_repos_add!(ctx, [pkg]; credentials=creds,
+                                        upgrade_or_add = (level == UPLEVEL_MAJOR))
                 append!(new_git, new)
             else
                 if info !== nothing
@@ -1192,6 +1194,7 @@ function up(ctx::Context, pkgs::Vector{PackageSpec})
                 end
             end
         end
+    end
     # resolve & apply package versions
     resolve_versions!(ctx, pkgs)
     new_apply = apply_versions(ctx, pkgs)

@KristofferC KristofferC merged commit 1dfc4d1 into master Aug 4, 2018
@KristofferC KristofferC deleted the cv/pkg-up-cache-creds branch August 4, 2018 07:20
ararslan pushed a commit that referenced this pull request Aug 4, 2018
Avoids asking the user for their credentials multiple times for the same
domain.

(cherry picked from commit 1dfc4d1)
KristofferC pushed a commit that referenced this pull request Feb 11, 2019
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

Successfully merging this pull request may close these issues.

3 participants