Add config for ignoring executable bit changes
Starting a PR to close #3949 . This is my first time contributing, so I would appreciate feedback on the code. I'm certain that there are some places that can be integrated better. I've left a few TODO markers scattered around that I would appreciate help with.
~~Also: I have not run these changes locally yet. They build and pass cargo test, but I'm still not certain how to run these myself.~~
~~I also haven't added any tests yet. I'd appreciate feedback on a direction to go for those and where it would be best to test these changes.~~
Checklist
If applicable:
- [x] I have updated
CHANGELOG.md - [x] I have updated the documentation (README.md, docs/, demos/)
- [x] I have updated the config schema (cli/src/config-schema.json)
- [x] I have added tests to cover my changes
Thanks, btw! It looks good overall
Pushed some small fixes in the local_working_copy changes, also added a new commit that refactors the check_out functions in diff_working_copy.rs. Let me know if this needs any work.
I've also started using the update on my machine, and it seems to work correctly on my dual-boot repo with the config, but I haven't really tested all of the behavior. (Still need to add actual tests for the new behavior and look at the failing executable bit test)
One other note is that I don't think my current changes work correctly if you update the config value. That is, if we alter the config value to stop respecting executable bits, the tree should refresh itself, but I think it still keeps the stored changes instead of refreshing even if I do jj status. Not sure what to do for that.
What are the current blockers that are precluding a merge?
What are the current blockers that are precluding a merge?
I think it's just the unresolved comments. Plus rebasing it, of course. Since we haven't heard from @wrzian here in a while, I think you should feel free to take it over (and I assume Ian will let us know if he wants to get back to it soon instead).
I have some time to work on this now, so I'll try to get this finished in the next few weeks. Marking as draft while I finish cleaning up the rebase from main and loading context into my head.
Alright, I've got this mostly put together now. I've added some basic tests in a new file, and I've massively reorganized the commit structure: things are broken out much more atomically. LMK what things can be improved :)
This is now ready for review!
Resolved a bunch of personal nits when reviewing my commits :grin:
I'm closing this because I'm moving to a new account, @isuffix. I'll restart this PR soon.