> -----Original Message----- > From: s...@apache.org [mailto:s...@apache.org] > Sent: vrijdag 21 mei 2010 1:44 > To: comm...@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