Skip to content

Ensure that parent repos get scanned if cloning submodules fails #5469

Description

@sschuberth

Currently, it seems that if provenance resolution partly fails due to a submodule of a Git repo not existing anymore, the whole scan for the repo is skipped:

Could not resolve nested provenance for package 'NPM::json3:3.2.6': IOException: Running 'git -c url.https://.insteadOf=git:// submodule update --init --recursive' in '/tmp/ort-DefaultWorkingTreeCache5398368741174589668' failed with exit code 1:
Cloning into '/tmp/ort-DefaultWorkingTreeCache5398368741174589668/vendor/spec'...
fatal: could not read Username for 'https://github.com': No such device or address
fatal: clone of 'git://github.com/kitcambridge/spec.git' into submodule path '/tmp/ort-DefaultWorkingTreeCache5398368741174589668/vendor/spec' failed
Failed to clone 'vendor/spec'. Retry scheduled
Cloning into '/tmp/ort-DefaultWorkingTreeCache5398368741174589668/vendor/spec'...
fatal: could not read Username for 'https://github.com': No such device or address
fatal: clone of 'git://github.com/kitcambridge/spec.git' into submodule path '/tmp/ort-DefaultWorkingTreeCache5398368741174589668/vendor/spec' failed
Failed to clone 'vendor/spec' a second time, aborting

Although https://github.com/bestiejs/json3/blob/v3.2.6/LICENSE of the parent repo contains the MIT license, no such license is present in the scan results for 'NPM::json3:3.2.6'.

We should ensure that the parent repo and generally as much as possible, including any existing submodules do get scanned. Because in this case, spec is just a (vendored) test dependency, for which an issue resolution could be created, if the rest was scanned properly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendIssues related to the backend.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions