Code

vcs-svn: skeleton of an svn delta parser
authorJonathan Nieder <jrnieder@gmail.com>
Sat, 25 Dec 2010 11:11:32 +0000 (05:11 -0600)
committerJonathan Nieder <jrnieder@gmail.com>
Mon, 28 Mar 2011 03:41:38 +0000 (22:41 -0500)
commitddcc8c5b469d2564dbacd629a873e7703f2dbd83
treebe76203eaed1f7e29a0c148dbaaae9b4b1156504
parent896e4bfcec4f6b489aba2197f60a59bc7f45a8ac
vcs-svn: skeleton of an svn delta parser

A delta in the subversion delta (svndiff0) format consists of the
magic bytes SVN\0 followed by a sequence of windows of a certain well
specified format (starting with five integers).

Add an svndiff0_apply function and test-svn-fe -d commandline tool to
parse such a delta in the special case of not including any windows.

Later patches will add features to turn this into a fully functional
delta applier for svn-fe to use to parse the streams produced by
"svnrdump dump" and "svnadmin dump --deltas".

The content of symlinks starts with the word "link " in Subversion's
worldview, so we need to be able to prepend that text to input for the
sake of delta application.  So initialization of the input state of
the delta preimage is left to the calling program, giving callers a
chance to seed the buffer with text of their choice.

Improved-by: Ramkumar Ramachandra <artagnon@gmail.com>
Improved-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Makefile
t/t9011-svn-da.sh [new file with mode: 0755]
test-svn-fe.c
vcs-svn/svndiff.c [new file with mode: 0644]
vcs-svn/svndiff.h [new file with mode: 0644]