view release on metacpan or search on metacpan
(svn_delta_stackframe_t): Added `ancestor_path' and `ancestor_version'
fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set them
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
----------------------------
revision 1.12
date: 2000/08/21 22:15:58; author: sussman; state: Exp; lines: +59 -31
Property-delta stuff at least compiles correctly now. :)
----------------------------
revision 1.11
date: 2000/08/19 01:17:45; author: kfogel; state: Exp; lines: +1 -1
(svn_delta_digger_t): call it `pdelta_chunk_parser' instead of
`chunk_parser', just to keep things straight.
(svn_delta_stackframe_t): Added `ancestor_path' and `ancestor_version'
fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set them
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
----------------------------
revision 1.53
date: 2000/08/21 22:43:13; author: sussman; state: Exp; lines: +16 -4
save state
----------------------------
revision 1.52
date: 2000/08/21 22:15:59; author: sussman; state: Exp; lines: +212 -41
Property-delta stuff at least compiles correctly now. :)
----------------------------
revision 1.51
revision 1.38
date: 2000/08/14 19:04:16; author: sussman; state: Exp; lines: +4 -4
Moved private stuff from public header to private header.
----------------------------
revision 1.37
date: 2000/08/14 17:58:53; author: sussman; state: Exp; lines: +145 -12
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
----------------------------
revision 1.36
date: 2000/08/11 20:57:03; author: sussman; state: Exp; lines: +146 -130
Entire interface rewritten, in process of flushing out specific events now.
----------------------------
revision 1.35
date: 2000/08/11 17:50:19; author: sussman; state: Exp; lines: +60 -198
Tweak validity check.
----------------------------
revision 1.34
Still rewriting parser.
----------------------------
revision 1.31
date: 2000/08/10 21:10:22; author: sussman; state: Exp; lines: +9 -1
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly, whereby
our main parser loop then notices the existence of #1 and returns.
----------------------------
revision 1.30
date: 2000/08/10 21:03:47; author: sussman; state: Exp; lines: +107 -17
In process of rewriting parser machinery.
----------------------------
revision 1.29
date: 2000/08/09 04:34:44; author: sussman; state: Exp; lines: +35 -12
revision 1.26
date: 2000/08/08 21:57:31; author: kfogel; state: Exp; lines: +6 -6
Fix allocation size buglets.
----------------------------
revision 1.25
date: 2000/08/08 19:29:29; author: kfogel; state: Exp; lines: +1 -1
Recurse, or, as Noah Friedman likes to say, "recur".
----------------------------
revision 1.24
date: 2000/08/08 18:41:21; author: kfogel; state: Exp; lines: +9 -16
Allow null callbacks.
----------------------------
revision 1.23
date: 2000/08/08 17:34:03; author: sussman; state: Exp; lines: +44 -43
Delta library compiles now.
----------------------------
revision 1.22
date: 2000/08/08 16:33:01; author: sussman; state: Exp; lines: +23 -34
Make all routines static, except for one public interface:
svn_delta_make_xml_parser()
keyword substitution: kv
total revisions: 7; selected revisions: 7
description:
----------------------------
revision 1.7
date: 2000/08/14 17:58:53; author: sussman; state: dead; lines: +0 -0
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
----------------------------
revision 1.6
date: 2000/08/11 20:57:03; author: sussman; state: Exp; lines: +2 -2
Entire interface rewritten, in process of flushing out specific events now.
----------------------------
revision 1.5
date: 2000/08/11 01:07:27; author: sussman; state: Exp; lines: +9 -5
Saving work... in the middle of huge rewrite, a big mess.
I'm doing this because of repeated power outages here at home.
total revisions: 74; selected revisions: 74
description:
----------------------------
revision 1.74
date: 2000/09/01 22:38:30; author: jimb; state: Exp; lines: +4 -4
Doc fixes.
----------------------------
revision 1.73
date: 2000/09/01 21:26:31; author: sussman; state: Exp; lines: +4 -2
Adding walk_baton to the only two walker callbacks that didn't
already receive it.
* svn_delta.h (svn_delta_walk_t): add walk_baton to finish_directory
and finish_file.
* delta_parse.c (do_finish_file, do_finish_directory): add walk_baton
to callback invocations.
* deltaparse-test.c (test_finish_file, test_finish_directory): add
walk_baton argument.
----------------------------
revision 1.72
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added.
(my_fileprop_handler, my_dirprop_handler, my_direntprop_handler):
deleted.
(test_add_file, test_replace_file, test_apply_textdelta): deal
with new file_baton.
* delta_parse.c: (xml_handle_end): after </text-delta>, be sure to
call svn_vcdiff_parse() with len=0.
(do_delete_prop): check for initial existence of current_propdelta.
(do_prop_delta_callback): DUH, check for walker callbacks before
trying to call them. :)
* svn_delta.h: (svn_vcdiff_parse): len is not a pointer.
----------------------------
revision 1.64
date: 2000/08/30 22:52:00; author: sussman; state: Exp; lines: +33 -7
Adopting code in libsvn_delta to use newly revised svn_delta_walk_t
interface. Test program in tests/ DOES NOT YET WORK.pp
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative files.
----------------------------
revision 1.63
date: 2000/08/30 09:39:42; author: gstein; state: Exp; lines: +4 -0
eek! bad hack! with these additional types, we can at least include
svn_delta.h and successfully compile. these will disappear RSN.
----------------------------
revision 1.62
date: 2000/08/30 00:36:29; author: jimb; state: Exp; lines: +264 -71
Major doc fixes.
revision 1.36
date: 2000/08/14 19:04:16; author: sussman; state: Exp; lines: +2 -171
Moved private stuff from public header to private header.
----------------------------
revision 1.35
date: 2000/08/14 17:58:53; author: sussman; state: Exp; lines: +114 -2
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
----------------------------
revision 1.34
date: 2000/08/11 20:57:03; author: sussman; state: Exp; lines: +21 -8
Entire interface rewritten, in process of flushing out specific events now.
----------------------------
revision 1.33
date: 2000/08/11 01:07:27; author: sussman; state: Exp; lines: +15 -32
Saving work... in the middle of huge rewrite, a big mess.
I'm doing this because of repeated power outages here at home.
(svn_delta_digger_t): explain how diggers are used.
----------------------------
revision 1.3
date: 2000/08/04 21:57:05; author: kfogel; state: Exp; lines: +7 -1
Hmmm, somehow missed the local eval ritual -- put it in again.
----------------------------
revision 1.2
date: 2000/08/04 21:53:19; author: kfogel; state: Exp; lines: +15 -9
Use `apr_pool_t' now, not `ap_pool_t'.
Document callbacks as caller will use them.
Added the usual local eval ritual to the end of svn_delta.h and
svn_hash.h.
(unknown_elt_handler): more descriptive name for `default_handler'.
----------------------------
revision 1.1
date: 2000/08/04 21:40:41; author: sussman; state: Exp;
Started XML-to-Delta callback system.
=============================================================================
revision 1.13
date: 2000/08/14 22:23:42; author: sussman; state: Exp; lines: +1 -0
delta_parse.c is basically finished for now; ready to start fleshing out dummy vcdiff parser stuff.
----------------------------
revision 1.12
date: 2000/08/14 17:58:53; author: sussman; state: Exp; lines: +3 -0
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
----------------------------
revision 1.11
date: 2000/08/11 17:13:49; author: jimb; state: Exp; lines: +5 -5
* svn_error.h (svn_create_errorf): Use `extern' in declaration, although
it doesn't make any difference.
* svn_error.c: #include <stdarg.h> and "apr_strings.h", since we use
facilities they provide.
(svn_create_errorf): New function.
----------------------------
Fixed Collab.Net url, and other name change tweaks.
----------------------------
revision 1.4
date: 2000/08/25 20:09:05; author: kfogel; state: Exp; lines: +4 -4
Replace Collab.Net with CollabNet everywhere.
----------------------------
revision 1.3
date: 2000/08/04 21:53:19; author: kfogel; state: Exp; lines: +8 -0
Use `apr_pool_t' now, not `ap_pool_t'.
Document callbacks as caller will use them.
Added the usual local eval ritual to the end of svn_delta.h and
svn_hash.h.
(unknown_elt_handler): more descriptive name for `default_handler'.
----------------------------
revision 1.2
date: 2000/08/03 14:39:44; author: sussman; state: Exp; lines: +9 -9
whoa, APR has changed. s/ap_/apr_
----------------------------
keyword substitution: kv
total revisions: 3; selected revisions: 3
description:
----------------------------
revision 1.3
date: 2000/08/31 13:52:28; author: gstein; state: Exp; lines: +11 -10
continued development.
fetch.c:
- added my_basename() to get the basename of a char* into an svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker returned by
svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions (unused)
commit.c:
- added svn_ra_get_commit_walker() and associated functions (unused)
ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary, internal
debug walker to use.
Makefile.am:
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative files.
----------------------------
revision 1.6
date: 2000/08/18 22:30:31; author: sussman; state: Exp; lines: +1 -1
We made a interface change in svn_walk_t, which then required much
hacking on libsvn_delta. deltaparse-test now works correctly again.
We're now ready to start filling out prop_parse.c!
----------------------------
revision 1.5
date: 2000/08/31 21:04:05; author: sussman; state: Exp; lines: +3 -0
Working out bugs in new libsvn_delta organization. Still a couple of
buglets to go, but we're no longer crashing. (knock, knock).
* deltaparse_test.c:
(test_add_directory, test_replace_directory): set *child_baton to
new directory's name.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added new test functions.
(general): add nicer indentation in my own callbacks.
* delta.h:
(svn_propdelta_t): add new entry_name field to hold name of object
being patched -- (needed by walker's change_dirent_prop).
* delta_parse.c:
(do_begin_prop delta): copy parent stackframe's 'name' field into
current_propdelta->entity_name.
(do_prop_delta_callback): pass this entity_name to change_dirent_prop.
(do_finish_file): drop batons *after* calling walker callback.
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative files.
----------------------------
revision 1.17
date: 2000/08/28 16:21:57; author: kfogel; state: Exp; lines: +2 -2
Fixed Collab.Net url, and other name change tweaks.
----------------------------
revision 1.16
date: 2000/08/25 20:09:06; author: kfogel; state: Exp; lines: +4 -4
Replace Collab.Net with CollabNet everywhere.
----------------------------
revision 1.15
(svn_delta_stackframe_t): Added `ancestor_path' and `ancestor_version'
fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set them
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
----------------------------
revision 1.12
date: 2000/08/21 22:15:58; author: sussman; state: Exp; lines: +59 -31
Property-delta stuff at least compiles correctly now. :)
----------------------------
revision 1.11
date: 2000/08/19 01:17:45; author: kfogel; state: Exp; lines: +1 -1
(svn_delta_digger_t): call it `pdelta_chunk_parser' instead of
`chunk_parser', just to keep things straight.
(do_file_callback): same as above, but for `file_baton'.
----------------------------
revision 1.76
date: 2000/09/01 21:32:45; author: kfogel; state: Exp; lines: +1 -1
(do_begin_textdelta): init window_consumer to NULL, so it's safe even
if the walker callback never sets it.
----------------------------
revision 1.75
date: 2000/09/01 21:26:32; author: sussman; state: Exp; lines: +4 -2
Adding walk_baton to the only two walker callbacks that didn't
already receive it.
* svn_delta.h (svn_delta_walk_t): add walk_baton to finish_directory
and finish_file.
* delta_parse.c (do_finish_file, do_finish_directory): add walk_baton
to callback invocations.
* deltaparse-test.c (test_finish_file, test_finish_directory): add
walk_baton argument.
----------------------------
revision 1.74
* svn_delta.h: (svn_delta_parse): renamed to svn_XML_parse
* delta_parse.c: (svn_delta_parse): renamed to svn_XML_parse
* deltaparse-test.c: (main): call svn_XML_parse
----------------------------
revision 1.71
date: 2000/09/01 03:36:11; author: sussman; state: Exp; lines: +23 -13
Fixed property-parsing buglets. The trick was that xml_handle_end
shouldn't remove a stackframe right at the outset; instead it should
first *validate* that the removal is ok, *then* call walker
callbacks, *then* remove the stackframe. I had implemented this
correctly earlier, but I hadn't updated property-handling to reflect
this change!
* foo.delta: added more prop-deltas to experiement.
* delta_parse.c:
(do_begin_propdelta): set current_propdelta fields to empty
strings, not NULL.
(do_propdelta_callback): if value is empty string, send NULL to
callback. Set name/value to empty (not null) when done.
date: 2000/08/31 21:04:05; author: sussman; state: Exp; lines: +67 -59
Working out bugs in new libsvn_delta organization. Still a couple of
buglets to go, but we're no longer crashing. (knock, knock).
* deltaparse_test.c:
(test_add_directory, test_replace_directory): set *child_baton to
new directory's name.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added new test functions.
(general): add nicer indentation in my own callbacks.
* delta.h:
(svn_propdelta_t): add new entry_name field to hold name of object
being patched -- (needed by walker's change_dirent_prop).
* delta_parse.c:
(do_begin_prop delta): copy parent stackframe's 'name' field into
current_propdelta->entity_name.
(do_prop_delta_callback): pass this entity_name to change_dirent_prop.
(do_finish_file): drop batons *after* calling walker callback.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added.
(my_fileprop_handler, my_dirprop_handler, my_direntprop_handler):
deleted.
(test_add_file, test_replace_file, test_apply_textdelta): deal
with new file_baton.
* delta_parse.c: (xml_handle_end): after </text-delta>, be sure to
call svn_vcdiff_parse() with len=0.
(do_delete_prop): check for initial existence of current_propdelta.
(do_prop_delta_callback): DUH, check for walker callbacks before
trying to call them. :)
* svn_delta.h: (svn_vcdiff_parse): len is not a pointer.
----------------------------
revision 1.66
date: 2000/08/31 15:10:49; author: sussman; state: Exp; lines: +3 -32
Still adopting libsvn_delta to new walker interface.
* vcdiff_parse.c: (svn_vcdiff_parse): fix `len' argument, it's not a
pointer; better comments; if (len == 0), flush what's left in buffer.
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative files.
----------------------------
revision 1.64
date: 2000/08/30 06:24:16; author: gstein; state: Exp; lines: +14 -9
(svn_delta_parse): fix leaks of Expat parsers
----------------------------
revision 1.63
date: 2000/08/28 16:21:57; author: kfogel; state: Exp; lines: +2 -2
Fixed Collab.Net url, and other name change tweaks.
----------------------------
revision 1.62
(svn_delta_stackframe_t): Added `ancestor_path' and `ancestor_version'
fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set them
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
----------------------------
revision 1.53
date: 2000/08/21 22:43:13; author: sussman; state: Exp; lines: +16 -4
save state
----------------------------
revision 1.52
date: 2000/08/21 22:15:59; author: sussman; state: Exp; lines: +212 -41
Property-delta stuff at least compiles correctly now. :)
----------------------------
revision 1.51
revision 1.38
date: 2000/08/14 19:04:16; author: sussman; state: Exp; lines: +4 -4
Moved private stuff from public header to private header.
----------------------------
revision 1.37
date: 2000/08/14 17:58:53; author: sussman; state: Exp; lines: +145 -12
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
----------------------------
revision 1.36
date: 2000/08/11 20:57:03; author: sussman; state: Exp; lines: +146 -130
Entire interface rewritten, in process of flushing out specific events now.
----------------------------
revision 1.35
date: 2000/08/11 17:50:19; author: sussman; state: Exp; lines: +60 -198
Tweak validity check.
----------------------------
revision 1.34
Still rewriting parser.
----------------------------
revision 1.31
date: 2000/08/10 21:10:22; author: sussman; state: Exp; lines: +9 -1
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly, whereby
our main parser loop then notices the existence of #1 and returns.
----------------------------
revision 1.30
date: 2000/08/10 21:03:47; author: sussman; state: Exp; lines: +107 -17
In process of rewriting parser machinery.
----------------------------
revision 1.29
date: 2000/08/09 04:34:44; author: sussman; state: Exp; lines: +35 -12
revision 1.26
date: 2000/08/08 21:57:31; author: kfogel; state: Exp; lines: +6 -6
Fix allocation size buglets.
----------------------------
revision 1.25
date: 2000/08/08 19:29:29; author: kfogel; state: Exp; lines: +1 -1
Recurse, or, as Noah Friedman likes to say, "recur".
----------------------------
revision 1.24
date: 2000/08/08 18:41:21; author: kfogel; state: Exp; lines: +9 -16
Allow null callbacks.
----------------------------
revision 1.23
date: 2000/08/08 17:34:03; author: sussman; state: Exp; lines: +44 -43
Delta library compiles now.
----------------------------
revision 1.22
date: 2000/08/08 16:33:01; author: sussman; state: Exp; lines: +23 -34
Make all routines static, except for one public interface:
svn_delta_make_xml_parser()
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative files.
----------------------------
revision 1.9
date: 2000/08/28 16:21:57; author: kfogel; state: Exp; lines: +2 -2
Fixed Collab.Net url, and other name change tweaks.
----------------------------
revision 1.8
date: 2000/08/25 20:09:06; author: kfogel; state: Exp; lines: +4 -4
Replace Collab.Net with CollabNet everywhere.
----------------------------
revision 1.7
----------------------------
revision 1.26
date: 2000/09/01 22:12:21; author: sussman; state: Exp; lines: +75 -12
* deltaparse-test.c: (print_spaces, inc_spaces, dec_spaces) added.
(all other routines): above calls added, for pretty spacing of output.
----------------------------
revision 1.25
date: 2000/09/01 21:26:32; author: sussman; state: Exp; lines: +4 -4
Adding walk_baton to the only two walker callbacks that didn't
already receive it.
* svn_delta.h (svn_delta_walk_t): add walk_baton to finish_directory
and finish_file.
* delta_parse.c (do_finish_file, do_finish_directory): add walk_baton
to callback invocations.
* deltaparse-test.c (test_finish_file, test_finish_directory): add
walk_baton argument.
----------------------------
revision 1.24
date: 2000/08/31 21:04:06; author: sussman; state: Exp; lines: +78 -10
Working out bugs in new libsvn_delta organization. Still a couple of
buglets to go, but we're no longer crashing. (knock, knock).
* deltaparse_test.c:
(test_add_directory, test_replace_directory): set *child_baton to
new directory's name.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added new test functions.
(general): add nicer indentation in my own callbacks.
* delta.h:
(svn_propdelta_t): add new entry_name field to hold name of object
being patched -- (needed by walker's change_dirent_prop).
* delta_parse.c:
(do_begin_prop delta): copy parent stackframe's 'name' field into
current_propdelta->entity_name.
(do_prop_delta_callback): pass this entity_name to change_dirent_prop.
(do_finish_file): drop batons *after* calling walker callback.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added.
(my_fileprop_handler, my_dirprop_handler, my_direntprop_handler):
deleted.
(test_add_file, test_replace_file, test_apply_textdelta): deal
with new file_baton.
* delta_parse.c: (xml_handle_end): after </text-delta>, be sure to
call svn_vcdiff_parse() with len=0.
(do_delete_prop): check for initial existence of current_propdelta.
(do_prop_delta_callback): DUH, check for walker callbacks before
trying to call them. :)
* svn_delta.h: (svn_vcdiff_parse): len is not a pointer.
----------------------------
revision 1.20
date: 2000/08/22 16:52:17; author: sussman; state: Exp; lines: +72 -0
test program correctly recognizes prop-deltas on files, dirs, and dirents.
----------------------------
revision 1.19
date: 2000/08/22 16:46:53; author: sussman; state: Exp; lines: +18 -4
(svn_delta__tagmap): "add" replaces "new".
(svn_delta__XML_t): svn_delta__XML_add replaces svn_delta__XML_new.
----------------------------
revision 1.6
date: 2000/09/01 03:36:11; author: sussman; state: Exp; lines: +8 -1
Fixed property-parsing buglets. The trick was that xml_handle_end
shouldn't remove a stackframe right at the outset; instead it should
first *validate* that the removal is ok, *then* call walker
callbacks, *then* remove the stackframe. I had implemented this
correctly earlier, but I hadn't updated property-handling to reflect
this change!
* foo.delta: added more prop-deltas to experiement.
* delta_parse.c:
(do_begin_propdelta): set current_propdelta fields to empty
strings, not NULL.
(do_propdelta_callback): if value is empty string, send NULL to
callback. Set name/value to empty (not null) when done.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added.
(my_fileprop_handler, my_dirprop_handler, my_direntprop_handler):
deleted.
(test_add_file, test_replace_file, test_apply_textdelta): deal
with new file_baton.
* delta_parse.c: (xml_handle_end): after </text-delta>, be sure to
call svn_vcdiff_parse() with len=0.
(do_delete_prop): check for initial existence of current_propdelta.
(do_prop_delta_callback): DUH, check for walker callbacks before
trying to call them. :)
* svn_delta.h: (svn_vcdiff_parse): len is not a pointer.
----------------------------
revision 1.4
date: 2000/08/22 16:52:17; author: sussman; state: Exp; lines: +2 -0
test program correctly recognizes prop-deltas on files, dirs, and dirents.
----------------------------
revision 1.3
date: 2000/08/22 16:46:53; author: sussman; state: Exp; lines: +6 -1
keyword substitution: kv
total revisions: 3; selected revisions: 3
description:
----------------------------
revision 1.3
date: 2000/08/31 13:52:28; author: gstein; state: Exp; lines: +3 -1
continued development.
fetch.c:
- added my_basename() to get the basename of a char* into an svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker returned by
svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions (unused)
commit.c:
- added svn_ra_get_commit_walker() and associated functions (unused)
ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary, internal
debug walker to use.
Makefile.am:
revision 1.2
date: 2000/09/02 10:00:59; author: gstein; state: Exp; lines: +2 -2
tweak: update to new walker callback interfaces
----------------------------
revision 1.1
date: 2000/08/31 13:52:28; author: gstein; state: Exp;
continued development.
fetch.c:
- added my_basename() to get the basename of a char* into an svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker returned by
svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions (unused)
commit.c:
- added svn_ra_get_commit_walker() and associated functions (unused)
ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary, internal
debug walker to use.
Makefile.am:
revision 1.4
date: 2000/08/31 14:17:31; author: gstein; state: Exp; lines: +5 -0
while I'm thinking about it...
----------------------------
revision 1.3
date: 2000/08/31 13:52:28; author: gstein; state: Exp; lines: +333 -38
continued development.
fetch.c:
- added my_basename() to get the basename of a char* into an svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker returned by
svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions (unused)
commit.c:
- added svn_ra_get_commit_walker() and associated functions (unused)
ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary, internal
debug walker to use.
Makefile.am:
revision 1.4
date: 2000/09/02 10:09:17; author: gstein; state: Exp; lines: +12 -76
use the real WC change walker (rather than our test hack).
----------------------------
revision 1.3
date: 2000/08/31 13:52:28; author: gstein; state: Exp; lines: +77 -1
continued development.
fetch.c:
- added my_basename() to get the basename of a char* into an svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker returned by
svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions (unused)
commit.c:
- added svn_ra_get_commit_walker() and associated functions (unused)
ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary, internal
debug walker to use.
Makefile.am:
just use a static, constant structure. added "change_walker" struct.
----------------------------
revision 1.26
date: 2000/08/30 09:55:58; author: gstein; state: Exp; lines: +1 -1
wouldn't you know it... the file that I used as a template for the new
RA/DAV files' license (it was apply_delta.c) happens to be the only file
with a tweak in it. of all that I could have chosen...
----------------------------
revision 1.25
date: 2000/08/30 00:31:37; author: kfogel; state: Exp; lines: +168 -105
Separate pages for walker callbacks vs their helpers.
Return SVN_NO_ERROR instead of 0 everywhere.
Come into line with the new svn_delta_walk_t interface:
(change_file_prop, change_dir_prop, change_dirent_prop,
apply_textdelta): new callback functions, empty skeletons for now.
(begin_textdelta, finish_textdelta): removed, but code preserved
verbatim in apply_textdelta(), #ifdef'd out.
(svn_wc_apply_delta): set up the new walker appropriately.
before implementing update_dir_handler().
Someone remind me to read this log entry to figure what to do next.
(svn_walk_delta): in progress.
(update_dir_handler): waiting on above and delta_to_path().
----------------------------
revision 1.3
date: 2000/08/05 22:18:14; author: kfogel; state: Exp; lines: +68 -12
(check_existence): new func, helper for update() and later for callbacks.
(update): use above.
(update_data_handler, update_dir_handler): replace
`svn_update_data_handler' and `svn_update_data_handler' respectively,
albeit not respectfully.
----------------------------
revision 1.2
date: 2000/08/05 21:33:35; author: kfogel; state: Exp; lines: +9 -9
(update): set up digger before passing it to the parser creator; this is more intuitive although not technically necessary.
testref/4-fsf-S-r.txt view on Meta::CPAN
(svn_delta_stackframe_t): Added `ancestor_path' and
`ancestor_version' fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set
them in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to
callbacks.
2000-08-21 22:43 sussman
* libsvn_delta/delta_parse.c (1.53):
save state
2000-08-21 22:15 sussman
* libsvn_delta/: delta.h (1.12), delta_parse.c (1.52), prop_parse.c
testref/4-fsf-S-r.txt view on Meta::CPAN
Moved private stuff from public header to private header.
2000-08-14 17:58 sussman
* libsvn_delta/delta_parse.c (1.37):
Merged jimb's walker structure into svn_delta.h, jimb's own header
is not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t
callbacks.
2000-08-11 20:57 sussman
* libsvn_delta/delta_parse.c (1.36):
Entire interface rewritten, in process of flushing out specific
events now.
2000-08-11 17:50 sussman
testref/4-fsf-S-r.txt view on Meta::CPAN
2000-08-10 21:10 sussman
* libsvn_delta/delta_parse.c (1.31):
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly,
whereby our main parser loop then notices the existence of #1 and
returns.
2000-08-10 21:03 sussman
* libsvn_delta/delta_parse.c (1.30):
In process of rewriting parser machinery.
testref/4-fsf-S-r.txt view on Meta::CPAN
2000-08-08 19:29 kfogel
* libsvn_delta/delta_parse.c (1.25):
Recurse, or, as Noah Friedman likes to say, "recur".
2000-08-08 18:41 kfogel
* libsvn_delta/delta_parse.c (1.24):
Allow null callbacks.
2000-08-08 17:34 sussman
* libsvn_delta/delta_parse.c (1.23):
Delta library compiles now.
2000-08-08 16:50 kfogel
* configure.in (1.12):
testref/4-fsf-S.txt view on Meta::CPAN
(svn_delta_stackframe_t): Added `ancestor_path' and
`ancestor_version' fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set
them in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to
callbacks.
2000-08-21 22:43 sussman
* libsvn_delta/delta_parse.c:
save state
2000-08-21 22:15 sussman
* libsvn_delta/: delta.h, delta_parse.c, prop_parse.c:
testref/4-fsf-S.txt view on Meta::CPAN
Moved private stuff from public header to private header.
2000-08-14 17:58 sussman
* libsvn_delta/delta_parse.c:
Merged jimb's walker structure into svn_delta.h, jimb's own header
is not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t
callbacks.
2000-08-11 20:57 sussman
* libsvn_delta/delta_parse.c:
Entire interface rewritten, in process of flushing out specific
events now.
2000-08-11 17:50 sussman
testref/4-fsf-S.txt view on Meta::CPAN
2000-08-10 21:10 sussman
* libsvn_delta/delta_parse.c:
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly,
whereby our main parser loop then notices the existence of #1 and
returns.
2000-08-10 21:03 sussman
* libsvn_delta/delta_parse.c:
In process of rewriting parser machinery.
testref/4-fsf-S.txt view on Meta::CPAN
2000-08-08 19:29 kfogel
* libsvn_delta/delta_parse.c:
Recurse, or, as Noah Friedman likes to say, "recur".
2000-08-08 18:41 kfogel
* libsvn_delta/delta_parse.c:
Allow null callbacks.
2000-08-08 17:34 sussman
* libsvn_delta/delta_parse.c:
Delta library compiles now.
2000-08-08 16:50 kfogel
* configure.in:
testref/4-fsf-r.xml view on Meta::CPAN
(svn_delta_stackframe_t): Added `ancestor_path' and `ancestor_version'
fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set them
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
</msg>
</entry>
<entry>
<date>2000-08-21</date>
<weekday>Monday</weekday>
<time>22:43</time>
<author>sussman</author>
<file>
<name>libsvn_delta/delta_parse.c</name>
testref/4-fsf-r.xml view on Meta::CPAN
<time>17:58</time>
<author>sussman</author>
<file>
<name>libsvn_delta/delta_parse.c</name>
<revision>1.37</revision>
</file>
<msg>
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
</msg>
</entry>
<entry>
<date>2000-08-11</date>
<weekday>Friday</weekday>
<time>20:57</time>
<author>sussman</author>
<file>
<name>libsvn_delta/delta_parse.c</name>
testref/4-fsf-r.xml view on Meta::CPAN
<file>
<name>libsvn_delta/delta_parse.c</name>
<revision>1.31</revision>
</file>
<msg>
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly, whereby
our main parser loop then notices the existence of #1 and returns.
</msg>
</entry>
<entry>
<date>2000-08-10</date>
<weekday>Thursday</weekday>
<time>21:03</time>
testref/4-fsf-r.xml view on Meta::CPAN
<entry>
<date>2000-08-08</date>
<weekday>Tuesday</weekday>
<time>18:41</time>
<author>kfogel</author>
<file>
<name>libsvn_delta/delta_parse.c</name>
<revision>1.24</revision>
</file>
<msg>Allow null callbacks.
</msg>
</entry>
<entry>
<date>2000-08-08</date>
<weekday>Tuesday</weekday>
<time>17:34</time>
<author>sussman</author>
<file>
<name>libsvn_delta/delta_parse.c</name>
testref/5-S-fsf-r.txt view on Meta::CPAN
(do_begin_textdelta): init window_consumer to NULL, so it's safe
even if the walker callback never sets it.
2000-09-01 21:26 sussman
* include/svn_delta.h (1.73), libsvn_delta/delta_parse.c (1.75),
libsvn_delta/tests/deltaparse-test.c (1.25):
Adding walk_baton to the only two walker callbacks that didn't
already receive it.
* svn_delta.h (svn_delta_walk_t): add walk_baton to finish_directory
and finish_file.
* delta_parse.c (do_finish_file, do_finish_directory): add
walk_baton to callback invocations.
* deltaparse-test.c (test_finish_file, test_finish_directory): add
walk_baton argument.
2000-09-01 21:15 sussman
testref/5-S-fsf-r.txt view on Meta::CPAN
* deltaparse-test.c: (main): call svn_XML_parse
2000-09-01 03:36 sussman
* libsvn_delta/: delta_parse.c (1.71), tests/foo.delta (1.6):
Fixed property-parsing buglets. The trick was that xml_handle_end
shouldn't remove a stackframe right at the outset; instead it
should first *validate* that the removal is ok, *then* call walker
callbacks, *then* remove the stackframe. I had implemented this
correctly earlier, but I hadn't updated property-handling to
reflect this change!
* foo.delta: added more prop-deltas to experiement.
* delta_parse.c:
(do_begin_propdelta): set current_propdelta fields to empty
strings, not NULL.
(do_propdelta_callback): if value is empty string, send NULL to
callback. Set name/value to empty (not null) when done.
testref/5-S-fsf-r.txt view on Meta::CPAN
Working out bugs in new libsvn_delta organization. Still a couple
of buglets to go, but we're no longer crashing. (knock, knock).
* deltaparse_test.c:
(test_add_directory, test_replace_directory): set *child_baton
to new directory's name.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added new test functions.
(general): add nicer indentation in my own callbacks.
* delta.h:
(svn_propdelta_t): add new entry_name field to hold name of
object being patched -- (needed by walker's change_dirent_prop).
* delta_parse.c:
(do_begin_prop delta): copy parent stackframe's 'name' field into
current_propdelta->entity_name.
(do_prop_delta_callback): pass this entity_name to
change_dirent_prop.
testref/5-S-fsf-r.txt view on Meta::CPAN
test_change_dirent_prop): added.
(my_fileprop_handler, my_dirprop_handler, my_direntprop_handler):
deleted.
(test_add_file, test_replace_file, test_apply_textdelta): deal
with new file_baton.
* delta_parse.c: (xml_handle_end): after </text-delta>, be sure to
call svn_vcdiff_parse() with len=0.
(do_delete_prop): check for initial existence of
current_propdelta.
(do_prop_delta_callback): DUH, check for walker callbacks before
trying to call them. :)
* svn_delta.h: (svn_vcdiff_parse): len is not a pointer.
2000-08-31 16:12 sussman
* libsvn_string/svn_string.c (1.43):
(svn_string_appendbytes): if passed a NULL string, then just create
testref/5-S-fsf-r.txt view on Meta::CPAN
2000-08-31 13:52 gstein
* include/svn_ra.h (1.3), libsvn_ra_dav/Makefile.am (1.3),
libsvn_ra_dav/commit.c (1.1), libsvn_ra_dav/fetch.c (1.3),
libsvn_ra_dav/tests/ra-dav-test.c (1.3):
continued development. fetch.c:
- added my_basename() to get the basename of a char* into an
svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker
returned by svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions
(unused) commit.c:
- added svn_ra_get_commit_walker() and associated functions
(unused) ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary,
internal debug walker to use. Makefile.am:
- build commit.c and tests subdir svn_ra.h:
testref/5-S-fsf-r.txt view on Meta::CPAN
* Makefile.am: remove prop_parse.c
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative
files.
2000-08-30 09:55 gstein
* include/svn_ra.h (1.2), libsvn_ra_dav/fetch.c (1.2),
libsvn_ra_dav/ra_session.h (1.2), libsvn_ra_dav/session.c (1.2),
libsvn_ra_dav/tests/ra-dav-test.c (1.2), libsvn_wc/apply_delta.c
(1.26):
wouldn't you know it... the file that I used as a template for the
testref/5-S-fsf-r.txt view on Meta::CPAN
Reinstate the text delta creation and vcdiff handling interfaces.
(svn_txdelta_stream_t): New type.
(svn_txdelta_next_window, svn_txdelta, svn_txdelta_free,
svn_txdelta_to_vcdiff, svn_make_vcdiff_parser, svn_vcdiff_parse):
New functions.
2000-08-30 00:31 kfogel
* libsvn_wc/apply_delta.c (1.25):
Separate pages for walker callbacks vs their helpers.
Return SVN_NO_ERROR instead of 0 everywhere.
Come into line with the new svn_delta_walk_t interface:
(change_file_prop, change_dir_prop, change_dirent_prop,
apply_textdelta): new callback functions, empty skeletons for now.
(begin_textdelta, finish_textdelta): removed, but code preserved
verbatim in apply_textdelta(), #ifdef'd out.
(svn_wc_apply_delta): set up the new walker appropriately.
testref/5-S-fsf-r.txt view on Meta::CPAN
(svn_delta_stackframe_t): Added `ancestor_path' and
`ancestor_version' fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set
them in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to
callbacks.
2000-08-21 23:37 kfogel
* libsvn_wc/: README (1.30), apply_delta.c (1.14), wc.h (1.2),
wc_adm.c (1.3):
Many changes to do with creating administrative subdirs.
2000-08-21 23:35 kfogel
testref/5-S-fsf-r.txt view on Meta::CPAN
2000-08-14 17:58 sussman
* include/jimb-delta-parse.h (1.7), include/svn_delta.h (1.35),
include/svn_error.h (1.12), libsvn_delta/delta_parse.c (1.37):
Merged jimb's walker structure into svn_delta.h, jimb's own header
is not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t
callbacks.
2000-08-11 20:57 sussman
* include/jimb-delta-parse.h (1.6), include/svn_delta.h (1.34),
libsvn_delta/delta_parse.c (1.36):
Entire interface rewritten, in process of flushing out specific
events now.
2000-08-11 17:50 sussman
testref/5-S-fsf-r.txt view on Meta::CPAN
2000-08-10 21:10 sussman
* libsvn_delta/delta_parse.c (1.31):
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly,
whereby our main parser loop then notices the existence of #1 and
returns.
2000-08-10 21:03 sussman
* include/jimb-delta-parse.h (1.4), include/svn_delta.h (1.32),
libsvn_delta/delta_parse.c (1.30):
testref/5-S-fsf-r.txt view on Meta::CPAN
2000-08-08 19:29 kfogel
* libsvn_delta/delta_parse.c (1.25):
Recurse, or, as Noah Friedman likes to say, "recur".
2000-08-08 18:41 kfogel
* libsvn_delta/delta_parse.c (1.24):
Allow null callbacks.
2000-08-08 18:14 kfogel
* svn-dev.sh (1.4), libsvn_string/tests/Makefile.am (1.4),
libsvn_subr/tests/Makefile.am (1.3), libsvn_wc/tests/Makefile.am
(1.4):
Add new paths to LD_LIBRARY_PATH.
Don't install test programs in a "make install".
testref/5-S-fsf-r.txt view on Meta::CPAN
* libsvn_delta/delta_parse.c (1.13):
Fleshed out most of svn_xml_handle_end().
2000-08-05 22:18 kfogel
* libsvn_wc/update.c (1.3):
(check_existence): new func, helper for update() and later for
callbacks.
(update): use above.
(update_data_handler, update_dir_handler): replace
`svn_update_data_handler' and `svn_update_data_handler'
respectively, albeit not respectfully.
2000-08-05 22:03 sussman
* libsvn_delta/delta_parse.c (1.12):
testref/5-S-fsf-r.txt view on Meta::CPAN
* include/svn_delta.h (1.3):
Hmmm, somehow missed the local eval ritual -- put it in again.
2000-08-04 21:53 kfogel
* include/: svn_delta.h (1.2), svn_hash.h (1.3):
Use `apr_pool_t' now, not `ap_pool_t'.
Document callbacks as caller will use them.
Added the usual local eval ritual to the end of svn_delta.h and
svn_hash.h.
(unknown_elt_handler): more descriptive name for `default_handler'.
2000-08-04 21:40 sussman
* include/svn_delta.h (1.1), include/svn_types.h (1.32),
libsvn_delta/delta_parse.c (1.2),
testref/5-fsf-r.txt view on Meta::CPAN
* libsvn_delta/delta_parse.c (1.76):
(do_begin_textdelta): init window_consumer to NULL, so it's safe
even if the walker callback never sets it.
2000-09-01 21:26 sussman
* include/svn_delta.h (1.73), libsvn_delta/delta_parse.c (1.75),
libsvn_delta/tests/deltaparse-test.c (1.25):
Adding walk_baton to the only two walker callbacks that didn't
already receive it.
* svn_delta.h (svn_delta_walk_t): add walk_baton to finish_directory
and finish_file.
* delta_parse.c (do_finish_file, do_finish_directory): add
walk_baton to callback invocations.
* deltaparse-test.c (test_finish_file, test_finish_directory): add
walk_baton argument.
2000-09-01 21:15 sussman
testref/5-fsf-r.txt view on Meta::CPAN
* delta_parse.c: (svn_delta_parse): renamed to svn_XML_parse
* deltaparse-test.c: (main): call svn_XML_parse
2000-09-01 03:36 sussman
* libsvn_delta/: delta_parse.c (1.71), tests/foo.delta (1.6):
Fixed property-parsing buglets. The trick was that xml_handle_end
shouldn't remove a stackframe right at the outset; instead it
should first *validate* that the removal is ok, *then* call walker
callbacks, *then* remove the stackframe. I had implemented this
correctly earlier, but I hadn't updated property-handling to
reflect this change!
* foo.delta: added more prop-deltas to experiement.
* delta_parse.c:
(do_begin_propdelta): set current_propdelta fields to empty
strings, not NULL.
(do_propdelta_callback): if value is empty string, send NULL to
callback. Set name/value to empty (not null) when done.
testref/5-fsf-r.txt view on Meta::CPAN
tests/deltaparse-test.c (1.22):
Working out bugs in new libsvn_delta organization. Still a couple
of buglets to go, but we're no longer crashing. (knock, knock).
* deltaparse_test.c:
(test_add_directory, test_replace_directory): set *child_baton
to new directory's name.
(test_change_file_prop, test_change_dir_prop,
test_change_dirent_prop): added new test functions.
(general): add nicer indentation in my own callbacks.
* delta.h:
(svn_propdelta_t): add new entry_name field to hold name of
object being patched -- (needed by walker's change_dirent_prop).
* delta_parse.c:
(do_begin_prop delta): copy parent stackframe's 'name' field into
current_propdelta->entity_name.
(do_prop_delta_callback): pass this entity_name to
change_dirent_prop.
testref/5-fsf-r.txt view on Meta::CPAN
test_change_dirent_prop): added.
(my_fileprop_handler, my_dirprop_handler, my_direntprop_handler):
deleted.
(test_add_file, test_replace_file, test_apply_textdelta): deal
with new file_baton.
* delta_parse.c: (xml_handle_end): after </text-delta>, be sure to
call svn_vcdiff_parse() with len=0.
(do_delete_prop): check for initial existence of
current_propdelta.
(do_prop_delta_callback): DUH, check for walker callbacks before
trying to call them. :)
* svn_delta.h: (svn_vcdiff_parse): len is not a pointer.
2000-08-31 16:12 sussman
* libsvn_string/svn_string.c (1.43):
(svn_string_appendbytes): if passed a NULL string, then just create
a new string from BYTES.
testref/5-fsf-r.txt view on Meta::CPAN
2000-08-31 13:52 gstein
* include/svn_ra.h (1.3), libsvn_ra_dav/Makefile.am (1.3),
libsvn_ra_dav/commit.c (1.1), libsvn_ra_dav/fetch.c (1.3),
libsvn_ra_dav/tests/ra-dav-test.c (1.3): continued development.
fetch.c:
- added my_basename() to get the basename of a char* into an
svn_string
- added fetch_file() to grab files from the server
- added logic to call walker callbacks to create the working copy
- fetch_data is history: it becomes svn_ra_checkout()
- svn_ra_update() is gone. the algorithm will use a walker
returned by svn_ra_get_update_walker()
- added svn_ra_get_update_walker() and associated functions
(unused) commit.c:
- added svn_ra_get_commit_walker() and associated functions
(unused) ra-dav-test.c:
- can't use svn_wc_get_change_walker(), so we add a temporary,
internal debug walker to use. Makefile.am:
- build commit.c and tests subdir svn_ra.h:
testref/5-fsf-r.txt view on Meta::CPAN
* Makefile.am: remove prop_parse.c
TODO: rename svn_delta_parse to something more specific.
svn_XML_parse is fine, I think, because it's still a very
general-purpose routine; it takes an read function and a walk_t
structure.
This would work for a "test" program:
* reader function presents an XML file;
* callbacks are a bunch of dorky printf's
It would also work for WC use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate DAV calls
It would also work for WC *internal* use:
* reader function implicitly crawls the working copy, assembling
an XML stream on-the-fly
* callbacks generate *new* XML to put in WC administrative
files.
2000-08-30 09:55 gstein
* include/svn_ra.h (1.2), libsvn_ra_dav/fetch.c (1.2),
libsvn_ra_dav/ra_session.h (1.2), libsvn_ra_dav/session.c (1.2),
libsvn_ra_dav/tests/ra-dav-test.c (1.2), libsvn_wc/apply_delta.c
(1.26): wouldn't you know it... the file that I used as a template
for the new RA/DAV files' license (it was apply_delta.c) happens to
be the only file with a tweak in it. of all that I could have
testref/5-fsf-r.txt view on Meta::CPAN
Reinstate the text delta creation and vcdiff handling interfaces.
(svn_txdelta_stream_t): New type.
(svn_txdelta_next_window, svn_txdelta, svn_txdelta_free,
svn_txdelta_to_vcdiff, svn_make_vcdiff_parser, svn_vcdiff_parse):
New functions.
2000-08-30 00:31 kfogel
* libsvn_wc/apply_delta.c (1.25): Separate pages for walker
callbacks vs their helpers.
Return SVN_NO_ERROR instead of 0 everywhere.
Come into line with the new svn_delta_walk_t interface:
(change_file_prop, change_dir_prop, change_dirent_prop,
apply_textdelta): new callback functions, empty skeletons for now.
(begin_textdelta, finish_textdelta): removed, but code preserved
verbatim in apply_textdelta(), #ifdef'd out.
(svn_wc_apply_delta): set up the new walker appropriately.
testref/5-fsf-r.txt view on Meta::CPAN
(svn_delta_stackframe_t): Added `ancestor_path' and
`ancestor_version' fields.
(xml_handle_start): look for "ancestor" and "ver" attributes, set
them in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to
callbacks.
2000-08-21 23:37 kfogel
* libsvn_wc/: README (1.30), apply_delta.c (1.14), wc.h (1.2),
wc_adm.c (1.3): Many changes to do with creating administrative
subdirs.
2000-08-21 23:35 kfogel
* libsvn_string/svn_string.c (1.39): Fix typo.
testref/5-fsf-r.txt view on Meta::CPAN
2000-08-14 17:58 sussman
* include/jimb-delta-parse.h (1.7), include/svn_delta.h (1.35),
include/svn_error.h (1.12), libsvn_delta/delta_parse.c (1.37):
Merged jimb's walker structure into svn_delta.h, jimb's own header
is not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t
callbacks.
2000-08-11 20:57 sussman
* include/jimb-delta-parse.h (1.6), include/svn_delta.h (1.34),
libsvn_delta/delta_parse.c (1.36): Entire interface rewritten, in
process of flushing out specific events now.
2000-08-11 17:50 sussman
* libsvn_delta/delta_parse.c (1.35): Tweak validity check.
testref/5-fsf-r.txt view on Meta::CPAN
2000-08-10 21:10 sussman
* libsvn_delta/delta_parse.c (1.31):
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly,
whereby our main parser loop then notices the existence of #1 and
returns.
2000-08-10 21:03 sussman
* include/jimb-delta-parse.h (1.4), include/svn_delta.h (1.32),
libsvn_delta/delta_parse.c (1.30): In process of rewriting parser
machinery.
testref/5-fsf-r.txt view on Meta::CPAN
* libsvn_delta/delta_parse.c (1.26): Fix allocation size buglets.
2000-08-08 19:29 kfogel
* libsvn_delta/delta_parse.c (1.25): Recurse, or, as Noah Friedman
likes to say, "recur".
2000-08-08 18:41 kfogel
* libsvn_delta/delta_parse.c (1.24): Allow null callbacks.
2000-08-08 18:14 kfogel
* svn-dev.sh (1.4), libsvn_string/tests/Makefile.am (1.4),
libsvn_subr/tests/Makefile.am (1.3), libsvn_wc/tests/Makefile.am
(1.4): Add new paths to LD_LIBRARY_PATH.
Don't install test programs in a "make install".
2000-08-08 17:48 sussman
testref/5-fsf-r.txt view on Meta::CPAN
2000-08-05 22:19 sussman
* libsvn_delta/delta_parse.c (1.13): Fleshed out most of
svn_xml_handle_end().
2000-08-05 22:18 kfogel
* libsvn_wc/update.c (1.3):
(check_existence): new func, helper for update() and later for
callbacks.
(update): use above.
(update_data_handler, update_dir_handler): replace
`svn_update_data_handler' and `svn_update_data_handler'
respectively, albeit not respectfully.
2000-08-05 22:03 sussman
* libsvn_delta/delta_parse.c (1.12): Finished svn_starpend_delta()
testref/5-fsf-r.txt view on Meta::CPAN
2000-08-04 21:57 kfogel
* include/svn_delta.h (1.3): Hmmm, somehow missed the local eval
ritual -- put it in again.
2000-08-04 21:53 kfogel
* include/: svn_delta.h (1.2), svn_hash.h (1.3): Use `apr_pool_t'
now, not `ap_pool_t'.
Document callbacks as caller will use them.
Added the usual local eval ritual to the end of svn_delta.h and
svn_hash.h.
(unknown_elt_handler): more descriptive name for `default_handler'.
2000-08-04 21:40 sussman
* include/svn_delta.h (1.1), include/svn_types.h (1.32),
libsvn_delta/delta_parse.c (1.2),