I've added support for peg revision syntax to svn:externals. It seemed
pretty straight forward, I just want to make sure that I haven't missed
anything. I'd appreciate any review.
If I don't hear anything, I'll commit it in a day or two.
-Hyrum
[[[
Support peg revision syntax with svn:externals. This requires rev'ing
the svn_wc_external_item_t structure, and related functions.
* subversion/include/svn_wc.h
(svn_wc_external_item2_t, svn_wc_external_item2_dup): New.
(svn_wc_external_item_t, svn_wc_external_item_dup): Deprecated.
(svn_wc_parse_externals_description3): New.
(svn_wc_parse_externals_description2): Deprecated.
* subversion/libsvn_wc/props.c
(svn_wc_parse_externals_description3): New. Return an array of
svn_wc_external_item2_t structures, and include parsing of the peg
revisions.
(svn_wc_parse_externals_description2): Implement as a thin wrapper
around svn_wc_parse_externals_description3().
* subversion/libsvn_wc/util.c
(svn_wc_external_item2_dup): New.
* subversion/libsvn_wc/status.c
(get_dir_status): Update to use the new externals API and type.
* subversion/libsvn_client/externals.c
(compare_external_items, svn_client__do_external_status):
Update to use svn_wc_external_item2_t.
(switch_external): Add a peg revision paramter, and use it when
checking out the external module.
(handle_external_item_change): Use the supplied peg revision when
exporting or checking out an external module.
(handle_externals_desc_change): Update to use the new externals API
and type.
* subversion/tests/cmdline/externals_tests.py
(externals_test_setup): Use peg revision syntax when setting up the
working copies.
(update_receive_new_external, update_lose_external,
update_change_pristine_external, update_change_modified_external,
modify_and_update_receive_new_external): Use peg revision syntax.
(external_with_peg_and_op_revision): New test.
(test_list): Run the new test.
]]]
Received on Tue Feb 20 19:23:01 2007