git/vcs-svn
Jonathan Nieder fc4ae43b2c vcs-svn: read inline data from deltas
Each window of an svndiff0-format delta includes a section for novel
text to be copied to the postimage (in the order it appears in the
window, possibly interspersed with other data).

Slurp in this data when encountering it.  It is not actually necessary
to do so --- it would be just as easy to copy from delta to output
as part of interpreting the relevant instructions --- but this way,
the code that interprets svndiff0 instructions can proceed very
quickly because it does not require I/O.

Subversion's svndiff0 parser rejects deltas that do not consume all
the novel text that was provided.  Omit that check for now so we can
test the new functionality right away, rather than waiting to learn
instructions that consume data.

Do check for truncated data sections.  Subversion's parser rejects
deltas that end in the middle of a declared novel-text section, so it
should be safe for us to reject them, too.

Improved-by: Ramkumar Ramachandra <artagnon@gmail.com>
Improved-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Ramkumar Ramachandra <artagnon@gmail.com>
2011-03-27 22:51:00 -05:00
..
fast_export.c vcs-svn: add missing cast to printf argument 2011-03-27 12:21:12 -05:00
fast_export.h vcs-svn: handle log message with embedded NUL 2011-03-26 00:49:37 -05:00
LICENSE vcs-svn: learn to maintain a sliding view of a file 2011-03-27 20:23:32 -05:00
line_buffer.c vcs-svn: make buffer_read_binary API more convenient 2011-03-27 22:37:05 -05:00
line_buffer.h vcs-svn: make buffer_read_binary API more convenient 2011-03-27 22:37:05 -05:00
line_buffer.txt vcs-svn: remove buffer_read_string 2011-03-26 00:17:35 -05:00
obj_pool.h Add memory pool library 2010-08-14 19:35:37 -07:00
repo_tree.c vcs-svn: handle log message with embedded NUL 2011-03-26 00:49:37 -05:00
repo_tree.h vcs-svn: handle log message with embedded NUL 2011-03-26 00:49:37 -05:00
sliding_window.c vcs-svn: learn to maintain a sliding view of a file 2011-03-27 20:23:32 -05:00
sliding_window.h vcs-svn: learn to maintain a sliding view of a file 2011-03-27 20:23:32 -05:00
string_pool.c Add string-specific memory pool 2010-08-14 19:35:37 -07:00
string_pool.h Add string-specific memory pool 2010-08-14 19:35:37 -07:00
string_pool.txt Add string-specific memory pool 2010-08-14 19:35:37 -07:00
svndiff.c vcs-svn: read inline data from deltas 2011-03-27 22:51:00 -05:00
svndiff.h vcs-svn: skeleton of an svn delta parser 2011-03-27 22:41:38 -05:00
svndump.c vcs-svn: handle log message with embedded NUL 2011-03-26 00:49:37 -05:00
svndump.h vcs-svn: Check for errors from open() 2010-11-24 14:51:42 -08:00
trp.h treap: make treap_insert return inserted node 2010-12-07 16:03:55 -08:00
trp.txt treap: make treap_insert return inserted node 2010-12-07 16:03:55 -08:00