Hi All,
Find the attached patch and log.
With regards
Kamesh Jayachandran
[[[
* subversion/libsvn_client/diff.c
(discover_and_merge_children_with_merge_info): Renamed from do_child_merges.
(svn_client_merge3, svn_client_merge_peg3):
Calls discover_and_merge_children_with_merge_info.
(do_merge): Remove 'completed' TODO of 'Subtree merge info'.
Patch by: kameshj
Suggested by: dlr
]]]
Index: subversion/libsvn_client/diff.c
===================================================================
--- subversion/libsvn_client/diff.c (revision 23227)
+++ subversion/libsvn_client/diff.c (working copy)
@@ -2335,8 +2335,7 @@
merge for the specified range. */
if (merge_b->record_only)
{
- /* ### TODO: Support sub-tree merge info. */
- /* ### Handle WC-local reverts which have modified our merge
+ /* ### TODO: Handle WC-local reverts which have modified our merge
### info. */
apr_hash_t *merges;
SVN_ERR(determine_merges_performed(&merges, target_wcpath, &range,
@@ -3498,19 +3497,19 @@
MERGE_CMD_BATON to do_merge() and do_single_file_merge(). All
allocation occurs in POOL. */
static svn_error_t *
-do_child_merges(apr_hash_t *children_with_mergeinfo,
- const svn_wc_entry_t *parent_entry,
- const char *parent_wc_url,
- const char *initial_path1,
- const svn_opt_revision_t *revision1,
- const char *initial_path2,
- const svn_opt_revision_t *revision2,
- const svn_opt_revision_t *peg_revision,
- svn_boolean_t recurse,
- svn_boolean_t ignore_ancestry,
- svn_wc_adm_access_t *adm_access,
- struct merge_cmd_baton *merge_cmd_baton,
- apr_pool_t *pool)
+discover_and_merge_children_with_merge_info(apr_hash_t *children_with_mergeinfo,
+ const svn_wc_entry_t *parent_entry,
+ const char *parent_wc_url,
+ const char *initial_path1,
+ const svn_opt_revision_t *revision1,
+ const char *initial_path2,
+ const svn_opt_revision_t *revision2,
+ const svn_opt_revision_t *peg_revision,
+ svn_boolean_t recurse,
+ svn_boolean_t ignore_ancestry,
+ svn_wc_adm_access_t *adm_access,
+ struct merge_cmd_baton *merge_cmd_baton,
+ apr_pool_t *pool)
{
apr_hash_index_t *hi;
const svn_wc_entry_t *child_entry;
@@ -3689,19 +3688,20 @@
if (strcmp(URL1, URL2) == 0)
{
/* Merge children with differing merge info. */
- SVN_ERR(do_child_merges(children_with_mergeinfo,
- entry,
- URL1,
- path1,
- revision1,
- merge_cmd_baton.path,
- revision2,
- &peg_revision,
- recurse,
- ignore_ancestry,
- adm_access,
- &merge_cmd_baton,
- pool));
+ SVN_ERR(discover_and_merge_children_with_merge_info(
+ children_with_mergeinfo,
+ entry,
+ URL1,
+ path1,
+ revision1,
+ merge_cmd_baton.path,
+ revision2,
+ &peg_revision,
+ recurse,
+ ignore_ancestry,
+ adm_access,
+ &merge_cmd_baton,
+ pool));
}
/* Merge of the actual target.*/
@@ -3857,19 +3857,20 @@
else if (entry->kind == svn_node_dir)
{
/* Merge children with differing merge info. */
- SVN_ERR(do_child_merges(children_with_mergeinfo,
- entry,
- URL,
- path,
- revision1,
- path,
- revision2,
- peg_revision,
- recurse,
- ignore_ancestry,
- adm_access,
- &merge_cmd_baton,
- pool));
+ SVN_ERR(discover_and_merge_children_with_merge_info(
+ children_with_mergeinfo,
+ entry,
+ URL,
+ path,
+ revision1,
+ path,
+ revision2,
+ peg_revision,
+ recurse,
+ ignore_ancestry,
+ adm_access,
+ &merge_cmd_baton,
+ pool));
/* Merge of the actual target.*/
SVN_ERR(do_merge(URL,
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jan 25 10:07:52 2007