Description
Extracted from #6493.
dvc exp push/pull/list
do not work today if credentials are required to be provided, such as dvc exp push
to a public Github HTTP URL or dvc 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.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status