exp push/pull/list: support git credential storage #6586
Labels
A: experiments
Related to dvc exp
git
Related to git and git backends
p2-medium
Medium priority, should be done, but less important
Extracted from #6493.
dvc exp push/pull/list
do not work today if credentials are required to be provided, such asdvc exp push
to a public Github HTTP URL ordvc exp push/pull/list
for a private Github HTTP URL.Also, even if using git credential stores, in which case users don't need to manually enter credentials when performing git operations, DVC doesn't currently read these credentials and still complains that the URL is unauthenticated. Note that dulwich seems to have support for this: https://github.com/dulwich/dulwich/blob/cdc93e058fb28e4884f8d6a23b4d79b14d2a8098/dulwich/client.py#L2222.
As discussed in the linked PR, it would be helpful to read from the credential store and ask for the username and password if the
HTTPClientUnauthorized
exception is thrown. It would also be helpful to memoize to avoid having to repeatedly ask for credentials in the case of auto-pushing checkpoints. This might be generally useful because obtaining a new git client for each checkpoint seems wasteful regardless.The text was updated successfully, but these errors were encountered: