Hello, Windows builds rely on hand-maintained copies (sometimes patched) of external libraries. Those copies are currently maintained in SVN (yes, you read this correctly). The URL is http://svn.python.org/projects/external/ Not only does this mandate an additional dependency to run a Windows build (I don't think we use SVN anywhere else), but it actually makes them unpleasantly slower, because SVN is crappy at making checkouts. Is it planned to move that repo to git? Regards Antoine.
On Wed, Dec 7, 2016 at 2:39 PM, Antoine Pitrou
Hello,
Windows builds rely on hand-maintained copies (sometimes patched) of external libraries. Those copies are currently maintained in SVN (yes, you read this correctly). The URL is http://svn.python.org/projects/external/
Not only does this mandate an additional dependency to run a Windows build (I don't think we use SVN anywhere else), but it actually makes them unpleasantly slower, because SVN is crappy at making checkouts.
Is it planned to move that repo to git?
I would very much like to move away from hosting these things on svn.p.o, but haven't yet had time to figure out the best way to do so, let alone get it done. I've considered doing shallow checkouts of a Git repository set up very much like svn.p.o/projects/external, doing some manner of black magic with Git submodules, or just downloading source tarballs and maintaining any necessary patches in the cpython repo. The biggest issue with the third option currently is that Windows doesn't have a `patch` command, but it looks like `git apply` will happily apply patches to files it doesn't track, so I'm starting to really like that option. Steve has expressed apprehension about depending on external infrastructure to be able to build installers, so we'd probably need to rehost the tarballs somewhere rather than downloading from their distributors. -- Zach
On Wed, 7 Dec 2016 15:17:20 -0600
Zachary Ware
I would very much like to move away from hosting these things on svn.p.o, but haven't yet had time to figure out the best way to do so, let alone get it done. I've considered doing shallow checkouts of a Git repository set up very much like svn.p.o/projects/external, doing some manner of black magic with Git submodules,
I'm not sure you need some manner of black magic with Git submodules. Just maintain the externals as individual directories in the said Git repo? Regards Antoine.
participants (2)
-
Antoine Pitrou
-
Zachary Ware