summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Verges <xavier.verges@es.ibm.com>2020-10-04 20:46:01 +0200
committerSebastian Thiel <sebastian.thiel@icloud.com>2020-10-05 08:12:04 +0800
commit4ba76d683df326f2e6d4f519675baf86d0373abf (patch)
treebae28927f8589cd1cc4a5a122526896ecc6388ca
parent7cd47aeea822c484342e3f0632ae5cf8d332797d (diff)
downloadgitpython-4ba76d683df326f2e6d4f519675baf86d0373abf.tar.gz
Do not break convention when updating sys.path
-rw-r--r--git/__init__.py2
-rw-r--r--test/test_installation.py6
2 files changed, 7 insertions, 1 deletions
diff --git a/git/__init__.py b/git/__init__.py
index 50730742..53440830 100644
--- a/git/__init__.py
+++ b/git/__init__.py
@@ -19,7 +19,7 @@ __version__ = 'git'
def _init_externals():
"""Initialize external projects by putting them into the path"""
if __version__ == 'git' and 'PYOXIDIZER' not in os.environ:
- sys.path.insert(0, osp.join(osp.dirname(__file__), 'ext', 'gitdb'))
+ sys.path.insert(1, osp.join(osp.dirname(__file__), 'ext', 'gitdb'))
try:
import gitdb
diff --git a/test/test_installation.py b/test/test_installation.py
index db14bc84..3b39a328 100644
--- a/test/test_installation.py
+++ b/test/test_installation.py
@@ -1,6 +1,7 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
+import ast
import os
import subprocess
from test.lib import TestBase
@@ -27,3 +28,8 @@ class TestInstallation(TestBase):
self.assertEqual(0, result.returncode, msg=result.stderr or result.stdout or "Can't build - setup.py failed")
result = subprocess.run([self.python, '-c', 'import git'], stdout=subprocess.PIPE, cwd=self.sources)
self.assertEqual(0, result.returncode, msg=result.stderr or result.stdout or "Selftest failed")
+ result = subprocess.run([self.python, '-c', 'import sys;import git; print(sys.path)'], stdout=subprocess.PIPE, cwd=self.sources)
+ syspath = result.stdout.decode('utf-8').splitlines()[0]
+ syspath = ast.literal_eval(syspath)
+ self.assertEqual('', syspath[0], msg='Failed to follow the conventions for https://docs.python.org/3/library/sys.html#sys.path')
+ self.assertTrue(syspath[1].endswith('gitdb'), msg='Failed to add gitdb to sys.path')