cstroe / svndumpapi

A Java library for manipulating a Subversion dump file.
GNU Affero General Public License v3.0
5 stars 1 forks source link

Fix #5: Support for very large revisions and very large files. #9

Closed cstroe closed 9 years ago

cstroe commented 9 years ago

File content for files committed to an SVN repository is now processed in chunks. This allows processing of any size files that may have been committed to an SVN repository.

To achieve this, the SvnDumpConsumer mechanism was made more granular, all the way to the file content level (consume(SvnNode), consume(FileContentChunk)). More consumption and ending methods were added to SvnDumpConsumer in order to support this.

The ending methods (endRevision, endNode, endChunks) were added because it allows the implementation code of SvnDumpConsumers to be much cleaner without much complexity added. It also gives a lot of flexibility over the parsing process.

Added an SvnFileDumpParserDoppelganger in order to support parsing SvnDump objects in memory. Possibly should be removed in the future and the functionality merged into SvnDumpFileParser.