{"push_id":2441468737,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d6423c68f0948329e048d4c317aa3070164225c2","before":"7998f60c2fd06a5157e7b12bea736bcf4f2552ec","commits":[{"sha":"d6423c68f0948329e048d4c317aa3070164225c2","author":{"name":"Ben Andre","email":"af63df39de9c7e10538e217e3bfeeffd6ca008c1@gmail.com"},"message":"Bugfix: timeout limit for subprocesses\n\nFor security reasons svn and git do not use standard in/out/error to request\nand process authentication. Instead, they use lower level system interfaces.\nPython calling a subprocess can only interact with stdio, and can not intercept\nor detect the lower level calls. On some systems, these requests are visible\nto the user, on some systems they are not. When subprocess commands expect user\ninput they will wait and manage_externals appears to hang.\n\nChange the subprocess calls to polling the running process and checking the\ncurrent run time. If the run time exceeds a timeout limit, then we display an\nerror message suggesting that the user verify authentication and then declare a\nfatal error.\n\nThe default timeout interval of 5 minutes is probably too long and can be\nshortened. But since svn requires network interaction and some large checkouts\ncan take a long time, this is a 'conservative' initial value.\n\nBreakup up the subprocess call routine so it is easier to understand.\n\nTesting:\n  make test - python2/python3 - all tests pass.\n  manually test with very short timeout to ensure error message is raised.","distinct":true,"url":"https://api.github.com/repos/NCAR/manage_externals/commits/d6423c68f0948329e048d4c317aa3070164225c2"}]}
{"actor":{"display_login":"bandre-ucar"}}