databricks-cli/libs
Pieter Noordhuis 23f05f5d67
Set the write bit for files written during template initialization (#2068)
## Changes

This used to work because the permission bits for built-in templates
were hardcoded to 0644 for files and 0755 for directories.

As of #1912 (and the PRs it depends on), built-in templates are no
longer pre-materialized to a temporary directory and read directly from
the embedded filesystem. This built-in filesystem returns 0444 as the
permission bits for the files it contains. These bits are carried over
to the destination filesystem.

This change updates template materialization to always set the owner's
write bit. It doesn't really make sense to write read-only files and
expect users to work with these files in a VCS (note: Git only stores
the executable bit).

The regression shipped as part of v0.235.0 and will be fixed as of
v0.238.0.

## Tests

Unit tests.
2025-01-08 13:18:28 +00:00
..
auth Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
cmdgroup Add error checking in tests and enable errcheck there (#1980) 2024-12-09 13:56:41 +01:00
cmdio Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
databrickscfg Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
dbr Extract functionality to detect if the CLI is running on DBR (#1889) 2024-11-14 16:10:45 +00:00
diag Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
dyn Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
env Add acceptance tests (#2081) 2025-01-08 12:41:08 +00:00
errs Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
exec Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
fakefs Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
filer Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
fileset Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00
flags Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
folders Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00
git Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
iamutil Move utility functions dealing with IAM to libs/iamutil (#1820) 2024-10-10 13:02:25 +00:00
jsonschema Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
locker Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
log Enable gofumpt and goimports in golangci-lint (#1999) 2024-12-12 10:28:42 +01:00
notebook Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00
process Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
python Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00
set Show actionable errors for collaborative deployment scenarios (#1386) 2024-10-10 11:18:23 +00:00
sync Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
tags Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
template Set the write bit for files written during template initialization (#2068) 2025-01-08 13:18:28 +00:00
terraform Move to a single prompt during bundle destroy (#1583) 2024-07-24 13:02:19 +00:00
testdiff Add acceptance tests (#2081) 2025-01-08 12:41:08 +00:00
testfile Refactor and cover edge cases in sync integration tests (#160) 2023-01-10 13:16:30 +01:00
textutil Enable gofumpt and goimports in golangci-lint (#1999) 2024-12-12 10:28:42 +01:00
vfs Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00