summaryrefslogtreecommitdiff
path: root/git/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'git/util.py')
-rw-r--r--git/util.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/git/util.py b/git/util.py
index 1e0d3eb4..6e3ddfab 100644
--- a/git/util.py
+++ b/git/util.py
@@ -11,11 +11,15 @@ import getpass
import logging
import os
import platform
+import subprocess
import re
import shutil
import stat
import time
-from unittest.case import SkipTest
+try:
+ from unittest import SkipTest
+except ImportError:
+ from unittest2 import SkipTest
from gitdb.util import (# NOQA @IgnorePep8
make_sha,
@@ -303,7 +307,7 @@ def is_cygwin_git(git_executable):
if not is_win:
return False
- from subprocess import check_output
+ #from subprocess import check_output
is_cygwin = _is_cygwin_cache.get(git_executable)
if is_cygwin is None:
@@ -316,8 +320,11 @@ def is_cygwin_git(git_executable):
## Just a name given, not a real path.
uname_cmd = osp.join(git_dir, 'uname')
- uname = check_output(uname_cmd, universal_newlines=True)
- is_cygwin = 'CYGWIN' in uname
+ process = subprocess.Popen([uname_cmd], stdout=subprocess.PIPE,
+ universal_newlines=True)
+ uname_out, _ = process.communicate()
+ #retcode = process.poll()
+ is_cygwin = 'CYGWIN' in uname_out
except Exception as ex:
log.debug('Failed checking if running in CYGWIN due to: %r', ex)
_is_cygwin_cache[git_executable] = is_cygwin