summaryrefslogtreecommitdiff
path: root/lib/git/odb
Commit message (Collapse)AuthorAgeFilesLines
* Removed odb from project, it is now used as a submodule named gitdb, which ↵Sebastian Thiel2010-06-125-945/+0
| | | | | | was added instead Adjusted all imports to deal with the changed package names
* Moved multiprocessing modules into own package, as they in fact have nothing ↵Sebastian Thiel2010-06-053-415/+0
| | | | to do with the object db. If that really works the way I want, it will become an own project, called async
* Initial pool design added, allowing for lazy channel based evaluation of ↵Sebastian Thiel2010-06-052-0/+105
| | | | inter-dependent tasks
* A code donation: Donating a worker thread implementation inclduding tests to ↵Sebastian Thiel2010-06-052-0/+204
| | | | Git-Python. I have the feeling it can do much good here :)
* Added basic channel implementation including testSebastian Thiel2010-06-052-6/+111
| | | | restructured odb tests, they are now in an own module to keep the modules small
* Removed compression flag from IStream and OStream types, as a valid object ↵Sebastian Thiel2010-06-052-27/+17
| | | | | | will always be compressed if generated by the system ( even future memory db's will compress it ) loose db: implemented direct stream copy, indicated by a sha set in the IStream, including test. This will be the case once Packs are exploded for instance
* Implemented stream tests, found a bug on the way, slowly a test-framework ↵Sebastian Thiel2010-06-042-31/+52
| | | | for streams starts to show up, but its not yet there
* Fixed implementation after design change to deal with it - all tests run, ↵Sebastian Thiel2010-06-045-141/+195
| | | | but next there will have to be more through testing
* initial version of new odb design to facilitate a channel based ↵Sebastian Thiel2010-06-043-257/+460
| | | | multi-threading implementation of all odb functions
* db: implemented GitObjectDB using the git command to make sure we can lookup ↵Sebastian Thiel2010-06-041-2/+20
| | | | everything. Next is to implement pack-file reading, then alternates which should allow to resolve everything
* Fixed compatability issues with python 2.5, made sure all tests runSebastian Thiel2010-06-031-2/+2
|
* commit.create_from_tree now uses pure python implementation, fixed message ↵Sebastian Thiel2010-06-031-14/+18
| | | | | | parsing which truncated newlines although it was ilegitimate. Its up to the reader to truncate therse, nowhere in the git code I could find anyone adding newlines to commits where it is written Added performance tests for serialization, it does about 5k commits per second if writing to tmpfs
* Added performance comparison to cgit ... and yes, git-python is faster :)Sebastian Thiel2010-06-031-4/+27
|
* odb: fixed streamed decompression reader ( specific tests would still be ↵Sebastian Thiel2010-06-032-10/+16
| | | | missing ) and added performance tests which are extremely promising
* odb: implemented loose object streaming, which is impossible to do ↵Sebastian Thiel2010-06-033-53/+322
| | | | efficiently considering that it copies string buffers all the time
* added frame for object reading, including simple testSebastian Thiel2010-06-022-14/+63
|
* initial version of loose object writing and simple cached object lookup ↵Sebastian Thiel2010-06-022-24/+202
| | | | appears to be working
* Added first design and frame for object database. In a first step, loose ↵Sebastian Thiel2010-06-022-0/+131
objects will be written using our utilities, and certain object retrieval functionality moves into the GitObjectDatabase which is used by the repo instance Added performance test for object database access, which shows quite respectable tree parsing performance, and okay blob access. Nonetheless, it will be hard to beat the c performance using a pure python implementation, but it can be a nice practice to write it anyway to allow more direct pack manipulations. Some could benefit from the ability to write packs as these can serve as local cache if alternates are used