You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2012/06/29 21:22:47 UTC
svn commit: r1355519 - in /subversion/trunk/subversion: libsvn_wc/
tests/libsvn_wc/
Author: rhuijben
Date: Fri Jun 29 19:22:44 2012
New Revision: 1355519
URL: http://svn.apache.org/viewvc?rev=1355519&view=rev
Log:
Following up on the recent introduction of the conflict skel as in-memory
conflict exchange, we can now just install the conflict data from the
conflict skel instead of installing a workqueue item that will perform
that change later.
* subversion/libsvn_wc/conflicts.c
(svn_wc__conflict_skel_is_complete): Operate on const skel.
(svn_wc__conflict_create_markers): Stop creating conflict install wq items.
Note a specific corner case that needs further review.
Store the right path as property conflict marker file.
* subversion/libsvn_wc/conflicts.h
(svn_wc__conflict_skel_is_complete): Mark skel argument as const.
* subversion/libsvn_wc/externals.c
(close_file): Pass conflict.
* subversion/libsvn_wc/merge.c
(svn_wc_merge5): Pass conflict or install conflict directly before running
the wq. (Should move to single operation)
* subversion/libsvn_wc/props.c
(svn_wc__perform_props_merge): Pass conflict.
* subversion/libsvn_wc/update_editor.c
(close_directory,
close_file): Pass conflict.
* subversion/libsvn_wc/wc_db.c
(insert_working_baton_t): Add conflict.
(mark_conflict): Add prototype.
(insert_base_node,
insert_working_node): Enable installing conflict.
(svn_wc__db_external_add_file): Pass conflict.
(svn_wc__db_op_copy_dir,
svn_wc__db_op_copy_file,
svn_wc__db_op_copy_symlink,
set_props_txn): Remove assertion. Pass conflict.
* subversion/libsvn_wc/wc_db.h
(svn_wc__db_external_add_file): Add conflict argument.
* subversion/libsvn_wc/workqueue.c
(svn_wc__wq_tmp_build_set_text_conflict_markers,
svn_wc__wq_tmp_build_set_property_conflict_marker): Remove function.
* subversion/libsvn_wc/workqueue.h
(svn_wc__wq_tmp_build_set_text_conflict_markers,
svn_wc__wq_tmp_build_set_property_conflict_marker): Remove function.
* subversion/tests/libsvn_wc/db-test.c
(test_externals_store): Update caller.
Modified:
subversion/trunk/subversion/libsvn_wc/conflicts.c
subversion/trunk/subversion/libsvn_wc/conflicts.h
subversion/trunk/subversion/libsvn_wc/externals.c
subversion/trunk/subversion/libsvn_wc/merge.c
subversion/trunk/subversion/libsvn_wc/props.c
subversion/trunk/subversion/libsvn_wc/update_editor.c
subversion/trunk/subversion/libsvn_wc/wc_db.c
subversion/trunk/subversion/libsvn_wc/wc_db.h
subversion/trunk/subversion/libsvn_wc/workqueue.c
subversion/trunk/subversion/libsvn_wc/workqueue.h
subversion/trunk/subversion/tests/libsvn_wc/db-test.c
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Fri Jun 29 19:22:44 2012
@@ -73,7 +73,7 @@ svn_wc__conflict_skel_create(apr_pool_t
svn_error_t *
svn_wc__conflict_skel_is_complete(svn_boolean_t *complete,
- svn_skel_t *conflict_skel)
+ const svn_skel_t *conflict_skel)
{
*complete = FALSE;
@@ -739,8 +739,6 @@ svn_wc__conflict_create_markers(svn_skel
if (prop_conflict)
{
- svn_skel_t *work_item;
-
/* Ok, currently we have to do a few things for property conflicts:
- Create a marker file
- Create a WQ item that sets the marker name
@@ -749,9 +747,13 @@ svn_wc__conflict_create_markers(svn_skel
This can be simplified once we really store conflict_skel in wc.db */
const char *marker_abspath;
+ const char *marker_relpath;
/* ### as the legacy code, check if we already have a prejfile.
- Probably never returns anything useful. */
+
+ ### Triggered by merge_tests.py 90 on a double property merge.
+ ### Needs further review as we will probably loose the original
+ ### conflict by overwriting. (Legacy issue) */
SVN_ERR(svn_wc__get_prejfile_abspath(&marker_abspath, db, local_abspath,
scratch_pool, scratch_pool));
@@ -760,7 +762,6 @@ svn_wc__conflict_create_markers(svn_skel
svn_node_kind_t kind;
const char *marker_dir;
const char *marker_name;
- const char *marker_relpath;
SVN_ERR(svn_io_check_path(local_abspath, &kind, scratch_pool));
@@ -779,23 +780,14 @@ svn_wc__conflict_create_markers(svn_skel
SVN_WC__PROP_REJ_EXT,
svn_io_file_del_none,
scratch_pool, scratch_pool));
+ }
+ SVN_ERR(svn_wc__db_to_relpath(&marker_relpath, db, local_abspath,
+ marker_abspath, result_pool, result_pool));
- SVN_ERR(svn_wc__wq_tmp_build_set_property_conflict_marker(
- work_items,
- db, local_abspath,
- marker_abspath,
- scratch_pool,
- scratch_pool));
-
- SVN_ERR(svn_wc__db_to_relpath(&marker_relpath, db, local_abspath,
- local_abspath,
- result_pool, result_pool));
-
- /* And store the marker in the skel */
- svn_skel__prepend_str(marker_relpath, prop_conflict->children->next,
- result_pool);
- }
+ /* And store the marker in the skel */
+ svn_skel__prepend_str(marker_relpath, prop_conflict->children->next,
+ result_pool);
/* Store the data in the WQ item in the same format used as 1.7.
Once we store the data in DB it is easier to just read it back
@@ -860,12 +852,10 @@ svn_wc__conflict_create_markers(svn_skel
result_pool, scratch_pool);
}
- SVN_ERR(svn_wc__wq_build_prej_install(&work_item,
+ SVN_ERR(svn_wc__wq_build_prej_install(work_items,
db, local_abspath,
prop_data,
scratch_pool, scratch_pool));
-
- *work_items = svn_wc__wq_merge(*work_items, work_item, scratch_pool);
}
}
@@ -877,7 +867,6 @@ svn_wc__conflict_create_markers(svn_skel
const char *mine_abspath;
const char *their_original_abspath;
const char *their_abspath;
- svn_skel_t *work_item;
SVN_ERR(svn_wc__conflict_read_text_conflict(&mine_abspath,
&their_original_abspath,
@@ -885,12 +874,6 @@ svn_wc__conflict_create_markers(svn_skel
db, local_abspath,
conflict_skel,
scratch_pool, scratch_pool));
-
- SVN_ERR(svn_wc__wq_tmp_build_set_text_conflict_markers(
- &work_item, db, local_abspath,
- their_original_abspath, their_abspath, mine_abspath,
- result_pool, scratch_pool));
- *work_items = svn_wc__wq_merge(*work_items, work_item, result_pool);
}
return SVN_NO_ERROR;
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.h?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.h (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.h Fri Jun 29 19:22:44 2012
@@ -71,7 +71,7 @@ svn_wc__conflict_skel_create(apr_pool_t
*/
svn_error_t *
svn_wc__conflict_skel_is_complete(svn_boolean_t *complete,
- svn_skel_t *conflict_skel);
+ const svn_skel_t *conflict_skel);
/* Set 'update' as the conflicting operation in CONFLICT_SKEL.
Modified: subversion/trunk/subversion/libsvn_wc/externals.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/externals.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/externals.c (original)
+++ subversion/trunk/subversion/libsvn_wc/externals.c Fri Jun 29 19:22:44 2012
@@ -821,6 +821,7 @@ close_file(void *file_baton,
eb->recorded_revision,
TRUE, new_actual_props,
FALSE /* keep_recorded_info */,
+ conflict_skel,
all_work_items,
pool));
Modified: subversion/trunk/subversion/libsvn_wc/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/merge.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/merge.c (original)
+++ subversion/trunk/subversion/libsvn_wc/merge.c Fri Jun 29 19:22:44 2012
@@ -1224,10 +1224,17 @@ svn_wc_merge5(enum svn_wc_merge_outcome_
SVN_ERR(svn_wc__db_op_set_props(wc_ctx->db, target_abspath,
new_actual_props,
svn_wc__has_magic_property(prop_diff),
- NULL, work_items, scratch_pool));
+ conflict_skel, work_items,
+ scratch_pool));
else
- SVN_ERR(svn_wc__db_wq_add(wc_ctx->db, target_abspath, work_items,
- scratch_pool));
+ {
+ if (conflict_skel)
+ SVN_ERR(svn_wc__db_op_mark_conflict(wc_ctx->db, target_abspath,
+ conflict_skel, scratch_pool));
+
+ SVN_ERR(svn_wc__db_wq_add(wc_ctx->db, target_abspath, work_items,
+ scratch_pool));
+ }
SVN_ERR(svn_wc__wq_run(wc_ctx->db, target_abspath,
cancel_func, cancel_baton,
scratch_pool));
Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Fri Jun 29 19:22:44 2012
@@ -362,7 +362,7 @@ svn_wc__perform_props_merge(svn_wc_notif
SVN_ERR(svn_wc__db_op_set_props(db, local_abspath, new_actual_props,
svn_wc__has_magic_property(propchanges),
- NULL /* conflict */,
+ conflict_skel,
work_items,
scratch_pool));
Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Fri Jun 29 19:22:44 2012
@@ -2975,7 +2975,7 @@ close_directory(void *dir_baton,
(dav_prop_changes->nelts > 0)
? svn_prop_array_to_hash(dav_prop_changes, pool)
: NULL,
- NULL /* conflict */,
+ conflict_skel,
(! db->shadowed) && new_base_props != NULL,
new_actual_props,
all_work_items,
@@ -4579,7 +4579,7 @@ close_file(void *file_baton,
dav_prop_changes,
scratch_pool)
: NULL,
- NULL /* conflict */,
+ conflict_skel,
(! fb->shadowed) && new_base_props,
new_actual_props,
keep_recorded_info,
Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Fri Jun 29 19:22:44 2012
@@ -215,6 +215,9 @@ typedef struct insert_working_baton_t {
/* may have work items to queue in this transaction */
const svn_skel_t *work_items;
+ /* may have conflict to install in this transaction */
+ const svn_skel_t *conflict;
+
/* If the value is > 0 and < op_depth, also insert a not-present
at op-depth NOT_PRESENT_OP_DEPTH, based on this same information */
int not_present_op_depth;
@@ -321,6 +324,12 @@ temp_op_set_prop_conflict_marker_file(sv
apr_pool_t *scratch_pool);
static svn_error_t *
+mark_conflict(svn_wc__db_wcroot_t *wcroot,
+ const char *local_relpath,
+ const svn_skel_t *conflict_skel,
+ apr_pool_t *scratch_pool);
+
+static svn_error_t *
insert_incomplete_children(svn_sqlite__db_t *sdb,
apr_int64_t wc_id,
const char *local_relpath,
@@ -749,9 +758,6 @@ insert_base_node(void *baton,
SVN_ERR_ASSERT(repos_id != INVALID_REPOS_ID);
SVN_ERR_ASSERT(pibb->repos_relpath != NULL);
- /* ### we can't handle this right now */
- SVN_ERR_ASSERT(pibb->conflict == NULL);
-
if (pibb->keep_recorded_info)
{
svn_boolean_t have_row;
@@ -767,6 +773,8 @@ insert_base_node(void *baton,
}
SVN_ERR(svn_sqlite__reset(stmt));
}
+ if (pibb->conflict)
+ SVN_ERR(mark_conflict(wcroot, local_relpath, pibb->conflict, scratch_pool));
SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb, STMT_INSERT_NODE));
SVN_ERR(svn_sqlite__bindf(stmt, "isdsisr"
@@ -1069,6 +1077,9 @@ insert_working_node(void *baton,
SVN_ERR(svn_sqlite__step_done(stmt));
}
+ if (piwb->conflict)
+ SVN_ERR(mark_conflict(wcroot, local_relpath, piwb->conflict,
+ scratch_pool));
SVN_ERR(add_work_items(wcroot->sdb, piwb->work_items, scratch_pool));
if (piwb->not_present_op_depth > 0
@@ -2753,6 +2764,7 @@ svn_wc__db_external_add_file(svn_wc__db_
apr_hash_t *new_actual_props,
svn_boolean_t keep_recorded_info,
+ const svn_skel_t *conflict,
const svn_skel_t *work_items,
apr_pool_t *scratch_pool)
{
@@ -2809,6 +2821,7 @@ svn_wc__db_external_add_file(svn_wc__db_
ieb.keep_recorded_info = keep_recorded_info;
+ ieb.conflict = conflict;
ieb.work_items = work_items;
return svn_error_trace(
@@ -4324,7 +4337,6 @@ svn_wc__db_op_copy_dir(svn_wc__db_t *db,
#if 0
SVN_ERR_ASSERT(children != NULL);
#endif
- SVN_ERR_ASSERT(conflict == NULL); /* ### can't handle yet */
SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
local_abspath, scratch_pool, scratch_pool));
@@ -4360,6 +4372,7 @@ svn_wc__db_op_copy_dir(svn_wc__db_t *db,
iwb.depth = depth;
iwb.work_items = work_items;
+ iwb.conflict = conflict;
SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, insert_working_node, &iwb,
scratch_pool));
@@ -4399,7 +4412,6 @@ svn_wc__db_op_copy_file(svn_wc__db_t *db
|| (original_repos_relpath && original_root_url
&& original_uuid && checksum
&& original_revision != SVN_INVALID_REVNUM));
- SVN_ERR_ASSERT(conflict == NULL); /* ### can't handle yet */
SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
local_abspath, scratch_pool, scratch_pool));
@@ -4434,6 +4446,7 @@ svn_wc__db_op_copy_file(svn_wc__db_t *db
iwb.checksum = checksum;
iwb.work_items = work_items;
+ iwb.conflict = conflict;
SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, insert_working_node, &iwb,
scratch_pool));
@@ -4468,7 +4481,6 @@ svn_wc__db_op_copy_symlink(svn_wc__db_t
/* ### any assertions for CHANGED_* ? */
/* ### any assertions for ORIGINAL_* ? */
SVN_ERR_ASSERT(target != NULL);
- SVN_ERR_ASSERT(conflict == NULL); /* ### can't handle yet */
SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
local_abspath, scratch_pool, scratch_pool));
@@ -4503,6 +4515,7 @@ svn_wc__db_op_copy_symlink(svn_wc__db_t
iwb.target = target;
iwb.work_items = work_items;
+ iwb.conflict = conflict;
SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, insert_working_node, &iwb,
scratch_pool));
@@ -4729,12 +4742,12 @@ set_props_txn(void *baton,
struct set_props_baton_t *spb = baton;
apr_hash_t *pristine_props;
- /* ### we dunno what to do with CONFLICT yet. */
- SVN_ERR_ASSERT(spb->conflict == NULL);
-
/* First order of business: insert all the work items. */
SVN_ERR(add_work_items(wcroot->sdb, spb->work_items, scratch_pool));
+ if (spb->conflict)
+ SVN_ERR(mark_conflict(wcroot, local_relpath, spb->conflict, scratch_pool));
+
/* Check if the props are modified. If no changes, then wipe out the
ACTUAL props. PRISTINE_PROPS==NULL means that any
ACTUAL props are okay as provided, so go ahead and set them. */
Modified: subversion/trunk/subversion/libsvn_wc/wc_db.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.h?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.h Fri Jun 29 19:22:44 2012
@@ -1017,6 +1017,7 @@ svn_wc__db_external_add_file(svn_wc__db_
apr_hash_t *new_actual_props,
svn_boolean_t keep_recorded_info,
+ const svn_skel_t *conflict,
const svn_skel_t *work_items,
apr_pool_t *scratch_pool);
Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Fri Jun 29 19:22:44 2012
@@ -1384,51 +1384,6 @@ run_set_text_conflict_markers(svn_wc__db
return SVN_NO_ERROR;
}
-svn_error_t *
-svn_wc__wq_tmp_build_set_text_conflict_markers(svn_skel_t **work_item,
- svn_wc__db_t *db,
- const char *local_abspath,
- const char *old_abspath,
- const char *new_abspath,
- const char *wrk_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool)
-{
- const char *local_relpath;
- *work_item = svn_skel__make_empty_list(result_pool);
-
- SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
-
- /* Abspaths in the workqueue won't work if the WC is moved. */
- if (wrk_abspath)
- SVN_ERR(svn_wc__db_to_relpath(&local_relpath, db, local_abspath,
- wrk_abspath, result_pool, scratch_pool));
-
- svn_skel__prepend_str(wrk_abspath ? local_relpath : "",
- *work_item, result_pool);
-
- if (new_abspath)
- SVN_ERR(svn_wc__db_to_relpath(&local_relpath, db, local_abspath,
- new_abspath, result_pool, scratch_pool));
- svn_skel__prepend_str(new_abspath ? local_relpath : "",
- *work_item, result_pool);
-
- if (old_abspath)
- SVN_ERR(svn_wc__db_to_relpath(&local_relpath, db, local_abspath,
- old_abspath, result_pool, scratch_pool));
- svn_skel__prepend_str(old_abspath ? local_relpath : "",
- *work_item, result_pool);
-
- SVN_ERR(svn_wc__db_to_relpath(&local_relpath, db, local_abspath,
- local_abspath, result_pool, scratch_pool));
-
- svn_skel__prepend_str(local_relpath, *work_item, result_pool);
- svn_skel__prepend_str(OP_TMP_SET_TEXT_CONFLICT_MARKERS, *work_item,
- result_pool);
-
- return SVN_NO_ERROR;
-}
-
/* ------------------------------------------------------------------------ */
/* OP_TMP_SET_PROPERTY_CONFLICT_MARKER */
@@ -1515,36 +1470,6 @@ run_set_property_conflict_marker(svn_wc_
return SVN_NO_ERROR;
}
-svn_error_t *
-svn_wc__wq_tmp_build_set_property_conflict_marker(svn_skel_t **work_item,
- svn_wc__db_t *db,
- const char *local_abspath,
- const char *prej_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool)
-{
- const char *local_relpath;
- *work_item = svn_skel__make_empty_list(result_pool);
-
- SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
-
- if (prej_abspath)
- SVN_ERR(svn_wc__db_to_relpath(&local_relpath, db, local_abspath,
- prej_abspath, result_pool, scratch_pool));
-
- svn_skel__prepend_str(prej_abspath ? local_relpath : "",
- *work_item, result_pool);
-
- SVN_ERR(svn_wc__db_to_relpath(&local_relpath, db, local_abspath,
- local_abspath, result_pool, scratch_pool));
-
- svn_skel__prepend_str(local_relpath, *work_item, result_pool);
- svn_skel__prepend_str(OP_TMP_SET_PROPERTY_CONFLICT_MARKER, *work_item,
- result_pool);
-
- return SVN_NO_ERROR;
-}
-
/* ------------------------------------------------------------------------ */
static const struct work_item_dispatch dispatch_table[] = {
Modified: subversion/trunk/subversion/libsvn_wc/workqueue.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.h?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.h (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.h Fri Jun 29 19:22:44 2012
@@ -200,47 +200,6 @@ svn_wc__wq_build_base_remove(svn_skel_t
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
-
-/* ### Temporary helper to store text conflict marker locations as a wq
- ### operation. Eventually the data must be stored in the pristine store+db
- ### before the wq runs (within the operation transaction) and then a wq
- ### operation will create the markers.
-
- Set *WORK_ITEM to a new work item that sets the conflict marker values
- on ACTUAL_NODE to the passed values or to NULL if NULL is passed.
-
- Allocate the result in RESULT_POOL and perform temporary allocations
- in SCRATCH_POOL
-*/
-svn_error_t *
-svn_wc__wq_tmp_build_set_text_conflict_markers(svn_skel_t **work_item,
- svn_wc__db_t *db,
- const char *local_abspath,
- const char *old_abspath,
- const char *new_abspath,
- const char *wrk_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
-
-/* ### Temporary helper to store the property conflict marker location as a wq
- ### operation. Eventually the data must be stored in the pristine store+db
- ### before the wq runs (within the operation transaction) and then a wq
- ### operation will create the marker.
-
- Set *WORK_ITEM to a new work item that sets the conflict marker values
- on ACTUAL_NODE to the passed values or to NULL if NULL is passed.
-
- Allocate the result in RESULT_POOL and perform temporary allocations
- in SCRATCH_POOL
-*/
-svn_error_t *
-svn_wc__wq_tmp_build_set_property_conflict_marker(svn_skel_t **work_item,
- svn_wc__db_t *db,
- const char *local_abspath,
- const char *prej_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
-
/* Handle the final post-commit step of retranslating and recording the
working copy state of a committed file.
Modified: subversion/trunk/subversion/tests/libsvn_wc/db-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/db-test.c?rev=1355519&r1=1355518&r2=1355519&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/db-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/db-test.c Fri Jun 29 19:22:44 2012
@@ -1416,6 +1416,7 @@ test_externals_store(apr_pool_t *pool)
FALSE, NULL,
FALSE,
NULL,
+ NULL,
pool));
SVN_ERR(svn_wc__db_external_add_dir(db,