On Fri, Jul 14, 2017, at 11:59 AM, Nathaniel Smith wrote:
> What are the advantages of this design, as compared to the
> fallback of doing unconditional copytree (like pip does now and may
> well continue doing for years to come regardless of what we say here),

I don't think pip currently does copytree. Naively copying everything
may be very slow, especially on Windows, because it includes things like
the .git subdirectory. If you exclude the .git subdirectory, you break
tools like setuptools_scm which rely on the VCS for version numbers.

> or the slightly fancier fallback that my draft supports of attempting
> to build an sdist and if that fails doing a copytree instead?

Having a fallback which may be pathologically slow seems like bad UX
(it's hard to see what's going wrong), and I don't want whatever is
specified to hinge on generating sdists.

> ...and if pip's goal is to go via sdist whenever possible while always
> being careful never to modify the source tree, then why did we end up
> with a design where sdist generation is the one case that *is*
> encouraged to modify the source tree? This doesn't make any sense.

Sdist generation is *not* encouraged to modify the source tree. It is
encouraged to avoid generating significant artifacts, because the build
steps should be done after extracting the sdist. But if the backend
wants to generate intermediates during sdist creation, it is free to
make a temporary directory, or use an external cache mechanism.

> I'm sorry for dragging this out -- I know you just want to get
> something finished and stop arguing about this. So do I :-). And your
> efforts to keep pushing this stone up the hill are much appreciated. I
> just think we should... find a shorter hill and declare victory over
> that.

I appreciate the enthusiasm, but I feel like we're arguing about whether
that hill over there is smaller when we're almost at the top of this
one. ;-)
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to