SIGN IN SIGN UP

GH-73991: Prune `pathlib.Path.copy()` and `copy_into()` arguments (#123337)

Remove *ignore* and *on_error* arguments from `pathlib.Path.copy[_into]()`,
because these arguments are under-designed. Specifically:

- *ignore* is appropriated from `shutil.copytree()`, but it's not clear
  how it should apply when the user copies a non-directory. We've changed
  the callback signature from the `shutil` version, but I'm not confident
  the new signature is as good as it can be.
- *on_error* is a generalisation of `shutil.copytree()`'s error handling,
  which is to accumulate exceptions and raise a single `shutil.Error` at
  the end. It's not obvious which solution is better.

Additionally, this arguments may be challenging to implement in future user
subclasses of `PathBase`, which might utilise a native recursive copying
method.
B
Barney Gale committed
7bd6ebf696efcd5cf8e4e7946f9d8d8aee05664c
Parent: 033d537
Committed by GitHub <noreply@github.com> on 8/26/2024, 4:05:34 PM