| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
v2 is chosen to better match the name.
|
| | |
|
| |\
| |
| | |
Handle more file open/close with "with"
|
| | | |
|
| |/ |
|
| |
|
|
|
|
| |
This should workaround possible permission issues.
Related to https://github.com/gitpython-developers/GitPython/issues/353
|
| | |
|
| |
|
|
| |
Remove duplicate `const` to stop the warning: "duplicate 'const' declaration specifier"
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As taken from https://github.com/gitpython-developers/gitdb/blob/master/gitdb/stream.py#L292
->
NOTE: Behavior changed in PY2.7 onward, which requires special handling to make the tests work properly.
They are thorough, and I assume it is truly working.
Why is this logic as convoluted as it is ? Please look at the table in
https://github.com/gitpython-developers/gitdb/issues/19 to learn about the test-results.
Bascially, on py2.6, you want to use branch 1, whereas on all other python version, the second branch
will be the one that works.
However, the zlib VERSIONs as well as the platform check is used to further match the entries in the
table in the github issue. This is it ... it was the only way I could make this work everywhere.
IT's CERTAINLY GOING TO BITE US IN THE FUTURE ... .
<-
Fixes #19
|
| | |
|
| |
|
|
|
|
|
| |
Therefore, hardcoded sha's are not allowed anymore, as the contents of
the repository is unknown.
Fixes #16, for real this time ;)
|
| | |
|
| |
|
|
|
|
|
| |
I have verified that all tests are working, even without a parent
git repository, as long as the said environment variable is set.
Fixes #16
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
| |
Configured travis to artificially restrict handle count to protect
from regression in that regard
|
| | |
|
| |
|
|
| |
Now we deal with memory views as well ...
|
| |
|
|
| |
And bumped version to 0.6.2
|
| |
|
|
| |
It doesn't do anything (in terms of fixing an issue), but it should be more correct than what was there previously
|
| |
|
|
| |
autopep8 -v -j 8 --max-line-length 120 --in-place --recursive
|
| |
|
|
|
|
|
|
| |
just packs
This should make it easier to assert the issue is truly fixed now
[skip ci]
|
| |
|
|
| |
Fixed tiny issue in python 3
|
| |
|
|
|
|
| |
the issue described in https://github.com/gitpython-developers/GitPython/issues/220
See test notes for proper usage, it all depends on a useful dataset with high entropy
|
| | |
|
| |
|
|
|
|
|
|
|
| |
information
This appears to fix https://github.com/gitpython-developers/GitPython/issues/220 , in this particular case.
Nonetheless, we might just have gotten lucky here, and the actual issue is not yet solved and can thus re-occour.
It would certainly be best to churn through plenty of loose objects to assure this truly works now. Maybe the pack could be recompressed as loose objects
to get a sufficiently large data set
|
| | |
|
| |
|
|
| |
This also explains why the tests suddenly stopped working - after all, the interpreter changed ... .
|
| |
|
|
| |
Maybe I can find a py 2.6 interpreter somewhere to reproduce it.
|
| |
|
|
| |
With a bit of luck, this one will just work now.
|
| |
|
|
| |
stream.
|
| |
|
|
|
|
|
| |
By default, a small repository will be tested, which doesn't take that long actually (~20s)
Additionally, that way we enforce correctness tests, which didn't run by default previously.
As we are handling data here, we must be sure that it's handled correctly, thus the tests should
run.
|
| | |
|
| |
|
|
|
|
| |
It was useful for debugging though, maybe an explicit type assertions would
help others ?
As 'others' will be gitpython, I suppose I can handle it myself
|
| |
|
|
| |
It's a nice way of saying that there is still one failing, consistently.
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
gitdb/base.py
gitdb/fun.py
gitdb/pack.py
gitdb/stream.py
gitdb/test/lib.py
gitdb/util.py
|
| | |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| | |
This makes it easier to deal with things internally as now
everything is passed as bytes.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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 adds a `byte_ord` version of `ord` which will let `bytes`
safely pass through in Python 3.
`cmp` was also swapped out as it has been dropped in Python 3.
|
| | |
| |
| |
| |
| |
| |
| | |
This uses memoryview by default, which is supported in Python 3
and Python 2.7, but not Python 2.6, and falls back to the old
`buffer` type in Python 2.6 and when the memoryview does not
support the type, such as when mmap instaces are passed in.
|
| | |
| |
| |
| |
| |
| | |
In Python 3, the default string type is now the Python 2 unicode
strings. The unicode strings cannot be converted to a byte stream,
so we have to convert it before writing to the streams.
|