summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git/index/fun.py6
-rw-r--r--git/test/lib/helper.py10
-rw-r--r--git/test/test_base.py9
-rw-r--r--tox.ini4
4 files changed, 21 insertions, 8 deletions
diff --git a/git/index/fun.py b/git/index/fun.py
index c2fe912e..c1188ccb 100644
--- a/git/index/fun.py
+++ b/git/index/fun.py
@@ -10,8 +10,6 @@ from stat import (
S_IFREG,
)
-S_IFGITLINK = S_IFLNK | S_IFDIR # a submodule
-
from io import BytesIO
import os
import subprocess
@@ -33,7 +31,6 @@ from .typ import (
CE_NAMEMASK,
CE_STAGESHIFT
)
-CE_NAMEMASK_INV = ~CE_NAMEMASK
from .util import (
pack,
@@ -47,6 +44,9 @@ from git.compat import (
force_text
)
+S_IFGITLINK = S_IFLNK | S_IFDIR # a submodule
+CE_NAMEMASK_INV = ~CE_NAMEMASK
+
__all__ = ('write_cache', 'read_cache', 'write_tree_from_cache', 'entry_key',
'stat_mode_to_index_mode', 'S_IFGITLINK', 'run_commit_hook', 'hook_path')
diff --git a/git/test/lib/helper.py b/git/test/lib/helper.py
index 8300f272..31bee78f 100644
--- a/git/test/lib/helper.py
+++ b/git/test/lib/helper.py
@@ -15,7 +15,9 @@ import io
from git import Repo, Remote, GitCommandError, Git
from git.compat import string_types
-GIT_REPO = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
+osp = os.path.dirname
+
+GIT_REPO = os.environ.get("GIT_PYTHON_TEST_GIT_REPO_BASE", osp(osp(osp(osp(__file__)))))
__all__ = (
'fixture_path', 'fixture', 'absolute_project_path', 'StringProcessAdapter',
@@ -26,7 +28,7 @@ __all__ = (
def fixture_path(name):
- test_dir = os.path.dirname(os.path.dirname(__file__))
+ test_dir = osp(osp(__file__))
return os.path.join(test_dir, "fixtures", name)
@@ -35,7 +37,7 @@ def fixture(name):
def absolute_project_path():
- return os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
+ return os.path.abspath(os.path.join(osp(__file__), "..", ".."))
#} END routines
@@ -195,7 +197,7 @@ def with_rw_and_rw_remote_repo(working_tree_ref):
d_remote.config_writer.set('url', remote_repo_url)
- temp_dir = os.path.dirname(_mktemp())
+ temp_dir = osp(_mktemp())
# On windows, this will fail ... we deal with failures anyway and default to telling the user to do it
try:
gd = Git().daemon(temp_dir, enable='receive-pack', as_process=True)
diff --git a/git/test/test_base.py b/git/test/test_base.py
index 91b9d005..94379ca3 100644
--- a/git/test/test_base.py
+++ b/git/test/test_base.py
@@ -5,6 +5,7 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
import os
+import sys
import tempfile
import git.objects.base as base
@@ -116,6 +117,14 @@ class TestBase(TestBase):
filename = u"שלום.txt"
file_path = os.path.join(rw_repo.working_dir, filename)
+
+ # verify first that we could encode file name in this environment
+ try:
+ file_path.encode(sys.getfilesystemencoding())
+ except UnicodeEncodeError:
+ from nose import SkipTest
+ raise SkipTest("Environment doesn't support unicode filenames")
+
open(file_path, "wb").write(b'something')
if os.name == 'nt':
diff --git a/tox.ini b/tox.ini
index bb1e9a85..da624b5e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -18,7 +18,9 @@ commands = {posargs}
[flake8]
#show-source = True
# E265 = comment blocks like @{ section, which it can't handle
+# E266 = too many leading '#' for block comment
+# E731 = do not assign a lambda expression, use a def
# W293 = Blank line contains whitespace
-ignore = E265,W293
+ignore = E265,W293,E266,E731
max-line-length = 120
exclude = .tox,.venv,build,dist,doc,git/ext/