Set `unix_mode` property for root directory (0755)

Description

As described in #11 (closed), this alters UserChrootRunner::mergeDigests() to set the "unix_mode" node property on the root Directory of the merged tree.

Changes proposed in this merge request:

  • UserChrootRunner::mergeDigests():
    • Extract stages (merge, modification, upload) into separate helpers
    • Set "UnixMode" with value "0755" in the node_properties field of the root Directory of the merged tree
  • When a merge is not required, fetch the root Directory and check its unix_mode field. If it does not contain the desired unix_mode, modify it, upload the new message to CAS, and use that as the new root of the tree.

Validation

Note that these changes can potentially cause cache misses given that the digests of the merged trees will be different.

Issues addressed

Closes #11 (closed)

Edited by Santiago Gil

Merge request reports

Loading