bazelbuild / bazelbuild/remote-apis
Directory canonicalization does not require non-empty names
- Dominant language
- Go
- Stars
- 445
- Forks
- 141
- PR merge metrics
- No merged PRs in 30d
Description
Hey folks! The definition of "canonical" for a `Directory` does not currently (https://github.com/bazelbuild/remote-apis/blob/f54876595da9f2c2d66c98c318d00b60fd64900b/build/bazel/remote/execution/v2/remote_execution.proto#L634-L653) require that the names of children are non-empty, but in practice this seems like a useful constraint.
As an example, the violation of [one constraint](https://github.com/bazelbuild/remote-apis/blob/f54876595da9f2c2d66c98c318d00b60fd64900b/build/bazel/remote/execution/v2/remote_execution.proto#L507-L508) on inputs lead to a server implementation returning a non-sensical output with an empty directory name (roughly: components like `["out", "", "etc", "file.txt"]`). Including "non-empty" in the definition of canonical would have caught this earlier: immediately after the server's response.
Thoughts?
Contributor guide
Assessment
This issue has not been assessed yet.