envio-cli / envio

Envio is a modern and secure command-line tool that simplifies the management of environment variables
https://envio-cli.github.io
Apache License 2.0
818 stars 14 forks source link

Inadequate file permissions of source, documentation, and asset files #35

Open afh opened 8 months ago

afh commented 8 months ago

Describe the bug The majority of files in this repository have the execute bit set, even though the files do not need to be executable.

To Reproduce

  1. List all files in git along with their file permissions
% git ls-files -s | awk '{print $1, $4}' ```sh 100755 .all-contributorsrc 100755 .github/ISSUE_TEMPLATE/bug_report.md 100755 .github/dependabot.yml 100755 .github/workflows/CICD.yml 100755 .gitignore 100755 CHANGELOG.md 100755 CODEOWNERS 100755 CODE_OF_CONDUCT.md 100755 CONTRIBUTING.md 100644 Cargo.lock 100644 Cargo.toml 100755 Cross.toml 100755 LICENSE-APACHE 100755 LICENSE-MIT 100755 README.md 100755 SECURITY.md 100644 assets/envio-gpg-final.gif 100644 assets/envio-passphrase-final.gif 100644 assets/icon-color.svg 100755 assets/logo/cover.png 100755 assets/logo/default.png 100755 assets/logo/info.txt 100755 assets/logo/profile.png 100755 assets/logo/vector/default-monochrome-black.svg 100755 assets/logo/vector/default-monochrome-white.svg 100755 assets/logo/vector/default-monochrome.svg 100755 assets/logo/vector/default.svg 100755 assets/logo/vector/isolated-layout.svg 100755 assets/logo/vector/isolated-monochrome-black.svg 100755 assets/logo/vector/isolated-monochrome-white.svg 100755 build.rs 100755 completions/_envio 100755 completions/_envio.ps1 100755 completions/envio.bash 100755 completions/envio.fish 100755 docs/build_from_source.md 100755 docs/project_layout.md 100755 man/envio.1 100755 src/bin/envio/cli.rs 100755 src/bin/envio/commands.rs 100755 src/bin/envio/main.rs 100755 src/bin/envio/version.rs 100755 src/crypto.rs 100755 src/lib.rs 100755 src/utils.rs ```

Expected behavior Given that there are not scripts in this repository the source, documentation and assets files should have 100644 instead.

Screenshots N/A If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

Additional context

One way to correct the file permissions is with the following command: % git ls-files | xargs chmod 0644 and then add and commit the changes.

humblepenguinn commented 8 months ago

I mean, this isn't something too concerning or destructive. The only reason I hesitate to fix the file permissions is that the latest commit message on every file and folder would be 'Update file permissions,' which would just look weird.

Perhaps we can gradually change it over time, what do you say?

afh commented 8 months ago

Agreed, proper file permissions are a nice-to-have. I see your point about the changes the commit message and rewriting the commit history will introduce new commit SHAs, which has its own set of problems. I remember seeing something in the git release notes of a somewhat recent git release that helped with exactly that: Making large scale changes, yet maintaining git blame info, unfortunately I don't remember the details right now.