-
Notifications
You must be signed in to change notification settings - Fork 242
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
fix(dir.rmtree) remove symlinks without following #365
Conversation
@alerque CI fails because of some changes to Github Actions. I tried updating but that doesn't work, any idea how to fix this? |
You were on the right track, you just overlooked the fact that there were two different actions here on old enough versions that they were using obsoleted APIs. I've bumped amended the commit to bump both of them, I think that will do the trick. |
duh... thanks @alerque |
as always windows has specific behaviour, just fixed it. But... symlinks on Windows require elevated privileges, so tests on Windows might still fail... CI will tell. |
I'm a little confused. If Windows CI tests were failing on this PR as of the time of merger, why are they now passing on |
I fixed them but squashed the commits |
CI was green btw, except for coverage |
I'm not disputing the end result because I see it's geen on It's water under the bridge at this point, but I see more failures than just coverage when I click through to the failed tests. |
ah, now I see. So what happened is that I fixed the windows issues, and then rebased the 3rd commit with the windows fixes (now gone) into the 1st one. So the second commit retained its failures from before. The github UI does this apparently because of the mismatch between commit time and commit order |
### Summary - deprecate: `permute.iter`, renamed to `permute.order_iter` (removal later) [#360](lunarmodules/Penlight#360) - deprecate: `permute.table`, renamed to `permute.order_table` (removal later) [#360](lunarmodules/Penlight#360) - deprecate: `Date` module (removal later) [#367](lunarmodules/Penlight#367) - feat: `permute.list_iter` to iterate over different sets of values [#360](lunarmodules/Penlight#360) - feat: `permute.list_table` generate table with different sets of values [#360](lunarmodules/Penlight#360) - feat: Lua 5.4 'warn' compatibility function [#366](lunarmodules/Penlight#366) - feat: deprecation functionality `utils.raise_deprecation` [#361](lunarmodules/Penlight#361) - feat: `utils.splitv` now takes same args as `split` [#373](lunarmodules/Penlight#373) - fix: `dir.rmtree` failed to remove symlinks to directories [#365](lunarmodules/Penlight#365) - fix: `pretty.write` could error out on failing metamethods (Lua 5.3+) [#368](lunarmodules/Penlight#368) - fix: `app.parse` now correctly parses values containing '=' or ':' [#373](lunarmodules/Penlight#373) - fix: `dir.makepath` failed to create top-level directories [#372](lunarmodules/Penlight#372) - overhaul: `array2d` module was updated, got additional tests and several documentation updates [#377](lunarmodules/Penlight#377) - feat: `aray2d` now accepts negative indices - feat: `array2d.row` added to align with `column` - fix: bad error message in `array2d.map` - fix: `array2d.flatten` now ensures to deliver a 'square' result if `nil` is encountered - feat: `array2d.transpose` added - feat: `array2d.swap_rows` and `array2d.swap_cols` now return the array - fix: `aray2d.range` correctly recognizes `R` column in spreadsheet format, was mistaken for `R1C1` format. - fix: `aray2d.range` correctly recognizes 2 char column in spreadsheet format - feat: `array2d.default_range` added (previously private) - feat: `array2d.set` if used with a function now passes `i,j` to the function in line with the `new` implementation. - fix: `array2d.iter` didn't properly iterate the indices [#376](lunarmodules/Penlight#376) - feat: `array2d.columns` now returns a second value; the column index - feat: `array2d.rows` added to be in line with `columns`
### Summary - deprecate: `permute.iter`, renamed to `permute.order_iter` (removal later) [#360](lunarmodules/Penlight#360) - deprecate: `permute.table`, renamed to `permute.order_table` (removal later) [#360](lunarmodules/Penlight#360) - deprecate: `Date` module (removal later) [#367](lunarmodules/Penlight#367) - feat: `permute.list_iter` to iterate over different sets of values [#360](lunarmodules/Penlight#360) - feat: `permute.list_table` generate table with different sets of values [#360](lunarmodules/Penlight#360) - feat: Lua 5.4 'warn' compatibility function [#366](lunarmodules/Penlight#366) - feat: deprecation functionality `utils.raise_deprecation` [#361](lunarmodules/Penlight#361) - feat: `utils.splitv` now takes same args as `split` [#373](lunarmodules/Penlight#373) - fix: `dir.rmtree` failed to remove symlinks to directories [#365](lunarmodules/Penlight#365) - fix: `pretty.write` could error out on failing metamethods (Lua 5.3+) [#368](lunarmodules/Penlight#368) - fix: `app.parse` now correctly parses values containing '=' or ':' [#373](lunarmodules/Penlight#373) - fix: `dir.makepath` failed to create top-level directories [#372](lunarmodules/Penlight#372) - overhaul: `array2d` module was updated, got additional tests and several documentation updates [#377](lunarmodules/Penlight#377) - feat: `aray2d` now accepts negative indices - feat: `array2d.row` added to align with `column` - fix: bad error message in `array2d.map` - fix: `array2d.flatten` now ensures to deliver a 'square' result if `nil` is encountered - feat: `array2d.transpose` added - feat: `array2d.swap_rows` and `array2d.swap_cols` now return the array - fix: `aray2d.range` correctly recognizes `R` column in spreadsheet format, was mistaken for `R1C1` format. - fix: `aray2d.range` correctly recognizes 2 char column in spreadsheet format - feat: `array2d.default_range` added (previously private) - feat: `array2d.set` if used with a function now passes `i,j` to the function in line with the `new` implementation. - fix: `array2d.iter` didn't properly iterate the indices [#376](lunarmodules/Penlight#376) - feat: `array2d.columns` now returns a second value; the column index - feat: `array2d.rows` added to be in line with `columns`
## 1.10.0 (2021-04-27) - deprecate: `permute.iter`, renamed to `permute.order_iter` (removal later) [#360](lunarmodules/Penlight#360) - deprecate: `permute.table`, renamed to `permute.order_table` (removal later) [#360](lunarmodules/Penlight#360) - deprecate: `Date` module (removal later) [#367](lunarmodules/Penlight#367) - feat: `permute.list_iter` to iterate over different sets of values [#360](lunarmodules/Penlight#360) - feat: `permute.list_table` generate table with different sets of values [#360](lunarmodules/Penlight#360) - feat: Lua 5.4 'warn' compatibility function [#366](lunarmodules/Penlight#366) - feat: deprecation functionality `utils.raise_deprecation` [#361](lunarmodules/Penlight#361) - feat: `utils.splitv` now takes same args as `split` [#373](lunarmodules/Penlight#373) - fix: `dir.rmtree` failed to remove symlinks to directories [#365](lunarmodules/Penlight#365) - fix: `pretty.write` could error out on failing metamethods (Lua 5.3+) [#368](lunarmodules/Penlight#368) - fix: `app.parse` now correctly parses values containing '=' or ':' [#373](lunarmodules/Penlight#373) - fix: `dir.makepath` failed to create top-level directories [#372](lunarmodules/Penlight#372) - overhaul: `array2d` module was updated, got additional tests and several documentation updates [#377](lunarmodules/Penlight#377) - feat: `aray2d` now accepts negative indices - feat: `array2d.row` added to align with `column` - fix: bad error message in `array2d.map` - fix: `array2d.flatten` now ensures to deliver a 'square' result if `nil` is encountered - feat: `array2d.transpose` added - feat: `array2d.swap_rows` and `array2d.swap_cols` now return the array - fix: `aray2d.range` correctly recognizes `R` column in spreadsheet format, was mistaken for `R1C1` format. - fix: `aray2d.range` correctly recognizes 2 char column in spreadsheet format - feat: `array2d.default_range` added (previously private) - feat: `array2d.set` if used with a function now passes `i,j` to the function in line with the `new` implementation. - fix: `array2d.iter` didn't properly iterate the indices [#376](lunarmodules/Penlight#376) - feat: `array2d.columns` now returns a second value; the column index - feat: `array2d.rows` added to be in line with `columns` ## 1.9.2 (2020-09-27) - fix: dir.walk [#350](lunarmodules/Penlight#350) ## 1.9.1 (2020-09-24) - released to superseed the 1.9.0 version which was retagged in git after some distro's already had picked it up. This version is identical to 1.8.1. ## 1.8.1 (2020-09-24) (replacing a briefly released but broken 1.9.0 version) ## Fixes - In `pl.class`, `_init` can now be inherited from grandparent (or older ancestor) classes. [#289](lunarmodules/Penlight#289) - Fixes `dir`, `lexer`, and `permute` to no longer use coroutines. [#344](lunarmodules/Penlight#344)
rmtree
would fail when an entry somewhere in the tree was a symlink to another directory.Links to files would be deleted, but links to directories would cause an error.
This PR ensures that symlinks to directories are also deleted in the same way.
Also adds tests.