| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Our user was experiencing issue [1] when using a git repository on NTFS mount
running on Linux. The current check checks if we are running on Windows, but
it should really check if we are on NTFS. And since checking fs type is not
that trivial and not efficient, it is simpler and better to just always apply
NTFS-specific logic, since it works on other filesystems as well.
[1] https://github.com/iterative/dvc/issues/1880#issuecomment-483253764
|
| | |
|
| | |
|
| | |
|
| |\
| |
| | |
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
|