classification
Title: Pull Windows dependencies from GitHub rather than svn.python.org
Type: resource usage Stage: resolved
Components: Build, Extension Modules, Windows Versions: Python 3.7, Python 3.6, Python 3.5, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: ammar2, benjamin.peterson, jeremy.kloth, jkloth, paul.moore, pitrou, schen, steve.dower, tim.golden, vstinner, zach.ware
Priority: normal Keywords: patch

Created on 2017-05-24 01:33 by zach.ware, last changed 2017-12-06 22:28 by vstinner. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 1783 merged zach.ware, 2017-05-24 01:35
PR 2236 merged zach.ware, 2017-06-16 03:30
PR 2237 merged zach.ware, 2017-06-16 03:45
PR 2737 merged steve.dower, 2017-07-17 09:44
PR 2739 merged steve.dower, 2017-07-17 13:23
PR 2744 merged steve.dower, 2017-07-17 21:32
PR 2751 merged steve.dower, 2017-07-18 17:52
PR 3306 merged zach.ware, 2017-09-04 20:58
PR 3330 merged zach.ware, 2017-09-05 16:29
PR 3348 merged zach.ware, 2017-09-05 17:32
PR 3443 merged zach.ware, 2017-09-08 00:39
Messages (52)
msg294307 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-05-24 01:33
Once we've migrated away from svn.python.org for Windows build dependencies, there should be no reason to continue running svn.python.org.
msg294359 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-05-24 15:00
The reason to keep it running is for all the existing people who are building from source. Unless you're porting all the old versions over and providing instructions for updating old sources? I wouldn't bother - just leave the server up for a few more years.

Ben probably knows - can we add a custom message to svn requests? Then we could start publicising an end of life date for it.
msg294441 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-05-25 07:00
The box svn is running on is at risk of falling over any day. Plus with whatever ancient software it's running, it's surely a security risk to keep running an unmaintained svn instance. I certainly don't want to keep it running for years. I don't think we've ever advertised the svn windows deps as a service we provide the community.

Off the top of my head, I'm not sure how to announce that deprecation to svn client users. If you find something on the internets, I can put it on the server.
msg294494 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-05-25 15:56
> I don't think we've ever advertised the svn windows deps as a service we provide the community.

Except in the dev guide :) ([after looking] well, linked from the dev guide https://github.com/python/cpython/blob/master/PCbuild/readme.txt#L230 )

Maybe we just need to pick a date and publicise it separately. Is this process PEP-worthy? Considering the amount of decisions we had to make regarding putting code in git, it might be worth writing up how it works in a brief PEP and including an EOL for svn.p.o
msg294533 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-05-26 06:41
How far along are you with removing the svn.python.org dependency. Does  Jan 1 2018 sound okay for the end of svn.python.org?

I think a PEP is up to you. Doesn't seem like something that needs to be approved.
msg294534 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-05-26 07:34
I could imagine people wanting to build old releases.  But we have Windows binaries up here:
https://www.python.org/ftp/python/

Therefore I don't think it's a problem to discontinue svn.python.org once new releases are migrated to github (but only once those new releases are out).
msg295240 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-06-06 04:50
I just disabled viewvc on svn.python.org because of a security problem.
msg296150 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-06-16 03:08
New changeset 51599e2bdd10ab77212a7cbb41a13ea70ee13da8 by Zachary Ware in branch 'master':
bpo-30450: Pull Windows dependencies from GitHub rather than svn (GH-1783)
https://github.com/python/cpython/commit/51599e2bdd10ab77212a7cbb41a13ea70ee13da8
msg296157 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-06-16 03:35
New changeset cb8c0485ab1e3aeb4f64e76177aabbc6eba5a0ef by Zachary Ware in branch 'master':
bpo-30450: Add NEWS and whatsnew (GH-2236)
https://github.com/python/cpython/commit/cb8c0485ab1e3aeb4f64e76177aabbc6eba5a0ef
msg296160 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-06-16 06:06
New changeset 04431c926a88be433203f89e3577addd0d41b602 by Zachary Ware in branch '3.6':
bpo-30450: Pull Windows dependencies from GitHub rather than svn (GH-1783) (GH-2237)
https://github.com/python/cpython/commit/04431c926a88be433203f89e3577addd0d41b602
msg296351 - (view) Author: (schen) Date: 2017-06-19 15:50
The usage text in build.bat still mentions that svn.exe is required for the '-e' flag. I think it should be updated to reflect the changes made.
msg296365 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-06-19 18:24
Zach, I just spotted this build log, that appears to have failed to download nuget.exe: http://buildbot.python.org/all/builders/AMD64%20Windows7%20SP1%203.6/builds/339/steps/compile/logs/stdio

Guessing the bot is only succeeding because it currently has all the dependencies. Maybe we should consider just checking in nuget.exe?
msg296805 - (view) Author: Ammar Askar (ammar2) * Date: 2017-06-25 06:08
Looks like that error is coming from the fact that the Powershell on that buildbot is outdated. As the documentation notes:

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/invoke-webrequest

> This cmdlet was introduced in Windows PowerShell 3.0.


Before running the web request command maybe do a `powershell.exe -Command $PSVersionTable.PSVersion` in order to debug this issue on any other machines?
msg298469 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 09:25
The buildbot failures currently being blamed on issue30916 are actually due to this issue - we actually need Python 3.6 on these machines in order to download the new externals, and they don't have it and we can't get it via Powershell.
msg298471 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 09:45
My PR adds a small script to use requests.get/urlretrieve with any version of Python to get nuget.exe.

Theoretically, we *could* use this to download everything, but I'd rather minimize our exposure to insecure downloads for machines that don't already have Python 3.6 available.
msg298476 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-07-17 10:19
Compilation failed on:

* http://buildbot.python.org/all/builders/x86%20Windows7%203.x/builds/885
* http://buildbot.python.org/all/builders/AMD64%20Windows7%20SP1%203.x/builds/750
msg298497 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 12:55
New changeset 588836d3e646c2bcb3473cda7c5f6a1e0ff2c2e9 by Steve Dower in branch 'master':
bpo-30450: Adds alternate download approach for nuget.exe (#2737)
https://github.com/python/cpython/commit/588836d3e646c2bcb3473cda7c5f6a1e0ff2c2e9
msg298498 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:00
Compilation still fails, as some of the buildbots don't have py.exe either.

At this stage, our choices are either to fix the buildbots, most easily by copying py.exe into PATH, or to check nuget.exe (4MB) into the source repository. (I guess we can cover a few more % of cases by checking in py.exe, but that still won't get us 100%)

Any preferences?
msg298501 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-07-17 13:05
If the dependencies are in git, why don't you use "git clone" instead of trying a HTTP fetch?
msg298504 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-07-17 13:06
For example "git clone --depth 1 https://github.com/python/cpython-bin-deps --branch openssl-bin-1.0.2k myopenssldir"
msg298505 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:07
We can't assume git.exe is available either (build from sdist/hggit/.zip), though I guess we can also use it as a fallback. At least on the buildbots it'll be there.
msg298506 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-07-17 13:09
I think it's reasonable to mandate the presence of a git install to fetch CPython externals.  After all we used to mandate the presence of a svn install...
msg298507 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-07-17 13:17
> We can't assume git.exe is available either

How do you get CPython source code if git is not available? Also using
HTTP to get a tarball? I think that it's ok to require git to build
CPython on Windows. Previously, we required: svn, perl and git :-)
msg298508 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:17
> we used to mandate the presence of a svn install

And we regretted that so much that we changed away from it :)

When discussing this changeover plan, Zach and I decided we needed a fallback requiring only OS dependencies. In this case, the Powershell dependency fails on Windows 7 since it does not have the Invoke-WebRequest command (unless you've been installing all your updates).

We decided against using git first because then the case that is more reliable (download and extract a .zip file from a URL) would go unused/untested in many cases.

We also use the potentially installed python.exe in other places in the build, so it's far from a waste to grab it, and we already required *any* Python dependency to do a full build (docs and/or installer), so it isn't really adding anything there. The bit that was overlooked was the PowerShell on old systems limitation, and the absence of py.exe when you don't have Python 3 installed.
msg298509 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:19
> How do you get CPython source code if git is not available?

Go to GitHub and click the "Download" button, or select any sdist from our downloads page, or use Mercurial+hggit, or Dulwich directly, or a mirror/fork on any VCS you like. There are plenty of ways that don't require having git.exe on your PATH.
msg298512 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-07-17 13:26
> And we regretted that so much that we changed away from it :)

I'm not sure what your reasons were but from my POV (as someone who used to build on Windows from time to time), the two problems were:

1) svn was only used for this while we had migrated to hg

2) svn is darn slow, which neither hg nor git (especially with shallow clones, see "git clone --depth 1") are

I don't think the annoyance itself of having to install git is much to worry about, since 1) it's a one time cost 2) it's quite easy 3) many developers or packagers are bound to already use git for other projects.
msg298513 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-07-17 13:28
Ah ok, I see, I was focused on buildbots and other CIs, sorry.

> Maybe we should consider just checking in nuget.exe?

Where? In Python source code? I don't want to how to maintain yet another dependencies :-( I prefer to try a few tools, or explain how to get them. And write good documentation how to build Python on Windows ;-)
msg298516 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:36
Unfortunately, "install <anything>" is often a blocking requirement for many developers (typically the ones who get paid well to do this), so I'd rather have no requirements.

Currently we achieve this if PowerShell is up to date or Python+py.exe are installed, both of which are likely even in the "I can't install anything" case. Soon we'll also succeed here if git is installed and on PATH, which likely covers a few more % of users (but especially our Win7 buildbots). I feel confident we've covered 99% of cases transparently without adding the need for more documentation - still just get_externals.bat && build.bat to build.

Once Travis has finished its build I'll merge and we'll see if the buildbots like it.
msg298517 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:43
New changeset efa26bcd5085279fc4e9ae96d052272a5214c2bd by Steve Dower in branch 'master':
bpo-30450: Fall back to git.exe if no Python is found. (#2739)
https://github.com/python/cpython/commit/efa26bcd5085279fc4e9ae96d052272a5214c2bd
msg298518 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 13:47
The buildbots have already successfully built, so I'm declaring this and issue30916 resolved.
msg298519 - (view) Author: Jeremy Kloth (jkloth) * Date: 2017-07-17 13:51
Or, use the preexisting convention of the HOST_PYTHON envvar that was used prior to the recent merged PRs
msg298520 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 14:03
> use the preexisting convention of the HOST_PYTHON envvar that was used prior to the recent merged PRs

Is that an actual convention? I didn't see any other references, so I figured Zach had made it up.
msg298522 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-07-17 14:09
I think that's used on Unix when cross-compiling, but I don't know about Windows...
msg298523 - (view) Author: Jeremy Kloth (jkloth) * Date: 2017-07-17 14:13
> In this case, the Powershell dependency fails on Windows 7 since it does not have the Invoke-WebRequest command (unless you've been installing all your updates).

Just to note, PowerShell must be updated *manually* (at least on Win7).  Plus you need to know what to update to get it. In this case, the Windows Management Framework:

https://www.microsoft.com/en-us/download/details.aspx?id=40855

I've installed this on my buildbot apparently concurrently with this conversation.  Personally, I'd lean toward recommending this update with Windows 7 machines as it stays closer to "naked" OS + Python checkout for building a new Python. (Although the latest merge kinda makes this a mute point).
msg298526 - (view) Author: Jeremy Kloth (jeremy.kloth) Date: 2017-07-17 14:18
> Is that an actual convention? I didn't see any other references, so I figured Zach had made it up.

It has existed in the Windows build files since 2.5, when x64
supported was initially added by MvL.
msg298552 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-07-17 19:44
I just got a download failure on an AppVeyor build:
https://ci.appveyor.com/project/python/cpython/build/3.7.0a0.4571

Downloading nuget...
Invoke-WebRequest : The operation has timed out.
At line:1 char:1
+ Invoke-WebRequest https://aka.ms/nugetclidl -OutFile 'C:\projects\cpy ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:Htt 
   pWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShe 
   ll.Commands.InvokeWebRequestCommand
 
  File "<string>", line 1
    C:\projects\cpython\PCbuild\\urlretrieve.py
     ^
SyntaxError: invalid syntax
Installing Python via nuget...
msg298557 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 21:28
Hmm... looks like there's another way to fail I didn't account for that goes down a different path in the batch file. I'll try being less clever.
msg298559 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 21:44
Yeouch, it's been causing AppVeyor builds to get stuck, and then they time out after an hour.

Luckily mine is up next in a minute or so, so I'll try to merge quickly and avoid anyone else getting held up.

I also restored HOST_PYTHON in the PR, as a fallback for "where do I find a python.exe I can download stuff with" - specific version doesn't matter, as long as it has requests or urlretrieve.
msg298560 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-17 21:55
Ah, there's also a nuget.org outage affecting AppVeyor (but not me because I'm in Italy and so connecting to the EU mirror automatically) - https://appveyor.statuspage.io/

When that recovers it should be fine again. The workaround for those without py.exe is to set PYTHON (or, post-PR, HOST_PYTHON) to a Python 3.6 or later executable.
msg298608 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-18 17:31
New changeset 5feda33a35d9413e2073411b848dc49d94c57497 by Steve Dower in branch 'master':
bpo-30450: Fix logic for retrying nuget.exe download (#2744)
https://github.com/python/cpython/commit/5feda33a35d9413e2073411b848dc49d94c57497
msg298609 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-18 17:51
Zach - did this get backported to 2.7 or 3.5? It doesn't look like it.
msg298640 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-07-19 07:11
New changeset e99d3a52a50b3f836fb9fb88f317aacddd494858 by Steve Dower in branch '3.6':
[3.6] bpo-30450: Improved logic for obtaining dependencies (#2751)
https://github.com/python/cpython/commit/e99d3a52a50b3f836fb9fb88f317aacddd494858
msg299803 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-08-06 15:20
Has this actually been backported to 3.6? It looks like a lot of Tcl and OpenSSL stuff is being compiled on AppVeyor yet:
https://ci.appveyor.com/project/python/cpython/build/3.6.1+.5134
msg299809 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-08-06 18:33
The prebuilt binaries have not, and the OpenSSL change has functional implications and should not be (unless someone wants to make the security justification, but right now I think it's a theoretical rather than an actual benefit). The TclTk build could be, but I haven't gone to the effort to split it up.

There's also a separate issue for that part - this bug is for the location of sources.
msg301279 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-09-04 23:05
New changeset 986b7ffc650919b3022ccaa458a843bb8a95d2bd by Zachary Ware in branch '2.7':
[2.7] bpo-30450: Pull Windows dependencies from GitHub rather than SVN (GH-1783) (GH-3306)
https://github.com/python/cpython/commit/986b7ffc650919b3022ccaa458a843bb8a95d2bd
msg301327 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-05 16:28
> New changeset 986b7ffc650919b3022ccaa458a843bb8a95d2bd by Zachary Ware in branch '2.7':
> [2.7] bpo-30450: Pull Windows dependencies from GitHub rather than SVN (GH-1783) (GH-3306)

This change broke Python 2.7 compilation on Windows XP.

Pending fix: PR 3330.
msg301328 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-05 16:31
> New changeset 986b7ffc650919b3022ccaa458a843bb8a95d2bd by Zachary Ware in branch '2.7':
> [2.7] bpo-30450: Pull Windows dependencies from GitHub rather than SVN (GH-1783) (GH-3306)

This change also broke compilation on AMD64 Windows10 2.7 buildbot:
http://buildbot.python.org/all/builders/AMD64%20Windows10%202.7/builds/279



"D:\buildarea\2.7.bolen-windows10\build\PCbuild\pcbuild.proj" (Build target) (1) ->
"D:\buildarea\2.7.bolen-windows10\build\PCbuild\pythoncore.vcxproj" (Build target) (2) ->
(Manifest target) -> 
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code -1073741819. [D:\buildarea\2.7.bolen-windows10\build\PCbuild\pythoncore.vcxproj]

    260 Warning(s)
    1 Error(s)
msg301365 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-09-05 20:02
New changeset 8905fb831cf7c400c479b79bb2f90bfbe9c71337 by Zachary Ware in branch '2.7':
bpo-30450: Don't use where, XP doesn't have it (GH-3348)
https://github.com/python/cpython/commit/8905fb831cf7c400c479b79bb2f90bfbe9c71337
msg301712 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-09-08 18:21
New changeset 1911cf3dd2ae67d600c166ba52872fdcf3e85824 by Zachary Ware in branch '2.7':
[2.7] bpo-30450: Fall back on the old env.bat (GH-3443)
https://github.com/python/cpython/commit/1911cf3dd2ae67d600c166ba52872fdcf3e85824
msg301966 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-12 15:57
> This change also broke compilation on AMD64 Windows10 2.7 buildbot:
> http://buildbot.python.org/all/builders/AMD64%20Windows10%202.7/builds/279
> (...) error MSB6006: "mt.exe" exited with code -1073741819. (...)

I created the bug bpo-31430 to track this regression.
msg307769 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-12-06 21:14
This has been backported and working for nearly 3 months now; closing.

As for whether to continue operating svn.python.org now that we're officially away from it: that can be determined elsewhere, probably by the box dying and deciding for us :)
msg307772 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-12-06 22:28
Noooo! I loved Subversion so much! ... just kidding. Thanks for getting rid of Subversion.

It became much easier to build CPython on Windows nowadays!
History
Date User Action Args
2017-12-06 22:28:17vstinnersetmessages: + msg307772
2017-12-06 21:14:23zach.waresetstatus: open -> closed
resolution: fixed
messages: + msg307769

stage: patch review -> resolved
2017-09-12 15:57:00vstinnersetmessages: + msg301966
2017-09-08 18:21:08zach.waresetmessages: + msg301712
2017-09-08 00:39:24zach.waresetkeywords: + patch
stage: backport needed -> patch review
pull_requests: + pull_request3439
2017-09-05 20:02:09zach.waresetmessages: + msg301365
2017-09-05 17:32:21zach.waresetpull_requests: + pull_request3361
2017-09-05 16:31:30vstinnersetmessages: + msg301328
2017-09-05 16:29:03zach.waresetpull_requests: + pull_request3359
2017-09-05 16:28:31vstinnersetmessages: + msg301327
2017-09-04 23:05:35zach.waresetmessages: + msg301279
2017-09-04 20:58:42zach.waresetpull_requests: + pull_request3336
2017-08-06 18:33:01steve.dowersetmessages: + msg299809
2017-08-06 15:20:03pitrousetmessages: + msg299803
2017-07-19 07:11:11steve.dowersetmessages: + msg298640
2017-07-18 17:52:17steve.dowersetpull_requests: + pull_request2810
2017-07-18 17:51:53steve.dowersetmessages: + msg298609
stage: commit review -> backport needed
2017-07-18 17:31:55steve.dowersetmessages: + msg298608
2017-07-17 21:55:27steve.dowersetmessages: + msg298560
2017-07-17 21:44:32steve.dowersetmessages: + msg298559
2017-07-17 21:33:28steve.dowersetstatus: closed -> open
assignee: zach.ware -> steve.dower
resolution: fixed -> (no value)
stage: resolved -> commit review
2017-07-17 21:32:58steve.dowersetpull_requests: + pull_request2804
2017-07-17 21:28:39steve.dowersetmessages: + msg298557
2017-07-17 19:44:01pitrousetmessages: + msg298552
2017-07-17 14:18:49jeremy.klothsetnosy: + jeremy.kloth
messages: + msg298526
2017-07-17 14:13:35jklothsetmessages: + msg298523
2017-07-17 14:09:35pitrousetmessages: + msg298522
2017-07-17 14:03:38steve.dowersetmessages: + msg298520
2017-07-17 13:51:33jklothsetnosy: + jkloth
messages: + msg298519
2017-07-17 13:47:07steve.dowersetstatus: open -> closed
resolution: fixed
messages: + msg298518

stage: patch review -> resolved
2017-07-17 13:43:58steve.dowersetmessages: + msg298517
2017-07-17 13:36:03steve.dowersetmessages: + msg298516
2017-07-17 13:28:37vstinnersetmessages: + msg298513
2017-07-17 13:26:27pitrousetmessages: + msg298512
2017-07-17 13:23:29steve.dowersetpull_requests: + pull_request2799
2017-07-17 13:19:02steve.dowersetmessages: + msg298509
2017-07-17 13:17:47steve.dowersetmessages: + msg298508
2017-07-17 13:17:15vstinnersetmessages: + msg298507
2017-07-17 13:09:07pitrousetmessages: + msg298506
2017-07-17 13:07:49steve.dowersetmessages: + msg298505
2017-07-17 13:06:44pitrousetmessages: + msg298504
2017-07-17 13:05:05pitrousetmessages: + msg298501
2017-07-17 13:00:06steve.dowersetmessages: + msg298498
2017-07-17 12:55:30steve.dowersetmessages: + msg298497
2017-07-17 10:19:08vstinnersetnosy: + vstinner
messages: + msg298476
2017-07-17 09:45:53steve.dowersetmessages: + msg298471
2017-07-17 09:44:24steve.dowersetpull_requests: + pull_request2797
2017-07-17 09:25:36steve.dowersetmessages: + msg298469
2017-06-25 06:08:12ammar2setnosy: + ammar2
messages: + msg296805
2017-06-19 18:24:32steve.dowersetmessages: + msg296365
2017-06-19 15:50:42schensetnosy: + schen
messages: + msg296351
2017-06-16 06:06:38zach.waresetmessages: + msg296160
2017-06-16 03:45:04zach.waresetpull_requests: + pull_request2282
2017-06-16 03:35:01zach.waresetmessages: + msg296157
2017-06-16 03:30:17zach.waresetpull_requests: + pull_request2281
2017-06-16 03:08:53zach.waresetmessages: + msg296150
2017-06-06 04:50:21benjamin.petersonsetmessages: + msg295240
2017-05-26 07:34:41pitrousetnosy: + pitrou
messages: + msg294534
2017-05-26 06:41:31benjamin.petersonsetmessages: + msg294533
2017-05-25 15:56:55steve.dowersetmessages: + msg294494
2017-05-25 07:00:05benjamin.petersonsetmessages: + msg294441
2017-05-24 15:00:29steve.dowersetassignee: zach.ware

messages: + msg294359
nosy: + benjamin.peterson
2017-05-24 01:35:36zach.waresetpull_requests: + pull_request1864
2017-05-24 01:33:46zach.warecreate