Author: julianfoad
Date: Thu Dec 6 23:49:15 2012
New Revision: 1418137
URL: http://svn.apache.org/viewvc?rev=1418137&view=rev
Log:
* subversion/libsvn_wc/props.h
(svn_wc__merge_props): Tweak the documentation.
* subversion/libsvn_wc/props.h
(svn_wc__internal_merge): Improve the documentation.
Modified:
subversion/trunk/subversion/libsvn_wc/props.h
subversion/trunk/subversion/libsvn_wc/wc.h
Modified: subversion/trunk/subversion/libsvn_wc/props.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.h?rev=1418137&r1=1418136&r2=1418137&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.h (original)
+++ subversion/trunk/subversion/libsvn_wc/props.h Thu Dec 6 23:49:15 2012
@@ -84,9 +84,10 @@ svn_wc__internal_propget(const svn_strin
PRISTINE_PROPS and return the new set of pristine properties in
*NEW_PRISTINE_PROPS.
- Return any conflicts of the actual props in *CONFLICT_SKEL. (Changes
- made to the pristine properties, if BASE_MERGE is TRUE, do not
- generate conficts.)
+ Append any conflicts of the actual props to *CONFLICT_SKEL. (First
+ allocate *CONFLICT_SKEL from RESULT_POOL if it is initially NULL.
+ CONFLICT_SKEL itself must not be NULL.) (Changes made to the pristine
+ properties, if BASE_MERGE is TRUE, do not generate conficts.)
If STATE is non-null, set *STATE to the state of the local properties
after the merge. */
Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1418137&r1=1418136&r2=1418137&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Thu Dec 6 23:49:15 2012
@@ -388,17 +388,24 @@ svn_wc__internal_file_modified_p(svn_boo
apr_pool_t *scratch_pool);
-/* Merge the difference between LEFT_ABSPATH and RIGHT_ABSPATH into
- TARGET_ABSPATH, return the appropriate work queue operations in
- *WORK_ITEMS.
-
- Note that, in the case of updating, the update can have sent new
- properties, which could affect the way the wc target is
- detranslated and compared with LEFT and RIGHT for merging.
-
- The merge result is stored in *MERGE_OUTCOME and merge conflicts
- are marked in MERGE_RESULT using LEFT_LABEL, RIGHT_LABEL and
- TARGET_LABEL.
+/* Prepare to merge a file content change into the working copy. This
+ does not merge properties; see svn_wc__merge_props() for that. This
+ ### [does | does not]
+ change the working file on disk as well as returning work items.
+
+ Merge the difference between LEFT_ABSPATH and RIGHT_ABSPATH into
+ TARGET_ABSPATH.
+
+ Set *WORK_ITEMS to the appropriate work queue operations.
+
+ If there are any conflicts, append a conflict description to
+ *CONFLICT_SKEL. (First allocate *CONFLICT_SKEL from RESULT_POOL if
+ it is initially NULL. CONFLICT_SKEL itself must not be NULL.)
+ Also, unless it is considered to be a 'binary' file, mark any
+ conflicts in the text of the file TARGET_ABSPATH using LEFT_LABEL,
+ RIGHT_LABEL and TARGET_LABEL.
+
+ Set *MERGE_OUTCOME to indicate the result.
When DRY_RUN is true, no actual changes are made to the working copy.
@@ -412,11 +419,17 @@ svn_wc__internal_file_modified_p(svn_boo
retrieved. (Interesting for merging file externals).
ACTUAL_PROPS is the set of actual properties before merging; used for
- detranslating the file before merging.
+ detranslating the file before merging. This is necessary because, in
+ the case of updating, the update can have sent new properties, so we
+ cannot simply fetch and use the current actual properties.
+
+ ### Is ACTUAL_PROPS still necessary, now that we first prepare the
+ content change and property change and then apply them both to
+ the WC together?
Property changes sent by the update are provided in PROP_DIFF.
- For a complete description, see svn_wc_merge3() for which this is
+ For a complete description, see svn_wc_merge5() for which this is
the (loggy) implementation.
*WORK_ITEMS will be allocated in RESULT_POOL. All temporary allocations