summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Filled in first implementation of all missing methods. Its untested, and ↵Sebastian Thiel2010-10-101-22/+168
| | | | | | | | currently the lists are truncated physically, which would work, but it would be easier to just remember the changed bounds, and apply it later with these bounds in mind
| * initial frame for design change - now chunks can refer to DeltaLists as ↵Sebastian Thiel2010-10-082-23/+75
| | | | | | | | well, which is required to get the copying right. This surely makes things more coplex, but should still result in a performance improvement
| * Added new pack to test database to get some ascii deltas, which may possibly ↵Sebastian Thiel2010-10-085-49/+93
| | | | | | | | | | | | help visual debugging ( but probably not ) added plenty of debug code, to realize that the copy operations are not yet correct
| * Initial version of the merge algorithm - the current implementation will ↵Sebastian Thiel2010-10-082-32/+103
| | | | | | | | lead to quite some fragementation, but that can be improved on once it works
| * Implemented everything around the actual merge-algorithm, which appears to ↵Sebastian Thiel2010-10-072-36/+214
| | | | | | | | be the heart of the whole thing
| * Added frame for actual implementation of the aggregation - for now we just ↵Sebastian Thiel2010-10-074-5/+108
|/ | | | implement a forward-merge of the chunks, then the reverse version once there is some more knowledge on how this works
* Adjusted setup.py to deal more gracefully with build failures of our ↵0.5.1Sebastian Thiel2010-07-131-1/+13
| | | | optional extensions
* byteswapping in offsets method will only be done if required - previously it ↵Sebastian Thiel2010-07-132-4/+11
| | | | was always performed even though the byte order of the system didn't require it
* Bumped version to 0.5.1, added changelog to documentationSebastian Thiel2010-07-096-11/+59
|
* stream: adjusted code to allow compilation in python 2.4. It doesn't work ↵Sebastian Thiel2010-07-092-3/+3
| | | | though as the mmap implementation isn't advanced enough, but parent projects can at least import gitdb, and possibly use different implementations on demand
* Added fixes to setup.py to allow easy_installation0.5.0Sebastian Thiel2010-07-082-1/+56
|
* Fixed bug caused by incorrect comparison of 'filled-up' binary shas, as it ↵Sebastian Thiel2010-07-076-21/+49
| | | | would compare even the filling, instead of taking the canonical length into account and hence ignore the last 4 bytes if the original hex sha had an odd length
* Moved partial_to_complete_sha_hex from gitdb to compounddb, its fitting ↵Sebastian Thiel2010-07-073-60/+68
| | | | there better
* Added method to obtain a full sha from a partial sha, for each of the ↵Sebastian Thiel2010-07-079-7/+211
| | | | databases. The IndexFile has a new method to retrieve an index from a partial sha, instead of from a full sha, to provide the required functionality
* PackEntity: fixed capital bug which would cause a None to be in place of the ↵Sebastian Thiel2010-07-063-3/+9
| | | | bin sha when querying infos or streams through an entity
* Win32 compatability adjustments. One performance test fails during shutdown ↵Sebastian Thiel2010-07-025-5/+33
| | | | as python fails to delete a stream in time it seems, so the file cannot be deleted as it is still opened by someone. This is madness, raising the question how badly python truly fails to call the destructors of objects in order to allow them to release their resources
* Removed obsolete makefile, to compile the extension, use ./setup build_ext ↵Sebastian Thiel2010-07-011-12/+0
| | | | and copy _fun.so from the build directory into the root directory
* added setup.py and Manifest to allow distribution and easy_installSebastian Thiel2010-07-016-1/+49
|
* Merge branch 'docs'Sebastian Thiel2010-06-3014-42/+707
|\
| * Added a minimal documentation, including a quick usage guideSebastian Thiel2010-06-305-10/+197
| |
| * Added auto-doc api reference and fixed plenty of docstringsSebastian Thiel2010-06-3012-43/+218
| |
| * Added empty version of gitdb documentationSebastian Thiel2010-06-303-0/+303
|/
* Fixed critical bug that could cause single bytes not to be returned in reads ↵Sebastian Thiel2010-06-294-7/+15
| | | | that should read all
* Merge branch 'sha20'Sebastian Thiel2010-06-2513-93/+85
|\
| * gitdb now uses 20 byte shas internally only, reducing the need to convert ↵Sebastian Thiel2010-06-2513-93/+85
|/ | | | shas around all the time, saving previous function calls, and memory after all
* CompoundDB: implemented simple dict base first-level cache which really ↵Sebastian Thiel2010-06-258-8/+64
| | | | | | | helps to improve performance in real-world applications, which need to quickly determine whether objects are in or out for instance, as it happens during index_to_tree conversion Added separate pack streaming test which shows only a throughput of 250 streams / s in a densely packed pack, and about 3.5 MiB of data throughput. Performance tests show that half the time is spent in collecting the numerous deltas, the other one in decompressing and applying them Fixed broken performance tests
* Fixed critical issues with incorrect permissions set on files the db has ↵Sebastian Thiel2010-06-242-0/+9
| | | | written - it was only rw-- for the user that wrote them, but should be readable by everyone by default
* Index and PackFiles do not obtain a lock anymore before reading the files in ↵Sebastian Thiel2010-06-243-13/+27
| | | | question - this won't work on read-only alternate repositories anyway, and shouldn't be necessary considering a pack is immutable
* Removed redunant code due to parital reimplementation of a file descriptor ↵Sebastian Thiel2010-06-245-49/+58
| | | | stream wrapper
* MemoryDB: Implemented direct stream copy, allowing to flush memory db ↵Sebastian Thiel2010-06-225-25/+107
| | | | content into any other object db for permanent storage
* Added MemoryDB including initial test, moved ZippedShaWriter into stream ↵Sebastian Thiel2010-06-228-25/+169
| | | | module, it was just a test helper previously
* Implemented gitdb, it should be a fully functional git database with full ↵Sebastian Thiel2010-06-207-25/+131
| | | | read support, and the ability to write loose objects
* Base implementation and stubs added for git-like db, as well as the ↵Sebastian Thiel2010-06-1812-62/+258
| | | | reference db ( for the alternates implementation )
* Merge branch 'pack'Sebastian Thiel2010-06-1827-328/+2239
|\
| * Added endurance run to check all objects in the git source repository, ↵Sebastian Thiel2010-06-182-4/+28
| | | | | | | | something like a primtive git-fsck, which indeed takes a while to run. Its useful to see the memory consumption, which must stay static in the domain of physical memory
| * Added initial test for putting some often-called functions into an extension ↵Sebastian Thiel2010-06-184-0/+124
| | | | | | | | module, for now its only being built by a cheap hardcoded makefile. It shows that the performance gain is rather small, bottlenecks are attr accesses, so in fact the whole type wants to be put into C to get real performance. Its not really worth it for 25% I believe
| * Removed data-offset field from PackInfo as it is not needed in most cases. ↵Sebastian Thiel2010-06-185-35/+29
| | | | | | | | Instead, pack_at_offset returns the data-offset, slightly improving performance, and reducing memory demands
| * removed some extra checks in apply-delta which are indeed not requiredSebastian Thiel2010-06-182-10/+3
| |
| * delta-apply now works after fixing a stupid type, instead of i + 1 I wrote i ↵Sebastian Thiel2010-06-183-19/+28
| | | | | | | | + i ... argh \!
| * PackedDB: added sha_iter and size methods, these should move to the ↵Sebastian Thiel2010-06-174-15/+84
| | | | | | | | | | | | ObjectDBR actually Added performance test, packed stream reading still runs into errors, which is interesting as it dealt with the sample packs very well before
| * Implemented basic info and stream retrieval as well as pack file handling of ↵Sebastian Thiel2010-06-174-19/+193
| | | | | | | | PackedDB - its now operational. Next up is a performance test
| * Sha1 verification works as well, forgot to fill in the base buffer for ↵Sebastian Thiel2010-06-174-5/+14
| | | | | | | | delta-application, and fixed the broken DeltaApplyReader's seek method
| * CRC verification already works for all packs, sha1 still needs some work, ↵Sebastian Thiel2010-06-172-22/+67
| | | | | | | | probably with deltified objects, there it shows whether we did it aaaaaall correctly ;)
| * Initial implementation of stream validation - this is the final hurdle, if ↵Sebastian Thiel2010-06-175-40/+146
| | | | | | | | that works ( which it doesn't for yet for everything ), than the pack reading would officially work
| * Implemented main PackEntity object retrieval method and moved constructor ↵Sebastian Thiel2010-06-174-40/+165
| | | | | | | | | | | | for delta_streams out of the PackFile, into the stream itself where it belongs. All this is still to be tested
| * initial version of delta-apply, but more pedandic testing is requiredSebastian Thiel2010-06-174-20/+188
| |
| * initial research on possible delta-apply algorithms. True streaming appears ↵Sebastian Thiel2010-06-173-3/+86
| | | | | | | | only possible if delta opcodes are acessing only sequential memory, but through mmaps, it should still be possible to obtain decent performance even on big files
| * Implemented offset based pack object collection including test, next up is ↵Sebastian Thiel2010-06-165-75/+191
| | | | | | | | the actual stream delta handling
| * implemented direct pack reading - currently not all information is passed ↵Sebastian Thiel2010-06-164-26/+92
| | | | | | | | on, the absolute offset into the packfile could be interesting to the caller
| * DecompressMemMapReader: improved compressed_bytes_read method with alternate ↵Sebastian Thiel2010-06-161-7/+15
| | | | | | | | route which is a bit less efficient, but works without a custom zlib