New submission from Geoff Alexander <gd...@us.ibm.com>:
I've found that subprocess.check_output() fails on Windows with OSError: [WinError 87] when the current directory's name is too long: ``` Traceback (most recent call last): File "migration.py", line 169, in <module> migrate() File "migration.py", line 80, in migrate rtc.acceptchangesintoworkspace(rtc.getchangeentriestoaccept(changeentries, history)) File "c:\Users\GeoffAlexander\Documents\Nirvana\RTC2Git\git-repositories\rtc2git-migration-tool\rtcFunctions.py", line 310, in acceptchangesintoworkspace Commiter.addandcommit(changeEntry) File "c:\Users\GeoffAlexander\Documents\Nirvana\RTC2Git\git-repositories\rtc2git-migration-tool\gitFunctions.py", line 97, in addandcommit Commiter.handle_captitalization_filename_changes() File "c:\Users\GeoffAlexander\Documents\Nirvana\RTC2Git\git-repositories\rtc2git-migration-tool\gitFunctions.py", line 130, in handle_captitalization_filename_changes files = shell.getoutput("git ls-files") File "c:\Users\GeoffAlexander\Documents\Nirvana\RTC2Git\git-repositories\rtc2git-migration-tool\shell.py", line 33, in getoutput outputasbytestring = check_output(command, shell=True) File "C:\Users\GeoffAlexander\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 356, in check_output **kwargs).stdout File "C:\Users\GeoffAlexander\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 423, in run with Popen(*popenargs, **kwargs) as process: File "C:\Users\GeoffAlexander\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 729, in __init__ restore_signals, start_new_session) File "C:\Users\GeoffAlexander\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 1017, in _execute_child startupinfo) OSError: [WinError 87] The parameter is incorrect ``` Python's subprocess module should handle long directory and files names on Windows where supported. For older versions of Windows that don't support long directory and file names, an exception with a more informative error message than "OSError: [WinError 87]" should be thrown. ---------- components: Windows messages: 337307 nosy: Geoff.Alexander, paul.moore, steve.dower, tim.golden, zach.ware priority: normal severity: normal status: open title: subprocess.check_output() fails with OSError: [WinError 87] when current directory name is too long versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36213> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com