[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Peg revision support for svn:externals

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: 2007-02-20 19:22:40 CET

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

This is an archived mail posted to the Subversion Dev mailing list.