-
-
Notifications
You must be signed in to change notification settings - Fork 307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update an archive and add some missing executable bits #1589
Conversation
In b12c7c9 (GitoxideLabs#1587), the `make_dangling_symlink_to_windows_reserved` script was changed to fix typos. Though this did not alter its effect, its hash changed, so the committed archive generated from it could no longer be used. This commits a regenerated archive.
Some of the more recently introduced fixture scripts were not marked executable, even though the others are. Because `gix-testtools` has a fallback that runs scripts with `bash` explictly when executing them directly fails, this did not break any scripts, but the executable bit is also useful to document which files are meant to be runnable scripts. This marks them executable. Now all the shell scripts that begin with a `#!` have the executable bit set. (The handful of `.sh` files that are not meant to be run as scripts, but instead are sourced by other scripts, do not start with `#!` and continue not to have `+x` applied to them.)
Thanks a lot, much appreciated. I wondered if there should be a CI job that tests invariants, maybe based on |
I don't know a good near-instantaneous way to test whether archives need to be regenerated without having just run the tests. This is one of the reasons I implemented #1590 the way I did. For scripts, though, we can certainly check all non-ignored files to make sure that files that seem to be scripts (or, I think better, that seem to be plain text) start with
|
I like the idea of implementing such functionality in Rust instead. However, I'd hope to bring more of such 'internal' functionality into the Maybe another argument could be made to say that Despite all of this, my disposition is to turn |
Checking that fixtures have correct executable bits seems like something relevant to most users of |
That's fair - let's put it into |
One of the fixture scripts was modified in b12c7c9 (#1587) to fix typos, which changed its hash, but a regenerated archive was not committed at that time.
Other fixture scripts were recently introduced, and they have current archives committed, but they were not given executable bits, even though they are executable scripts that start with
#!
and the other fixture scripts have+x
.This small "maintenance" PR addresses those two things (one per commit).
I have verified that tests pass locally on Ubuntu 24.04 LTS, macOS 14.6, and Windows 10, both before and after this change, and that the
make_dangling_symlink_to_windows_reserved
archive, which previously had an uncommitted change on Ubuntu and macOS after running the tests, is no longer changed when the test suite is run. (It did not show as dirty on Windows becausegix-testtools
suppresses archive generation on Windows, but committing the regenerated script should help Windows tests to run slightly faster, too.)