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/10/11 15:50:26 UTC
svn commit: r1397052 - in /subversion/trunk/subversion/libsvn_wc:
conflicts.c entries.c info.c tree_conflicts.c wc.h
Author: rhuijben
Date: Thu Oct 11 13:50:25 2012
New Revision: 1397052
URL: http://svn.apache.org/viewvc?rev=1397052&view=rev
Log:
Make the creation of temporary files for inclusion in
svn_wc_conflict_description2_t optional to avoid creating
the property tempfiles when just reading a tree conflict.
* subversion/libsvn_wc/conflicts.c
(read_prop_conflicts,
svn_wc__read_conflicts): Make creating property tempfiles optional.
(conflict_status_walker): Update caller.
* subversion/libsvn_wc/entries.c
(read_one_entry): Update caller.
* subversion/libsvn_wc/info.c
(build_info_for_node,
svn_wc__get_info): Update caller.
* subversion/libsvn_wc/tree_conflicts.c
(svn_wc__get_tree_conflict): Update caller.
* subversion/libsvn_wc/wc.h
(svn_wc__read_conflicts): Update prototype.
Modified:
subversion/trunk/subversion/libsvn_wc/conflicts.c
subversion/trunk/subversion/libsvn_wc/entries.c
subversion/trunk/subversion/libsvn_wc/info.c
subversion/trunk/subversion/libsvn_wc/tree_conflicts.c
subversion/trunk/subversion/libsvn_wc/wc.h
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1397052&r1=1397051&r2=1397052&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Thu Oct 11 13:50:25 2012
@@ -1912,13 +1912,19 @@ svn_wc__conflict_invoke_resolver(svn_wc_
/* Read all property conflicts contained in CONFLICT_SKEL into
* individual conflict descriptions, and append those descriptions
- * to the CONFLICTS array. Allocate results in RESULT_POOL.
- * SCRATCH_POOL is used for temporary allocations. */
+ * to the CONFLICTS array.
+ *
+ * If NOT create_tempfiles, always create a legacy property conflict
+ * descriptor.
+ *
+ * Allocate results in RESULT_POOL. SCRATCH_POOL is used for temporary
+ * allocations. */
static svn_error_t *
read_prop_conflicts(apr_array_header_t *conflicts,
svn_wc__db_t *db,
const char *local_abspath,
svn_skel_t *conflict_skel,
+ svn_boolean_t create_tempfiles,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
@@ -1939,7 +1945,7 @@ read_prop_conflicts(apr_array_header_t *
conflict_skel,
scratch_pool, scratch_pool));
- if (apr_hash_count(conflicted_props) == 0)
+ if ((! create_tempfiles) || apr_hash_count(conflicted_props) == 0)
{
/* Legacy prop conflict with only a .reject file. */
svn_wc_conflict_description2_t *desc;
@@ -2061,6 +2067,7 @@ svn_error_t *
svn_wc__read_conflicts(const apr_array_header_t **conflicts,
svn_wc__db_t *db,
const char *local_abspath,
+ svn_boolean_t create_tempfiles,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
@@ -2093,6 +2100,7 @@ svn_wc__read_conflicts(const apr_array_h
if (prop_conflicted)
SVN_ERR(read_prop_conflicts(cflcts, db, local_abspath, conflict_skel,
+ create_tempfiles,
result_pool, scratch_pool));
if (text_conflicted)
@@ -2575,7 +2583,7 @@ conflict_status_walker(void *baton,
iterpool = svn_pool_create(scratch_pool);
- SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath, TRUE,
scratch_pool, iterpool));
for (i = 0; i < conflicts->nelts; i++)
Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1397052&r1=1397051&r2=1397052&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Thu Oct 11 13:50:25 2012
@@ -455,6 +455,7 @@ read_one_entry(const svn_wc_entry_t **ne
SVN_ERR(svn_wc__read_conflicts(&child_conflicts,
db, child_abspath,
+ FALSE /* create tempfiles */,
scratch_pool, scratch_pool));
for (j = 0; j < child_conflicts->nelts; j++)
Modified: subversion/trunk/subversion/libsvn_wc/info.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/info.c?rev=1397052&r1=1397051&r2=1397052&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/info.c (original)
+++ subversion/trunk/subversion/libsvn_wc/info.c Thu Oct 11 13:50:25 2012
@@ -281,6 +281,7 @@ build_info_for_node(svn_wc__info2_t **in
if (conflicted)
SVN_ERR(svn_wc__read_conflicts(&wc_info->conflicts, db,
local_abspath,
+ TRUE /* ### create tempfiles */,
result_pool, scratch_pool));
else
wc_info->conflicts = NULL;
@@ -526,6 +527,7 @@ svn_wc__get_info(svn_wc_context_t *wc_ct
SVN_ERR(svn_wc__read_conflicts(&info->wc_info->conflicts,
wc_ctx->db, this_abspath,
+ TRUE /* ### create tempfiles */,
iterpool, iterpool));
if (! info->wc_info->conflicts || ! info->wc_info->conflicts->nelts)
Modified: subversion/trunk/subversion/libsvn_wc/tree_conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/tree_conflicts.c?rev=1397052&r1=1397051&r2=1397052&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/tree_conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/tree_conflicts.c Thu Oct 11 13:50:25 2012
@@ -472,7 +472,7 @@ svn_wc__get_tree_conflict(const svn_wc_c
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
SVN_ERR(svn_wc__read_conflicts(&conflicts,
- wc_ctx->db, local_abspath,
+ wc_ctx->db, local_abspath, FALSE,
scratch_pool, scratch_pool));
if (!conflicts || conflicts->nelts == 0)
Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1397052&r1=1397051&r2=1397052&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Thu Oct 11 13:50:25 2012
@@ -708,6 +708,8 @@ svn_wc__write_check(svn_wc__db_t *db,
*
* Victim must be versioned or be part of a tree conflict.
*
+ * If CREATE_TEMPFILES is TRUE, create temporary files for property conflicts.
+ *
* Allocate *CONFLICTS in RESULT_POOL and do temporary allocations in
* SCRATCH_POOL
*/
@@ -715,6 +717,7 @@ svn_error_t *
svn_wc__read_conflicts(const apr_array_header_t **conflicts,
svn_wc__db_t *db,
const char *local_abspath,
+ svn_boolean_t create_tempfiles,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);