On Thu, Jan 21, 2021 at 4:43 PM Barney Gale <barney.g...@gmail.com> wrote:
> Hi Brett, > > Per your PR review feedback [0] I left a comment on the bug [1] asking > when the link_to() method should be scheduled for removal. It didn't elicit > a great deal of feedback, so I'm raising this again here! > Per PEP 387 (https://www.python.org/dev/peps/pep-0387/), the deprecation needs to last for at least 2 versions (so if this landed in 3.10 then removal couldn't happen any sooner than 3.12). > > The proposed deprecation warning in the docs currently reads: > > > This method is deprecated in favor of :meth:`Path.hardlink_to`, as its > argument order does not match that of :meth:`Path.symlink_to`. > I would replace "its argument order" with "the argument order of :meth:`link_to` to disambiguate what "its" is referring to (my brain kept associating it with the last noun, which was Path.hardlink_to). > > My view is that the removal does not need to happen soon. Any existing > code will be written by people who have already figured out the argument > reversal, so the current situation doesn't seem dangerous. That said, a > speedy deprecation and replacement will remove a guaranteed headache for > people creating hardlinks in pathlib. > The removal can't be any _sooner_ than 3.12, but it can be postponed if desired/necessary. > > Apologies if replying to an old thread is bad form - I'm not well versed > in mailing list etiquette. > Not a problem! Sometimes it's just called for, and you kept the old emails quoted in your reply which helps. -Brett > > Best, > > Barney > > [0] https://github.com/python/cpython/pull/18909#discussion_r392416154 > [1] https://bugs.python.org/issue39950#msg365275 > > On Wed, 11 Mar 2020 at 17:31, Brett Cannon <br...@python.org> wrote: > >> Antoine Pitrou wrote: >> > On Wed, 11 Mar 2020 11:17:22 +0000 >> > Barney Gale barney.g...@gmail.com wrote: >> > > Hi, >> > > Pathlib's symlink_to() and link_to() methods have different argument >> > > orders, so: >> > > a.symlink_to(b) # Creates a symlink from A to B >> > > a.link_to(b) # Creates a hard link from B to A >> > > >> > > I don't think link_to() was intended to be implemented this way, as >> the >> > > docs say "Create a hard link pointing to a path named target.". It's >> also >> > > inconsistent with everything else in pathlib, most obviously >> symlink_to(). >> > > Bug report here: https://bugs.python.org/issue39291 >> > > This /really/ irks me. Apparently it's too late to fix link_to(), so >> I'd >> > > like to suggest we add a new hardlink_to() method that matches the >> > > symlink_to() argument order. link_to() then becomes >> deprecated/undocumented. >> > > I think that's a good idea. >> >> +1 from me as well; new method and deprecate the old one. >> >> > Regards >> > Antoine. >> _______________________________________________ >> Python-Dev mailing list -- python-dev@python.org >> To unsubscribe send an email to python-dev-le...@python.org >> https://mail.python.org/mailman3/lists/python-dev.python.org/ >> Message archived at >> https://mail.python.org/archives/list/python-dev@python.org/message/EID35RFJJQBHL4WKSO5DM36O7DDVDEKP/ >> Code of Conduct: http://python.org/psf/codeofconduct/ >> >
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/6IOGUMHE7AMJGBJ3KKLMQJU4EJDBYPEL/ Code of Conduct: http://python.org/psf/codeofconduct/