>
> > what I'd expect as a new user of Commons IO

I think it's safe to say, at least on Windows, the default OS behavior is
what 99% of people will want default in a copy utility; copying a file to a
destination nearly always warrants the destination permissions, especially
when the ACLs for Windows are so specific and rather tricky to manipulate
after the fact.

On MacOS, my results are identical, in zsh and bash, a file created in
user-space, but copied (NOT moved) to a root-owned space will inherit the
"root" permissions upon copy (consistent with old behavior, not new
behavior).

On Ubuntu, my results are identical as well: In bash, a file created in
user-space, but copied (NOT moved) to a root-owned space will inherit the
"root" permissions upon copy (consistent with old behavior, not new
behavior).

In my opinion, the utility is not useful without this behavior toggled back
on by default.  Otherwise, NIO with a walktree would accomplish this task
instead, so by NOT reverting this change, the project is knowingly
abandoning this API (or making a decision to keep an un-intuitive and
confusing API workaround.  But I've stated this before, so I will digress
in my opinion, it's not really what's being discussed right now.

Perhaps a better, more objective argument is that for 16 years, the
behavior was the same, only to be changed for (less than) two years.  In
the case of my project, this was unnoticed as we often wait before
upgrading library versions due to API changes.  (however when Log4J
vulnerabilities in past years started reaching our clients, we've been
trying to take a more responsible approach)

Since this is a "users" list, I would love to hear opinions that are less
influenced. :)

 > Another concern is that for changes we should have tests that will avoid
> future regressions and also clearly document why the test exists so that
> the tests are not also changed inadvertently,


I have been thinking about this as well.  I hope I can receive some
guidance on this, however, I would also like to set some scope that I would
expect:

   - Javdoc comments updated to be more concise only for the APIs that are
   modified
   - I can receive some assistance from experienced devs on writing the
   unit tests.  I could run platform-specific shell commands or use NIO
   features, but to test this on Windows would need some form of Windows CI
   host, so hopefully I can get some guidance on GitHub for this.

I do understand there's a chance the team will reject this PR for reasons
beyond my control, but I also hope that my sentiments about the usefulness
of this API are weighed, since I believe this API will become less
attractive for new developers if not corrected to its old behavior. :)

Reply via email to