> -----Original Message-----
> From: stsp_at_apache.org [mailto:stsp_at_apache.org]
> Sent: vrijdag 21 mei 2010 1:44
> To: commits_at_subversion.apache.org
> Subject: svn commit: r946826 - in /subversion/branches/1.6.x-issue2267: ./
> CHANGES subversion/libsvn_wc/adm_crawler.c
>
> Author: stsp
> Date: Thu May 20 23:43:53 2010
> New Revision: 946826
>
> URL: http://svn.apache.org/viewvc?rev=946826&view=rev
> Log:
> On the 1.6.x-issue2267 branch, fix issue #2267, "support uncommitted
> svn:externals properties".
>
> This is technically a backport of r946661, but it had to be rewritten.
> So I've done a record-only merge of r946661 from ^/subversion/trunk
> to officially merry this commit to its husband on trunk.
>
> * subversion/libsvn_wc/adm_crawler.c
> (report_revisions_and_depths): If a locally added directory has
> an svn:externals property set on it, include the externals in
> traversal info. This makes our caller pull the externals into
> the locally added directory as part of the update.
>
> Modified:
> subversion/branches/1.6.x-issue2267/ (props changed)
> subversion/branches/1.6.x-issue2267/CHANGES (props changed)
> subversion/branches/1.6.x-
> issue2267/subversion/libsvn_wc/adm_crawler.c
>
> Propchange: subversion/branches/1.6.x-issue2267/
> ------------------------------------------------------------------------------
> --- svn:mergeinfo (original)
> +++ svn:mergeinfo Thu May 20 23:43:53 2010
> @@ -70,4 +70,4 @@
> /subversion/branches/tc_url_rev:874351-874483
> /subversion/branches/tree-conflicts:868291-873154
> /subversion/branches/tree-conflicts-notify:873926-874008
> -
> /subversion/trunk:875965,875968,876004,876012,876017,876019,876022,8760
> 24,876041-876042,876048,876051,876055-
> 876056,876059,876083,876091,876097,876101,876109,876123-
> 876125,876129,876132,876138,876160,876167,876175,876180,876185,876205,8
> 76223-
> 876225,876230,876233,876245,876252,876256,876283,876287,876312,876326-
> 876327,876330,876366,876372,876374,876376,876383,876386,876442,876456-
> 876457,876462-876464,876467,876469,876480,876486,876495-876497,876516-
> 876518,876524,876526,876583,876601,876614,876628,876633,876641,876659,8
> 76687,876689,876705,876715,876726,876760,876763,876794,876804,876815-
> 876816,876821,876825,876837,876840-876841,876843,876849,876857-
> 876858,876862,876873,876890,876897,876905,876908,876925,876931,876934,8
> 76948-876949,876953,876987,876993,877011,877014,877016,877028-
> 877029,877038,877119,877127,877146,877157,877191,877195,877203,877211,8
> 77230,877234,877237,877243,877249,877259,877261,877304,877319,877407,87
> 7437,877441-877442,877453,877459,877472,877544,877553,87756
>
> 5,877568,877573,877593,877595,877597,877601,877612,877665,877667,877681
> ,877692,877696,877701,877720,877730,877784,877793,877797,877809,877815,
> 877819,877821,877842,877848,877853,877867,877869,877873,877901,877909,8
> 77916,877931,877942,877953,877964,877968,877970,877981-
> 877982,878005,878013,878015,878020,878046,878053,878062,878074,878080,8
> 78089,878091,878093,878095,878127,878129,878131,878142,878173-
> 878176,878216,878240,878242,878255,878269,878272,878279,878296-
> 878297,878303,878321,878335,878338,878341,878343,878353,878364,878367-
> 878368,878385,878399,878423,878426,878462,878484,878491,878498,878532,8
> 78595,878646,878659,878673,878682-878683,878690-
> 878691,878693,878723,878760-
> 878761,878873,878875,878877,878879,878905,878915,878924-
> 878925,878946,878949,878955,878960,878970,878981,879001,879033,879056,8
> 79074,879076,879081-879082,879093,879105,879126,879148,879170,879198-
> 879199,879201,879271,879293,879357,879375-879376,879403,879631,879635-
> 879636,879688,879709-879711,879747,879954,
> 879961,880082,880095,880105,880162,880226,880274-
> 880275,880370,880450,880461,880474,880525-
> 880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,8
> 91672,892050,892085,895514,895653,896522,896915,898963,899826,899828,90
> 0797,901752,902093,904301,904394,904594,905303,905326,906256,906305,906
> 587,908980-
> 908981,917640,918211,922516,923389,923391,926151,926167,927323,927328,9
> 31209,931211,931392,931568,932942,933299
> +/subversion/trunk:875965,875968,876004,876012,876017,876019,876022,876
> 024,876041-876042,876048,876051,876055-
> 876056,876059,876083,876091,876097,876101,876109,876123-
> 876125,876129,876132,876138,876160,876167,876175,876180,876185,876205,8
> 76223-
> 876225,876230,876233,876245,876252,876256,876283,876287,876312,876326-
> 876327,876330,876366,876372,876374,876376,876383,876386,876442,876456-
> 876457,876462-876464,876467,876469,876480,876486,876495-876497,876516-
> 876518,876524,876526,876583,876601,876614,876628,876633,876641,876659,8
> 76687,876689,876705,876715,876726,876760,876763,876794,876804,876815-
> 876816,876821,876825,876837,876840-876841,876843,876849,876857-
> 876858,876862,876873,876890,876897,876905,876908,876925,876931,876934,8
> 76948-876949,876953,876987,876993,877011,877014,877016,877028-
> 877029,877038,877119,877127,877146,877157,877191,877195,877203,877211,8
> 77230,877234,877237,877243,877249,877259,877261,877304,877319,877407,87
> 7437,877441-877442,877453,877459,877472,877544,877553,87756
>
> 5,877568,877573,877593,877595,877597,877601,877612,877665,877667,877681
> ,877692,877696,877701,877720,877730,877784,877793,877797,877809,877815,
> 877819,877821,877842,877848,877853,877867,877869,877873,877901,877909,8
> 77916,877931,877942,877953,877964,877968,877970,877981-
> 877982,878005,878013,878015,878020,878046,878053,878062,878074,878080,8
> 78089,878091,878093,878095,878127,878129,878131,878142,878173-
> 878176,878216,878240,878242,878255,878269,878272,878279,878296-
> 878297,878303,878321,878335,878338,878341,878343,878353,878364,878367-
> 878368,878385,878399,878423,878426,878462,878484,878491,878498,878532,8
> 78595,878646,878659,878673,878682-878683,878690-
> 878691,878693,878723,878760-
> 878761,878873,878875,878877,878879,878905,878915,878924-
> 878925,878946,878949,878955,878960,878970,878981,879001,879033,879056,8
> 79074,879076,879081-879082,879093,879105,879126,879148,879170,879198-
> 879199,879201,879271,879293,879357,879375-879376,879403,879631,879635-
> 879636,879688,879709-879711,879747,879954,
> 879961,880082,880095,880105,880162,880226,880274-
> 880275,880370,880450,880461,880474,880525-
> 880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,8
> 91672,892050,892085,895514,895653,896522,896915,898963,899826,899828,90
> 0797,901752,902093,904301,904394,904594,905303,905326,906256,906305,906
> 587,908980-
> 908981,917640,918211,922516,923389,923391,926151,926167,927323,927328,9
> 31209,931211,931392,931568,932942,933299,946661
>
> Propchange: subversion/branches/1.6.x-issue2267/CHANGES
> ------------------------------------------------------------------------------
> --- svn:mergeinfo (original)
> +++ svn:mergeinfo Thu May 20 23:43:53 2010
> @@ -69,4 +69,4 @@
> /subversion/branches/tc_url_rev/CHANGES:874351-874483
> /subversion/branches/tree-conflicts/CHANGES:868291-873154
> /subversion/branches/tree-conflicts-notify/CHANGES:873926-874008
> -/subversion/trunk/CHANGES:837701-841355,875962-934485
> +/subversion/trunk/CHANGES:837701-841355,875962-934485,946661
>
> Modified: subversion/branches/1.6.x-
> issue2267/subversion/libsvn_wc/adm_crawler.c
> URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-
> issue2267/subversion/libsvn_wc/adm_crawler.c?rev=946826&r1=946825&r2
> =946826&view=diff
> ==========================================================
> ====================
> --- subversion/branches/1.6.x-
> issue2267/subversion/libsvn_wc/adm_crawler.c (original)
> +++ subversion/branches/1.6.x-
> issue2267/subversion/libsvn_wc/adm_crawler.c Thu May 20 23:43:53 2010
> @@ -353,9 +353,34 @@ report_revisions_and_depths(svn_wc_adm_a
> missing = TRUE;
> }
>
> - /* From here on out, ignore any entry scheduled for addition */
> if (current_entry->schedule == svn_wc_schedule_add)
> - continue;
> + {
> + /* If an added dir has "svn:externals" property set on it,
> + * store its name and depth in traversal_info. */
> + if (traversal_info && current_entry->kind == svn_node_dir)
> + {
> + const svn_string_t *propval;
> + SVN_ERR(svn_wc_prop_get(&propval, SVN_PROP_EXTERNALS,
> + this_full_path, adm_access, subpool));
> + if (propval)
> + {
> + apr_pool_t *dup_pool = traversal_info->pool;
> + const char *dup_path = apr_pstrdup(dup_pool, this_full_path);
> + const char *dup_val = apr_pstrmemdup(dup_pool, propval->data,
> + propval->len);
> + apr_hash_set(traversal_info->externals_old,
> + dup_path, APR_HASH_KEY_STRING, dup_val);
> + apr_hash_set(traversal_info->externals_new,
> + dup_path, APR_HASH_KEY_STRING, dup_val);
> + apr_hash_set(traversal_info->depths,
> + dup_path, APR_HASH_KEY_STRING,
> + svn_depth_to_word(current_entry->depth));
> + }
> + }
> +
> + /* From here on out, ignore any entry scheduled for addition */
> + continue;
> + }
This code doesn't match r946661: It doesn't look at the children (or the descendants) of the added node.
It also changes the behavior of this public function; I can't say if this needs revving or not, but it can certainly use a few extra pairs of eyes to check.
Bert
Received on 2010-05-21 12:38:53 CEST