| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
+ chrore(deps): depend on *contextlib2* for `ExitStack` in PY2.
+ refact(util): BREAKING API move consts out of utils.
+ style(pep8): fixe all sources.
|
| | |
|
| |
|
|
|
| |
+ File-in-use errors were fixed with `gitdb.util.mman.collect()`!
+ This call is disabled `gitdb.util.HIDE_WINDOWS_KNOWN_ERRORS == False`.
+ Depend on latest smmp `v2.1.0.dev1` tag
|
| |
|
|
|
|
|
|
|
|
| |
+ Packers MUST be invoked inside `Withh...` blocks, or `_cursor` won't
exist!
+ Had to drop NotLazy for their hierarchy :-(
+ Count entrances/exits.
+ feat(util: add `rmtree()` for READ_ONLY files on Windows.
3-->2 Windows TCs now fail.
|
| |
|
|
|
| |
+ feat(util): add logger.
+ feat(util): add suppress-ex context-handler (from PY3 sources).
|
| |
|
|
| |
+ fix(loose-db): fix bad-attr in ex-message
|
| |\
| |
| | |
Handle more file open/close with "with"
|
| | | |
|
| |/ |
|
| |
|
|
|
|
| |
This should workaround possible permission issues.
Related to https://github.com/gitpython-developers/GitPython/issues/353
|
| | |
|
| |
|
|
|
|
| |
For some reason, it gets bytes where it did expect a stream ... .
Probably I should have figured out where this was input, instead
of fixing it the brutal way
|
| |
|
|
| |
autopep8 -v -j 8 --max-line-length 120 --in-place --recursive
|
| |
|
|
| |
It's a nice way of saying that there is still one failing, consistently.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
range in py2 will return a list, which can mean a lot of time and memory
is spent on generating it even though it's just used for iteration.
Simplified implementation of MAXSIZE
|
| |
|
|
|
|
|
|
| |
Bytes should always be returned from the streams, so the tests
should be checking against byte strings instead of text strings.
This also fixes the `sha_iter` as it relied on the Python 2
`iterkeys` which has been renamed to `keys` in Python 3.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were a few things which were being reused consistently for
compatibility purposes, such as the `buffer`/`memoryview` functions
as well as the `izip` method which needed to be aliased for
Python 3. The `buffer` function was taken from `smmap` [1] and
reworked slightly to handle the optional third parameter.
This also adds a compatibility file dedicated entirely to encoding
issues, which seem to be the biggest problem. The main functions
were taken in part from the Django project [2] and rewritten
slightly because our needs are a bit more narrow.
A constants file has been added to consistently handle the
constants which are required for the gitdb project in the core
and the tests. This is part of a greater plan to reorganize
the `util.py` file included in this project.
This points the async extension back at the original repository
and points it to the latest commit.
[1]: https://github.com/Byron/smmap/blob/1af4b42a2354acbb53c7956d647655922658fd80/smmap/util.py#L20-L26
[2]: https://github.com/django/django/blob/b8d255071ead897cf68120cd2fae7c91326ca2cc/django/utils/encoding.py
|
| | |
|
| |
|
|
|
|
|
| |
This changes the internals to use BytesIO over StringIO, which
fixed a few of the failing tests in Python 3. We are only
importing from `io` now, instead of the entire chain, as this is
available in Python 2.6+.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes most of the import errors that came from using the
implicit relative imports that Python 2 supports. This also fixes
the use of `xrange`, which has replaced `range` in Python 3. The
same has happened for `izip`, which is also being aliased.
The octal number syntax changed in Python 3, so we are now
converting from strings using the `int` built-in function, which
will produce the same output across both versions of Python.
|
| | |
|
| | |
|
| | |
|
| | |
|
|
|
Submodule relinked to point to new github location, and moved as well
|