Hi,
I finally rolled up my sleeves and wrote that svndiff0 parser
yesterday. I've tested it with a few source-target combinations, and
it seems to work fine. It's based on `master`, now that `jn/svn-fe`
has graduated. It's not intended for inclusion yet- it's more of a
"here's what I've been upto, and I'd like some feedback".
TODO:
1. malloc, realloc and free calls: I should factor these out to use
the obj_pool library in vcs-svn/
2. line_buffer. Only operations on stdin are currently
buffered. Should we extend the line_buffer library to be more generic?
3. Performance: The applier I've written is VERY naively. I can't help
but think that there must be a better way to do it. I still don't have
a solution though- the main problem is copyfrom_target.
4. Using the context dumpfilev3. The svndiff0 itself has no end
markers and it's difficult to say when it's going to end. Instead of
unconditionally waiting for more data (which is a problem when the
connection breaks), limit the number of bytes to parse using the
Content-Length header in the dumpfile v3.
Thanks.
p.s- I'll be MIA for a few weeks; exams are coming up in a week.
Ramkumar Ramachandra (1):
vcs-svn: Add an svndiff0 parser
vcs-svn/Makefile | 2 +
vcs-svn/line_buffer.c | 7 +-
vcs-svn/line_buffer.h | 2 +-
vcs-svn/svndiff.c | 240 +++++++++++++++++++++++++++++++++++++++++++++++++
vcs-svn/svndiff.h | 41 +++++++++
5 files changed, 288 insertions(+), 4 deletions(-)
create mode 100644 vcs-svn/Makefile
create mode 100644 vcs-svn/svndiff.c
create mode 100644 vcs-svn/svndiff.h