Skip to content

cargo must not package arbitrary files #2063

@rillian

Description

@rillian

Today I learned 'cargo package' includes everything in the working directory not explicitly excluded through .gitignore or the package.excludes directive in Cargo.toml. This wasn't what I expected at all, and differs from what, for example, GNU autotools implements as best practice. I expected cargo to only package files which were part of of the build description and its dependent source.

I only discovered this because I copied a few test videos into my working tree and the package was suddenly too large to upload.

In #1597 @bluss suggests a warning for untracked files. That would be an improvement, at perhaps educate people about the default, but I think that doesn't go far enough. Uploading random files from the working directory is a terrible developer experience, and
makes is very easy to leak confidential or unlicensed data.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions