Content-Length: 14121 | pFad | http://github.com/gitpython-developers/GitPython/pull/706.patch
thub.com
From d92af06f229376fa2d85a104e641d1326d975e58 Mon Sep 17 00:00:00 2001
From: Hugo
Date: Mon, 4 Dec 2017 17:20:07 +0200
Subject: [PATCH 1/3] Fix flake8
---
.gitignore | 1 +
git/compat.py | 2 +-
git/diff.py | 10 +++----
git/exc.py | 2 +-
git/refs/log.py | 2 +-
git/remote.py | 8 +++---
git/repo/base.py | 2 +-
git/test/lib/helper.py | 4 +--
git/test/test_commit.py | 4 +--
git/test/test_submodule.py | 2 +-
git/test/test_util.py | 54 +++++++++++++++++++-------------------
git/util.py | 6 ++---
12 files changed, 50 insertions(+), 47 deletions(-)
diff --git a/.gitignore b/.gitignore
index d35cddebd..1773f8747 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@ nbproject
.DS_Store
/*egg-info
/.tox
+.idea
diff --git a/git/compat.py b/git/compat.py
index b80458576..b63768f3d 100644
--- a/git/compat.py
+++ b/git/compat.py
@@ -309,5 +309,5 @@ def register_surrogateescape():
try:
b"100644 \x9f\0aaa".decode(defenc, "surrogateescape")
-except:
+except Exception:
register_surrogateescape()
diff --git a/git/diff.py b/git/diff.py
index 16c782f3a..103281a13 100644
--- a/git/diff.py
+++ b/git/diff.py
@@ -313,16 +313,16 @@ def __str__(self):
h %= self.b_blob.path
msg = ''
- l = None # temp line
+ temp_line = None
ll = 0 # line length
for b, n in zip((self.a_blob, self.b_blob), ('lhs', 'rhs')):
if b:
- l = "\n%s: %o | %s" % (n, b.mode, b.hexsha)
+ temp_line = "\n%s: %o | %s" % (n, b.mode, b.hexsha)
else:
- l = "\n%s: None" % n
+ temp_line = "\n%s: None" % n
# END if blob is not None
- ll = max(len(l), ll)
- msg += l
+ ll = max(len(temp_line), ll)
+ msg += temp_line
# END for each blob
# add headline
diff --git a/git/exc.py b/git/exc.py
index a737110c8..0dc4ad563 100644
--- a/git/exc.py
+++ b/git/exc.py
@@ -48,7 +48,7 @@ def __init__(self, command, status=None, stderr=None, stdout=None):
else:
try:
status = u'exit code(%s)' % int(status)
- except:
+ except Exception:
s = safe_decode(str(status))
status = u"'%s'" % s if isinstance(status, string_types) else s
diff --git a/git/refs/log.py b/git/refs/log.py
index 623a63db1..1c085ef18 100644
--- a/git/refs/log.py
+++ b/git/refs/log.py
@@ -246,7 +246,7 @@ def to_file(self, filepath):
try:
self._serialize(fp)
lfd.commit()
- except:
+ except Exception:
# on failure it rolls back automatically, but we make it clear
lfd.rollback()
raise
diff --git a/git/remote.py b/git/remote.py
index 35460f5a8..5d876eb32 100644
--- a/git/remote.py
+++ b/git/remote.py
@@ -542,9 +542,11 @@ def urls(self):
if ' Push URL:' in line:
yield line.split(': ')[-1]
except GitCommandError as ex:
- if any([msg in str(ex) for msg in ['correct access rights','cannot run ssh']]):
- # If ssh is not setup to access this repository, see issue 694
- result = Git().execute(['git','config','--get','remote.%s.url' % self.name])
+ if any([msg in str(ex) for msg in ['correct access rights',
+ 'cannot run ssh']]):
+ # If ssh is not setup to access this repository, see issue 694
+ result = Git().execute(['git', 'config', '--get',
+ 'remote.%s.url' % self.name])
yield result
else:
raise ex
diff --git a/git/repo/base.py b/git/repo/base.py
index 990def64c..2fbae0122 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -203,7 +203,7 @@ def __exit__(self, exc_type, exc_value, traceback):
def __del__(self):
try:
self.close()
- except:
+ except Exception:
pass
def close(self):
diff --git a/git/test/lib/helper.py b/git/test/lib/helper.py
index 729c76a4f..27e053d81 100644
--- a/git/test/lib/helper.py
+++ b/git/test/lib/helper.py
@@ -139,7 +139,7 @@ def repo_creator(self):
try:
try:
return func(self, rw_repo)
- except:
+ except Exception:
log.info("Keeping repo after failure: %s", repo_dir)
repo_dir = None
raise
@@ -296,7 +296,7 @@ def remote_repo_creator(self):
with cwd(rw_repo.working_dir):
try:
return func(self, rw_repo, rw_daemon_repo)
- except:
+ except Exception:
log.info("Keeping repos after failure: \n rw_repo_dir: %s \n rw_daemon_repo_dir: %s",
rw_repo_dir, rw_daemon_repo_dir)
rw_repo_dir = rw_daemon_repo_dir = None
diff --git a/git/test/test_commit.py b/git/test/test_commit.py
index fbb1c244e..e6bda6eb5 100644
--- a/git/test/test_commit.py
+++ b/git/test/test_commit.py
@@ -169,8 +169,8 @@ def test_traversal(self):
# at some point, both iterations should stop
self.assertEqual(list(bfirst)[-1], first)
stoptraverse = self.rorepo.commit("254d04aa3180eb8b8daf7b7ff25f010cd69b4e7d").traverse(as_edge=True)
- l = list(stoptraverse)
- self.assertEqual(len(l[0]), 2)
+ traverse_list = list(stoptraverse)
+ self.assertEqual(len(traverse_list[0]), 2)
# ignore self
self.assertEqual(next(start.traverse(ignore_self=False)), start)
diff --git a/git/test/test_submodule.py b/git/test/test_submodule.py
index f970dd2c0..5c8a2798a 100644
--- a/git/test/test_submodule.py
+++ b/git/test/test_submodule.py
@@ -920,4 +920,4 @@ class Repo(object):
submodule_path = 'D:\\submodule_path'
relative_path = Submodule._to_relative_path(super_repo, submodule_path)
msg = '_to_relative_path should be "submodule_path" but was "%s"' % relative_path
- assert relative_path == 'submodule_path', msg
\ No newline at end of file
+ assert relative_path == 'submodule_path', msg
diff --git a/git/test/test_util.py b/git/test/test_util.py
index 525c86092..2126c5413 100644
--- a/git/test/test_util.py
+++ b/git/test/test_util.py
@@ -217,49 +217,49 @@ def test_actor(self):
@ddt.data(('name', ''), ('name', 'prefix_'))
def test_iterable_list(self, case):
name, prefix = case
- l = IterableList(name, prefix)
+ iter_list = IterableList(name, prefix)
name1 = "one"
name2 = "two"
m1 = TestIterableMember(prefix + name1)
m2 = TestIterableMember(prefix + name2)
- l.extend((m1, m2))
+ iter_list.extend((m1, m2))
- self.assertEqual(len(l), 2)
+ self.assertEqual(len(iter_list), 2)
# contains works with name and identity
- self.assertIn(name1, l)
- self.assertIn(name2, l)
- self.assertIn(m2, l)
- self.assertIn(m2, l)
- self.assertNotIn('invalid', l)
+ self.assertIn(name1, iter_list)
+ self.assertIn(name2, iter_list)
+ self.assertIn(m2, iter_list)
+ self.assertIn(m2, iter_list)
+ self.assertNotIn('invalid', iter_list)
# with string index
- self.assertIs(l[name1], m1)
- self.assertIs(l[name2], m2)
+ self.assertIs(iter_list[name1], m1)
+ self.assertIs(iter_list[name2], m2)
# with int index
- self.assertIs(l[0], m1)
- self.assertIs(l[1], m2)
+ self.assertIs(iter_list[0], m1)
+ self.assertIs(iter_list[1], m2)
# with getattr
- self.assertIs(l.one, m1)
- self.assertIs(l.two, m2)
+ self.assertIs(iter_list.one, m1)
+ self.assertIs(iter_list.two, m2)
# test exceptions
- self.failUnlessRaises(AttributeError, getattr, l, 'something')
- self.failUnlessRaises(IndexError, l.__getitem__, 'something')
+ self.failUnlessRaises(AttributeError, getattr, iter_list, 'something')
+ self.failUnlessRaises(IndexError, iter_list.__getitem__, 'something')
# delete by name and index
- self.failUnlessRaises(IndexError, l.__delitem__, 'something')
- del(l[name2])
- self.assertEqual(len(l), 1)
- self.assertNotIn(name2, l)
- self.assertIn(name1, l)
- del(l[0])
- self.assertNotIn(name1, l)
- self.assertEqual(len(l), 0)
-
- self.failUnlessRaises(IndexError, l.__delitem__, 0)
- self.failUnlessRaises(IndexError, l.__delitem__, 'something')
+ self.failUnlessRaises(IndexError, iter_list.__delitem__, 'something')
+ del(iter_list[name2])
+ self.assertEqual(len(iter_list), 1)
+ self.assertNotIn(name2, iter_list)
+ self.assertIn(name1, iter_list)
+ del(iter_list[0])
+ self.assertNotIn(name1, iter_list)
+ self.assertEqual(len(iter_list), 0)
+
+ self.failUnlessRaises(IndexError, iter_list.__delitem__, 0)
+ self.failUnlessRaises(IndexError, iter_list.__delitem__, 'something')
diff --git a/git/util.py b/git/util.py
index 5baeee918..96a1f163f 100644
--- a/git/util.py
+++ b/git/util.py
@@ -190,7 +190,7 @@ def assure_directory_exists(path, is_file=False):
def _get_exe_extensions():
try:
winprog_exts = tuple(p.upper() for p in os.environ['PATHEXT'].split(os.pathsep))
- except:
+ except Exception:
winprog_exts = ('.BAT', 'COM', '.EXE')
return winprog_exts
@@ -200,7 +200,7 @@ def py_where(program, path=None):
# From: http://stackoverflow.com/a/377028/548792
try:
winprog_exts = tuple(p.upper() for p in os.environ['PATHEXT'].split(os.pathsep))
- except:
+ except Exception:
winprog_exts = is_win and ('.BAT', 'COM', '.EXE') or ()
def is_exec(fpath):
@@ -347,7 +347,7 @@ def expand_path(p, expand_vars=True):
if expand_vars:
p = osp.expandvars(p)
return osp.normpath(osp.abspath(p))
- except:
+ except Exception:
return None
#} END utilities
From 0b8ada695a925c3111735b653f93d71295e1452a Mon Sep 17 00:00:00 2001
From: Hugo
Date: Mon, 4 Dec 2017 16:54:23 +0200
Subject: [PATCH 2/3] Specify Python 3.6 support
---
README.md | 4 ++--
setup.py | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 456763754..68c7a3c3e 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ If it is not in your `PATH`, you can help GitPython find it by setting
the `GIT_PYTHON_GIT_EXECUTABLE=` environment variable.
* Git (1.7.x or newer)
-* Python 2.7 to 3.5, while python 2.6 is supported on a *best-effort basis*.
+* Python 2.7 to 3.6, while python 2.6 is supported on a *best-effort basis*.
The list of dependencies are listed in `./requirements.txt` and `./test-requirements.txt`.
The installer takes care of installing them for you.
@@ -125,7 +125,7 @@ Please have a look at the [contributions file][contributing].
### How to verify a release
-Please only use releases from `pypi` as you can verify the respective source
+Please only use releases from `pypi` as you can verify the respective source
tarballs.
This script shows how to verify the tarball was indeed created by the authors of
diff --git a/setup.py b/setup.py
index 585a9e29c..47523e033 100755
--- a/setup.py
+++ b/setup.py
@@ -101,6 +101,7 @@ def _stamp_version(filename):
package_data={'git.test': ['fixtures/*']},
package_dir={'git': 'git'},
license="BSD License",
+ python_requires='>=2.6, !=3.0.*, !=3.1.*, !=3.2.*',
requires=['gitdb2 (>=2.0.0)'],
install_requires=install_requires,
test_requirements=test_requires + install_requires,
From ceacc6fcd827dc19748cdd4909cb98c297c3d190 Mon Sep 17 00:00:00 2001
From: Hugo
Date: Tue, 5 Dec 2017 10:40:00 +0200
Subject: [PATCH 3/3] Remove redundant Python 2.4 code
---
git/repo/base.py | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/git/repo/base.py b/git/repo/base.py
index 2fbae0122..a477bf38a 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -8,7 +8,6 @@
import logging
import os
import re
-import sys
import warnings
from git.cmd import (
@@ -40,11 +39,6 @@
log = logging.getLogger(__name__)
-DefaultDBType = GitCmdObjectDB
-if sys.version_info[:2] < (2, 5): # python 2.4 compatibility
- DefaultDBType = GitCmdObjectDB
-# END handle python 2.4
-
BlameEntry = namedtuple('BlameEntry', ['commit', 'linenos', 'orig_path', 'orig_linenos'])
@@ -88,7 +82,7 @@ class Repo(object):
# Subclasses may easily bring in their own custom types by placing a constructor or type here
GitCommandWrapperType = Git
- def __init__(self, path=None, odbt=DefaultDBType, search_parent_directories=False, expand_vars=True):
+ def __init__(self, path=None, odbt=GitCmdObjectDB, search_parent_directories=False, expand_vars=True):
"""Create a new Repo instance
:param path:
@@ -869,7 +863,7 @@ def blame(self, rev, file, incremental=False, **kwargs):
return blames
@classmethod
- def init(cls, path=None, mkdir=True, odbt=DefaultDBType, expand_vars=True, **kwargs):
+ def init(cls, path=None, mkdir=True, odbt=GitCmdObjectDB, expand_vars=True, **kwargs):
"""Initialize a git repository at the given path if specified
:param path:
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/gitpython-developers/GitPython/pull/706.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy