From 99329ab49088e0853d0bd922e49390df2f44eded 2014-01-22 23:24:40 From: MinRK Date: 2014-01-22 23:24:40 Subject: [PATCH] unicode sadness on Windows in the submodule check --- diff --git a/IPython/utils/submodule.py b/IPython/utils/submodule.py index e52f9db..7f5f0eb 100644 --- a/IPython/utils/submodule.py +++ b/IPython/utils/submodule.py @@ -66,7 +66,11 @@ def check_submodule_status(root=None): for submodule in submodules: if not os.path.exists(submodule): return 'missing' - + + # Popen can't handle unicode cwd on Windows Python 2 + if sys.platform == 'win32' and sys.version_info[0] < 3 \ + and not isinstance(root, bytes): + root = root.encode(sys.getfilesystemencoding() or 'ascii') # check with git submodule status proc = subprocess.Popen('git submodule status', stdout=subprocess.PIPE, @@ -75,7 +79,7 @@ def check_submodule_status(root=None): cwd=root, ) status, _ = proc.communicate() - status = status.decode("ascii") + status = status.decode("ascii", "replace") for line in status.splitlines(): if status.startswith('-'):