Skip to content

Policy on Cargo.locks would be good #482

@finalyards

Description

@finalyards
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   examples/esp32/Cargo.lock
	modified:   examples/nrf-sdc/Cargo.lock

That happened quite a bit, working on a PR today. Made me wonder, whether the lock files actually matter, for examples.

Current situation

/.gitignore states that all Cargo.locks should be ignored (not suggested to be placed to version control).

Cargo.lock

However, there clearly are instances already in the version control. Otherwise, I wouldn't have gotten the "modified" mentions, above.

./examples/apache-nimble/Cargo.lock
./examples/rp-pico-w/Cargo.lock
./examples/nrf-sdc/Cargo.lock
./examples/esp32/Cargo.lock
./examples/serial-hci/Cargo.lock

This is inconsistent, at best.

The esp-hal project has this approach to including Cargo.locks, within a repo:

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

"Leave it for libraries".

All the ones we have are for examples. I think they can go? ((give a nudge and I'll make a PR that removes them, making the repo consistent with what's in its /.gitignore))

But shouldn't we actually have it for the libraries (host and host-macros)?

Should I add those in the same PR?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions