Skip to content

get-url should just GET files #4251

Closed
@skshetry

Description

@skshetry

If an endpoint does not support HEAD, but supports GET, dvc get-url will fail to work.

Eg:

$ dvc get-url https://api.travis-ci.com/v3/job/363241860/log.txt -v
2020-07-21 17:23:50,482 ERROR: failed to get 'https://api.travis-ci.com/v3/job/363241860/log.txt' - dependency 'https://api.travis-ci.com/v3/job/363241860/log.txt' does not exist
------------------------------------------------------------
Traceback (most recent call last):
  File "/home/saugat/repos/iterative/dvc/dvc/command/get_url.py", line 17, in run
    Repo.get_url(self.args.url, out=self.args.out)
  File "/home/saugat/repos/iterative/dvc/dvc/repo/get_url.py", line 19, in get_url
    dep.save()
  File "/home/saugat/repos/iterative/dvc/dvc/output/base.py", line 253, in save
    raise self.DoesNotExistError(self)
dvc.dependency.base.DependencyDoesNotExistError: dependency 'https://api.travis-ci.com/v3/job/363241860/log.txt' does not exist
------------------------------------------------------------

Just commenting dep.save() makes it work, as it does a HEAD request first which fails.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugDid we break something?triageNeeds to be triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions