| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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+.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
iterator is provided which does the job. Previously it would easily use 750 MB of ram to keep all the associated objects, more than 350k. Still a lot of memory for just 350k objects, but its python after all
|
| |
|
| |
|
|
|
|
|
|
| |
I think it never successfully imported, but its hard to believe this slipped by.
Added performance test for pack-writing, which isn't really showing what I want as it currently read data from a densly compressed pack which takes most of the time in the nearly pure python implementation. Compared to c++, all the measured performance is just below anything I'd want to use. But we shouldn't forget this is just a test implementation, writing packs is quite simple actually, if you leave out the delta compression part and the delta logic
|
| |
|
|
|
|
| |
wrong with my packs. Probably something stupid ;)
|
|
|
|
| |
more testing and verification
|
|
|
|
| |
streaming over a transport as well
|
| |
|
| |
|
|
Submodule relinked to point to new github location, and moved as well
|