bazelbuild / bazelbuild/remote-apis

Directory canonicalization does not require non-empty names

Open
#175 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.