svn commit: r1236099 - /subversion/trunk/subversion/libsvn_ra_neon/session.c
Author: rhuijben Date: Thu Jan 26 09:08:55 2012 New Revision: 1236099 URL: http://svn.apache.org/viewvc?rev=1236099view=rev Log: Following up on r1235831, apply the same change to neon: Improve the handle of the ssl-authority-files config option: allow leading and trailing whitespace on the filenames to make it easier for the user to format the list of files. In 1.7.x neon is still our default dav transport layer. * subversion/libsvn_ra_neon/session.c (svn_ra_neon__open): switch to svn_cstring_split() and use its builtin param to trim whitespace. then process the resulting array. Modified: subversion/trunk/subversion/libsvn_ra_neon/session.c Modified: subversion/trunk/subversion/libsvn_ra_neon/session.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_neon/session.c?rev=1236099r1=1236098r2=1236099view=diff == --- subversion/trunk/subversion/libsvn_ra_neon/session.c (original) +++ subversion/trunk/subversion/libsvn_ra_neon/session.c Thu Jan 26 09:08:55 2012 @@ -985,12 +985,15 @@ svn_ra_neon__open(svn_ra_session_t *sess if (authorities != NULL) { - char *files, *file; - files = apr_pstrdup(pool, authorities); + int i; + apr_array_header_t *files = svn_cstring_split(authorities, ;, TRUE, +pool); - while ((file = svn_cstring_tokenize(;, files)) != NULL) + for (i = 0; i files-nelts; ++i) { ne_ssl_certificate *ca_cert; + const char *file = APR_ARRAY_IDX(files, i, const char *); + ca_cert = ne_ssl_cert_read(file); if (ca_cert == NULL) {
svn commit: r1236105 - /subversion/branches/1.7.x/STATUS
Author: rhuijben Date: Thu Jan 26 09:12:45 2012 New Revision: 1236105 URL: http://svn.apache.org/viewvc?rev=1236105view=rev Log: * STATUS: Add r1236099 to the r1232413 group Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236105r1=1236104r2=1236105view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 09:12:45 2012 @@ -145,10 +145,16 @@ Candidate changes: Votes: +1: rhuijben, steveking - * r1232413 + * r1232413, r1236099 Improve server certificate error collection code. + Notes: + r1232413 updates serf. + r1236099 updates neon. + The changes are independent, but as it changes how the config file + behaves, I think both should be applied at the same time. (rhuijben) Votes: - +1: rhuijben, gstein + +1: gstein (without r1236099) + +1: rhuijben Veto-blocked changes: =
svn commit: r1236139 - /subversion/branches/1.7.x/STATUS
Author: gstein Date: Thu Jan 26 11:14:32 2012 New Revision: 1236139 URL: http://svn.apache.org/viewvc?rev=1236139view=rev Log: go, Bert Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236139r1=1236138r2=1236139view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 11:14:32 2012 @@ -153,8 +153,7 @@ Candidate changes: The changes are independent, but as it changes how the config file behaves, I think both should be applied at the same time. (rhuijben) Votes: - +1: gstein (without r1236099) - +1: rhuijben + +1: rhuijben, gstein Veto-blocked changes: =
svn commit: r1236160 - /subversion/trunk/subversion/tests/cmdline/svntest/factory.py
Author: neels Date: Thu Jan 26 12:40:54 2012 New Revision: 1236160 URL: http://svn.apache.org/viewvc?rev=1236160view=rev Log: * subversion/tests/cmdline/svntest/factory.py: Do not use '.', use 'wc_dir'. Modified: subversion/trunk/subversion/tests/cmdline/svntest/factory.py Modified: subversion/trunk/subversion/tests/cmdline/svntest/factory.py URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/factory.py?rev=1236160r1=1236159r2=1236160view=diff == --- subversion/trunk/subversion/tests/cmdline/svntest/factory.py (original) +++ subversion/trunk/subversion/tests/cmdline/svntest/factory.py Thu Jan 26 12:40:54 2012 @@ -1612,6 +1612,11 @@ class TestFactory: def ensure_path_var(self, wc, pathelements): Given a path in a working copy, make sure we have a variable for it. + +# special case: if a path is '.', simply use wc_dir. +if pathelements == ['.']: + return wc.py, wc.realpath + name = _.join(pathelements) if wc.suffix is not None:
svn commit: r1236161 - /subversion/trunk/subversion/libsvn_delta/compat.c
Author: hwright Date: Thu Jan 26 12:41:08 2012 New Revision: 1236161 URL: http://svn.apache.org/viewvc?rev=1236161view=rev Log: Ev2 shims: Ensure directories really are marked as such. Greg rightly points out that this is something of a hack, and this whole recursive operation code could probably be improved upon. I agree. Current number of Ev2 test failures: 23 * subversion/libsvn_delta/compat.c (get_operation): If the parent has children, it must be a directory. Modified: subversion/trunk/subversion/libsvn_delta/compat.c Modified: subversion/trunk/subversion/libsvn_delta/compat.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1236161r1=1236160r2=1236161view=diff == --- subversion/trunk/subversion/libsvn_delta/compat.c (original) +++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Jan 26 12:41:08 2012 @@ -931,6 +931,11 @@ get_operation(const char *path, apr_hash_set(operation-children, apr_pstrdup(result_pool, path), APR_HASH_KEY_STRING, child); } + + /* If an operation has a child, it must of necessity be a directory, + so ensure this fact. */ + operation-kind = svn_kind_dir; + return child; }
svn commit: r1236163 - /subversion/trunk/subversion/tests/cmdline/externals_tests.py
Author: neels Date: Thu Jan 26 12:52:21 2012 New Revision: 1236163 URL: http://svn.apache.org/viewvc?rev=1236163view=rev Log: * subversion/tests/cmdline/externals_tests.py (dir_external_with_dash_r_only): New test for issue #4053. Modified: subversion/trunk/subversion/tests/cmdline/externals_tests.py Modified: subversion/trunk/subversion/tests/cmdline/externals_tests.py URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/externals_tests.py?rev=1236163r1=1236162r2=1236163view=diff == --- subversion/trunk/subversion/tests/cmdline/externals_tests.py (original) +++ subversion/trunk/subversion/tests/cmdline/externals_tests.py Thu Jan 26 12:52:21 2012 @@ -2704,6 +2704,77 @@ def remap_file_external_with_prop_del(sb # http://subversion.tigris.org/issues/show_bug.cgi?id=4093#desc1 svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir) + +# Test for issue #4053 'svn:externals with explicit rev checks out HEAD' +@Issue(4053) +def dir_external_with_dash_r_only(sbox): + whether '-r1 ^/A B' updates properly + # svntest.factory.make(sbox, + # echo 'newer alpha' A/B/E/alpha + # svn ci + # svn ps svn:externals ' -r1 ^/A/B/E E_ext' . + # svn up + # # ^ move the 'status.tweak(wc_rev=2)' above the 'add()' call + # svn info E_ext + # # ^ change the 'svn info' call to + # # expected_info = { 'Revision': '1' } + # # actions.run_and_verify_info([expected_info], E_ext) + # ) + + sbox.build() + wc_dir = sbox.wc_dir + url = sbox.repo_url + + A_B_E_alpha = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha') + E_ext = os.path.join(wc_dir, 'E_ext') + + # echo 'newer alpha' A/B/E/alpha + main.file_write(A_B_E_alpha, 'newer alpha\n') + + # svn ci + expected_output = svntest.wc.State(wc_dir, { +'A/B/E/alpha' : Item(verb='Sending'), + }) + + expected_status = actions.get_virginal_state(wc_dir, 1) + expected_status.tweak('A/B/E/alpha', wc_rev='2') + + actions.run_and_verify_commit(wc_dir, expected_output, expected_status, +None, wc_dir) + + # svn ps svn:externals ' -r1 ^/A/B/E E_ext' . + expected_stdout = [property 'svn:externals' set on ' + wc_dir + '\n] + + actions.run_and_verify_svn2('OUTPUT', expected_stdout, [], 0, 'ps', +'svn:externals', ' -r1 ^/A/B/E E_ext', wc_dir) + + # svn up + expected_output = svntest.wc.State(wc_dir, { +'E_ext/beta': Item(status='A '), +'E_ext/alpha' : Item(status='A '), + }) + + expected_disk = svntest.main.greek_state.copy() + expected_disk.add({ +'E_ext' : Item(), +'E_ext/alpha' : Item(contents=This is the file 'alpha'.\n), +'E_ext/beta': Item(contents=This is the file 'beta'.\n), + }) + expected_disk.tweak('A/B/E/alpha', contents='newer alpha\n') + + expected_status.tweak(wc_rev='2') + expected_status.tweak('', status=' M') + expected_status.add({ +'E_ext' : Item(status='X '), + }) + + actions.run_and_verify_update(wc_dir, expected_output, expected_disk, +expected_status, None, None, None, None, None, False, wc_dir) + + # svn info E_ext/alpha + expected_info = { 'Revision': '1' } + actions.run_and_verify_info([expected_info], E_ext) + # Run the tests @@ -2749,6 +2820,7 @@ test_list = [ None, include_immediate_dir_externals, shadowing, remap_file_external_with_prop_del, + dir_external_with_dash_r_only, ] if __name__ == '__main__':
svn commit: r1236168 - /subversion/branches/1.7.x/STATUS
Author: rhuijben Date: Thu Jan 26 13:16:10 2012 New Revision: 1236168 URL: http://svn.apache.org/viewvc?rev=1236168view=rev Log: * STATUS: Cast another vote Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236168r1=1236167r2=1236168view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 13:16:10 2012 @@ -162,7 +162,7 @@ Candidate changes: Notes: r1236163 adds a regression test Votes: - +1: neels + +1: neels, rhuijben Veto-blocked changes: =
svn commit: r1236173 - /subversion/trunk/subversion/mod_dav_svn/reports/update.c
Author: philip Date: Thu Jan 26 13:49:04 2012 New Revision: 1236173 URL: http://svn.apache.org/viewvc?rev=1236173view=rev Log: Fix a 1.6 client to 1.7 server compatibility problem. 1.7 has stricter URL canonicaliztion rules that caused mod_dav_svn to reject some 1.6 requests. * subversion/mod_dav_svn/reports/update.c (dav_svn__update_report): Canonicalize the incoming src-path and dst-path URLs instead of requiring canonical data from the client. Modified: subversion/trunk/subversion/mod_dav_svn/reports/update.c Modified: subversion/trunk/subversion/mod_dav_svn/reports/update.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/reports/update.c?rev=1236173r1=1236172r2=1236173view=diff == --- subversion/trunk/subversion/mod_dav_svn/reports/update.c (original) +++ subversion/trunk/subversion/mod_dav_svn/reports/update.c Thu Jan 26 13:49:04 2012 @@ -955,8 +955,8 @@ dav_svn__update_report(const dav_resourc cdata = dav_xml_get_cdata(child, resource-pool, 0); if (! *cdata) return malformed_element_error(child-name, resource-pool); - if ((derr = dav_svn__test_canonical(cdata, resource-pool))) -return derr; + if (svn_path_is_url(cdata)) +cdata = svn_uri_canonicalize(cdata, resource-pool); if ((serr = dav_svn__simple_parse_uri(this_info, resource, cdata, resource-pool))) return dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR, @@ -970,8 +970,8 @@ dav_svn__update_report(const dav_resourc cdata = dav_xml_get_cdata(child, resource-pool, 0); if (! *cdata) return malformed_element_error(child-name, resource-pool); - if ((derr = dav_svn__test_canonical(cdata, resource-pool))) -return derr; + if (svn_path_is_url(cdata)) +cdata = svn_uri_canonicalize(cdata, resource-pool); if ((serr = dav_svn__simple_parse_uri(this_info, resource, cdata, resource-pool))) return dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
svn commit: r1236177 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 13:56:00 2012 New Revision: 1236177 URL: http://svn.apache.org/viewvc?rev=1236177view=rev Log: * STATUS: Propose r1236173. Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236177r1=1236176r2=1236177view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 13:56:00 2012 @@ -164,6 +164,15 @@ Candidate changes: Votes: +1: neels, rhuijben + * r1236173 + Do canonicalization rather than requring canonical data in some + mod_dav_svn requests. + Justification: + Backward compatibility with 1.6 clients when using URLs such + as http://host:80/rep%6f that 1.7 considers non-canonical. + Votes: + +1: philip + Veto-blocked changes: =
svn commit: r1236184 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 14:11:28 2012 New Revision: 1236184 URL: http://svn.apache.org/viewvc?rev=1236184view=rev Log: * STATUS: Note conflict. Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236184r1=1236183r2=1236184view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 14:11:28 2012 @@ -152,6 +152,7 @@ Candidate changes: r1236099 updates neon. The changes are independent, but as it changes how the config file behaves, I think both should be applied at the same time. (rhuijben) + Needs branch as r1236099 gives a merge conflict. (philip) Votes: +1: rhuijben, gstein
svn commit: r1236213 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 14:55:48 2012 New Revision: 1236213 URL: http://svn.apache.org/viewvc?rev=1236213view=rev Log: * STATUS: Vote/approve patch --dry-run fix. Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236213r1=1236212r2=1236213view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 14:55:48 2012 @@ -123,14 +123,6 @@ Candidate changes: Votes: +1: philip, rhuijben - * r1231944, r1231945 - Fix a patch problem where the patch file causes multiple levels of - directories to be added and also deletes a file. - Justification: - Allows dry-run applying some patch files. - Votes: - +1: rhuijben, steveking - * r1232202, r1232207, r1232221, r123 Calling 'svn status PATH' on a node that is not present in a working copy shouldn't show the status as missing. @@ -198,3 +190,11 @@ Veto-blocked changes: Approved changes: = + + * r1231944, r1231945 + Fix a patch problem where the patch file causes multiple levels of + directories to be added and also deletes a file. + Justification: + Allows dry-run applying some patch files. + Votes: + +1: rhuijben, steveking, philip
svn commit: r1236214 - /subversion/trunk/subversion/libsvn_delta/compat.c
Author: hwright Date: Thu Jan 26 14:58:32 2012 New Revision: 1236214 URL: http://svn.apache.org/viewvc?rev=1236214view=rev Log: Ev2 shims: Use the correct base revision when opening a directory. Current number of Ev2 test failures: 21 * subversion/libsvn_delta/compat.c (drive_tree): Use the operation's base revision, not the parent's. Modified: subversion/trunk/subversion/libsvn_delta/compat.c Modified: subversion/trunk/subversion/libsvn_delta/compat.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1236214r1=1236213r2=1236214view=diff == --- subversion/trunk/subversion/libsvn_delta/compat.c (original) +++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Jan 26 14:58:32 2012 @@ -1411,8 +1411,7 @@ drive_tree(struct operation *op, { /* Open or create our baton. */ if (op-operation == OP_OPEN || op-operation == OP_PROPSET) -SVN_ERR(editor-open_directory(path, parent_op-baton, - parent_op-base_revision, +SVN_ERR(editor-open_directory(path, parent_op-baton, op-base_revision, scratch_pool, op-baton)); else if (op-operation == OP_ADD || op-operation == OP_REPLACE)
svn commit: r1236230 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_client/patch.c subversion/tests/cmdline/patch_tests.py
Author: hwright Date: Thu Jan 26 15:14:40 2012 New Revision: 1236230 URL: http://svn.apache.org/viewvc?rev=1236230view=rev Log: Merge r1231944, 1231945 from trunk: * r1231944, r1231945 Fix a patch problem where the patch file causes multiple levels of directories to be added and also deletes a file. Justification: Allows dry-run applying some patch files. Votes: +1: rhuijben, steveking, philip Modified: subversion/branches/1.7.x/ (props changed) subversion/branches/1.7.x/STATUS subversion/branches/1.7.x/subversion/libsvn_client/patch.c subversion/branches/1.7.x/subversion/tests/cmdline/patch_tests.py Propchange: subversion/branches/1.7.x/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Thu Jan 26 15:14:40 2012 @@ -72,4 +72,4 @@ /subversion/branches/tree-conflicts:868291-873154 /subversion/branches/tree-conflicts-notify:873926-874008 /subversion/branches/uris-as-urls:1060426-1064427 -/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147299,1147309,1147882,1148071,1148083,1148094,1148131,1148374,1148424,1148566,1148588,1148652,1148662,1148699,1148853,1148877,1148882,1148936,1149103,1149105,1149135,1149141,1149160,1149228,1149240,1149343,1149371-1149372,1149377,1149398,1149401,1149539,1149572,1149627,1149675,1149701,1149713,1150242,1150254,1150260-1150261,1150266,1150302,1150327,1150344,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151854,1151906,1151911,1152129,1152140,1152189-1152190,1152267,1152282,1152286,1152726,1152809,1153138,1153141,1153416,1153540,1153566,1153799,1153807,1153968,1154009,1154023,1154115,1154119,1154121,1154144,1154155,1154159,1154165,1154215,1154225,1154273,1154278,1154379,1154382,1154461,1154717-1154718,1154733,1154908,1154982,1155015,1155044,1155124,1155131,1155160,1155313,1155334,1155391,1155404,115 6085,1156098,1156216,1156218,1156312,1156527,1156717,1156721,1156750,1156827,1156838,1157416,1158187,1158193-1158194,1158196,1158201,1158207,1158209-1158210,1158217,1158285,1158288,1158303,1158309,1158407,1158419,1158421,1158436,1158455,1158616-1158617,1158634,1158854,1158875,1158886,1158893,1158896,1158919,1158923-1158924,1158929,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704-1160705,1160756,1161063,1161080,1161185,1161210,1161683,1161721,1162024,1162033,1162201,1162516,1162880,1162974,1162995,1163243,1163383,1163557,1163792,1163953,1164027,1164386,1164426,1164517,1164535,1164554,1164580,1164614,1164645,1164760,1164765,1166267,1166500,1166555,1166678,1167062,1167173,1167209,1167269,1167503,1167659,1167681,1169524,1169531,1169650,1171708,1173111,1173425,1173639,1174051,1174060,1174652,1174761,1174797-1174798,1174806,1175888,1176915,1176949,1177001,1177492,1177732,1178280,1178282,1178942, 1179680,1179767,1180154,1181090,1181110,1181155,1181215,1181609,1181666,1182115,1182527,1182771,1182904,1182909,1183054,1183263,1183347,1185222,1185242,1185280,1185282,1185730,1185738,1185746,1185763,1185768,1185886,1185911,1185918,1186059,1186092,1186101,1186107,1186109,1186121,1186231,1186240,1186422,1186434,1186732,1186755,1186784,1186815,1186928,1186944,1186981,1186983,1187311,1187676,1187695,1188609,1188652,1188677,1188762,1188774,1189190,1189261,1189395,1189580,1189665,1195480,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1205839,1205848,1206523,1206533,1206576,1206718-1206719,1206724,1206741,1206748,1207656,1207663,1207823,1207858,1207949,1208840,1209631,1209654,1210195,1211483,1211859,1211885,1212476,1212482,1212484,1213331,1213673,1213681,1213690,1213711,1213716,1214139,1215260,1215288,1215374-1215375,1215379,1220742,1220750,1221793,1222521,1222693,12265 97,1227146,1228340,1229252,1229303,1229677,1229833,1229980,1235264,1235296,1235302,1235736
svn commit: r1236231 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 15:15:54 2012 New Revision: 1236231 URL: http://svn.apache.org/viewvc?rev=1236231view=rev Log: * STATUS: Vote/approve r1220783. Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236231r1=1236230r2=1236231view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 15:15:54 2012 @@ -47,13 +47,6 @@ Candidate changes: Votes: +1: rhuijben, stsp - * r1220783 - Fix mis-ordered text output of 'svn log --diff' on Windows. - Justification: - Badness within 'svn', fixed within 'svn'. Needed for r1210147 group. - Votes: - +1: julianfoad, rhuijben - * r1210147, r1202132, r1202333, r1220740 Fix the 'svn log --diff' code so that it correctly shows a diff of a target file (or directory) that was at a different path in the past. @@ -190,3 +183,9 @@ Veto-blocked changes: Approved changes: = + * r1220783 + Fix mis-ordered text output of 'svn log --diff' on Windows. + Justification: + Badness within 'svn', fixed within 'svn'. Needed for r1210147 group. + Votes: + +1: julianfoad, rhuijben, philip
svn commit: r1236243 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 15:32:27 2012 New Revision: 1236243 URL: http://svn.apache.org/viewvc?rev=1236243view=rev Log: * STATUS: Antivote, note problem Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236243r1=1236242r2=1236243view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 15:32:27 2012 @@ -47,6 +47,15 @@ Candidate changes: Votes: +1: rhuijben, stsp + * r1220783 + Fix mis-ordered text output of 'svn log --diff' on Windows. + Justification: + Badness within 'svn', fixed within 'svn'. Needed for r1210147 group. + Notes: + Doesn't compile on 1.7.x. + Votes: + +1: julianfoad, rhuijben + * r1210147, r1202132, r1202333, r1220740 Fix the 'svn log --diff' code so that it correctly shows a diff of a target file (or directory) that was at a different path in the past. @@ -183,9 +192,3 @@ Veto-blocked changes: Approved changes: = - * r1220783 - Fix mis-ordered text output of 'svn log --diff' on Windows. - Justification: - Badness within 'svn', fixed within 'svn'. Needed for r1210147 group. - Votes: - +1: julianfoad, rhuijben, philip
svn commit: r1236270 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 16:17:03 2012 New Revision: 1236270 URL: http://svn.apache.org/viewvc?rev=1236270view=rev Log: * STATUS: Vote/approve issue 4053 fix Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236270r1=1236269r2=1236270view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 16:17:03 2012 @@ -150,15 +150,6 @@ Candidate changes: Votes: +1: rhuijben, gstein - * r1163372, r1236163 - Issue #4053: svn:externals with explicit rev checks out HEAD - Justification: - Regression. - Notes: - r1236163 adds a regression test - Votes: - +1: neels, rhuijben - * r1236173 Do canonicalization rather than requring canonical data in some mod_dav_svn requests. @@ -192,3 +183,12 @@ Veto-blocked changes: Approved changes: = + + * r1163372, r1236163 + Issue #4053: svn:externals with explicit rev checks out HEAD + Justification: + Regression. + Notes: + r1236163 adds a regression test + Votes: + +1: neels, rhuijben, philip
svn commit: r1236279 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_client/externals.c subversion/tests/cmdline/externals_tests.py
Author: danielsh Date: Thu Jan 26 16:36:37 2012 New Revision: 1236279 URL: http://svn.apache.org/viewvc?rev=1236279view=rev Log: Merge the r1163372 group from trunk: * r1163372, r1236163 Issue #4053: svn:externals with explicit rev checks out HEAD Justification: Regression. Notes: r1236163 adds a regression test Votes: +1: neels, rhuijben, philip Modified: subversion/branches/1.7.x/ (props changed) subversion/branches/1.7.x/STATUS subversion/branches/1.7.x/subversion/libsvn_client/externals.c subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py Propchange: subversion/branches/1.7.x/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Thu Jan 26 16:36:37 2012 @@ -72,4 +72,4 @@ /subversion/branches/tree-conflicts:868291-873154 /subversion/branches/tree-conflicts-notify:873926-874008 /subversion/branches/uris-as-urls:1060426-1064427 -/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147299,1147309,1147882,1148071,1148083,1148094,1148131,1148374,1148424,1148566,1148588,1148652,1148662,1148699,1148853,1148877,1148882,1148936,1149103,1149105,1149135,1149141,1149160,1149228,1149240,1149343,1149371-1149372,1149377,1149398,1149401,1149539,1149572,1149627,1149675,1149701,1149713,1150242,1150254,1150260-1150261,1150266,1150302,1150327,1150344,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151854,1151906,1151911,1152129,1152140,1152189-1152190,1152267,1152282,1152286,1152726,1152809,1153138,1153141,1153416,1153540,1153566,1153799,1153807,1153968,1154009,1154023,1154115,1154119,1154121,1154144,1154155,1154159,1154165,1154215,1154225,1154273,1154278,1154379,1154382,1154461,1154717-1154718,1154733,1154908,1154982,1155015,1155044,1155124,1155131,1155160,1155313,1155334,1155391,1155404,115 6085,1156098,1156216,1156218,1156312,1156527,1156717,1156721,1156750,1156827,1156838,1157416,1158187,1158193-1158194,1158196,1158201,1158207,1158209-1158210,1158217,1158285,1158288,1158303,1158309,1158407,1158419,1158421,1158436,1158455,1158616-1158617,1158634,1158854,1158875,1158886,1158893,1158896,1158919,1158923-1158924,1158929,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704-1160705,1160756,1161063,1161080,1161185,1161210,1161683,1161721,1162024,1162033,1162201,1162516,1162880,1162974,1162995,1163243,1163383,1163557,1163792,1163953,1164027,1164386,1164426,1164517,1164535,1164554,1164580,1164614,1164645,1164760,1164765,1166267,1166500,1166555,1166678,1167062,1167173,1167209,1167269,1167503,1167659,1167681,1169524,1169531,1169650,1171708,1173111,1173425,1173639,1174051,1174060,1174652,1174761,1174797-1174798,1174806,1175888,1176915,1176949,1177001,1177492,1177732,1178280,1178282,1178942, 1179680,1179767,1180154,1181090,1181110,1181155,1181215,1181609,1181666,1182115,1182527,1182771,1182904,1182909,1183054,1183263,1183347,1185222,1185242,1185280,1185282,1185730,1185738,1185746,1185763,1185768,1185886,1185911,1185918,1186059,1186092,1186101,1186107,1186109,1186121,1186231,1186240,1186422,1186434,1186732,1186755,1186784,1186815,1186928,1186944,1186981,1186983,1187311,1187676,1187695,1188609,1188652,1188677,1188762,1188774,1189190,1189261,1189395,1189580,1189665,1195480,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1205839,1205848,1206523,1206533,1206576,1206718-1206719,1206724,1206741,1206748,1207656,1207663,1207823,1207858,1207949,1208840,1209631,1209654,1210195,1211483,1211859,1211885,1212476,1212482,1212484,1213331,1213673,1213681,1213690,1213711,1213716,1214139,1215260,1215288,1215374-1215375,1215379,1220742,1220750,1221793,1222521,1222693,12265 97,1227146,1228340,1229252,1229303,1229677,1229833,1229980,1231944-1231945,1235264,1235296,1235302,1235736
svn commit: r1236283 - /subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c
Author: philip Date: Thu Jan 26 16:41:52 2012 New Revision: 1236283 URL: http://svn.apache.org/viewvc?rev=1236283view=rev Log: Try to get errno before it changes. * subversion/libsvn_ra_svn/cyrus_auth.c (get_sasl_errno_msg): Document usage. (get_sasl_error): Document usage, query errno earlier. (new_sasl_ctx): Query errno earlier. Modified: subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c Modified: subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c?rev=1236283r1=1236282r2=1236283view=diff == --- subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c (original) +++ subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c Thu Jan 26 16:41:52 2012 @@ -340,7 +340,8 @@ get_password_cb(sasl_conn_t *conn, void /* Sometimes SASL returns SASL_FAIL as RESULT and sets errno. * SASL_FAIL translates to generic error which is quite unhelpful. - * Try to append a more informative error message based on errno. */ + * Try to append a more informative error message based on errno so + * should be called before doing anything that may change errno. */ static const char * get_sasl_errno_msg(int result, apr_pool_t *result_pool) { @@ -353,14 +354,16 @@ get_sasl_errno_msg(int result, apr_pool_ } /* Wrap an error message from SASL with a prefix that allows users - * to tell that the error message came from SASL. */ + * to tell that the error message came from SASL. Queries errno and + * so should be called before doing anything that may change errno. */ static const char * get_sasl_error(sasl_conn_t *sasl_ctx, int result, apr_pool_t *result_pool) { + const char *sasl_errno_msg = get_sasl_errno_msg(result, result_pool); + return apr_psprintf(result_pool, _(SASL authentication error: %s%s), - sasl_errdetail(sasl_ctx), - get_sasl_errno_msg(result, result_pool)); + sasl_errdetail(sasl_ctx), sasl_errno_msg); } /* Create a new SASL context. */ @@ -380,10 +383,14 @@ static svn_error_t *new_sasl_ctx(sasl_co callbacks, SASL_SUCCESS_DATA, sasl_ctx); if (result != SASL_OK) -return svn_error_createf(SVN_ERR_RA_NOT_AUTHORIZED, NULL, - _(Could not create SASL context: %s%s), - sasl_errstring(result, NULL, NULL), - get_sasl_errno_msg(result, pool)); +{ + const char *sasl_errno_msg = get_sasl_errno_msg(result, pool); + + return svn_error_createf(SVN_ERR_RA_NOT_AUTHORIZED, NULL, + _(Could not create SASL context: %s%s), + sasl_errstring(result, NULL, NULL), + sasl_errno_msg); +} svn_atomic_inc(sasl_ctx_count); apr_pool_cleanup_register(pool, *sasl_ctx, sasl_dispose_cb, apr_pool_cleanup_null);
svn commit: r1236302 - /subversion/branches/1.7.x/STATUS
Author: philip Date: Thu Jan 26 17:29:12 2012 New Revision: 1236302 URL: http://svn.apache.org/viewvc?rev=1236302view=rev Log: * STATUS: Notes about SASL fix Modified: subversion/branches/1.7.x/STATUS Modified: subversion/branches/1.7.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236302r1=1236301r2=1236302view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Thu Jan 26 17:29:12 2012 @@ -102,6 +102,8 @@ Candidate changes: Similar fixes already went into 1.7.1. Votes: +1: stsp, rhuijben + -0: philip (Is errno a good indicator of SASL errors? + Needs r1179776 for conflict, r1236283 for correctness) * r1225491 Allow converting //server/share paths to file://server/share by using
svn commit: r1236343 - /subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c
Author: philip Date: Thu Jan 26 18:31:40 2012 New Revision: 1236343 URL: http://svn.apache.org/viewvc?rev=1236343view=rev Log: Clear errno before calling SASL functions, check errno if SASL init fails. * subversion/libsvn_ra_svn/cyrus_auth.c (clear_sasl_errno): New macro. (get_sasl_errno_msg, get_sasl_error): Move earlier in file. (sasl_init_cb): Use the errno functions. (new_sasl_ctx, try_auth, sasl_read_cb, sasl_write_cb, svn_ra_svn__enable_sasl_encryption): Clear errno. Modified: subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c Modified: subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c?rev=1236343r1=1236342r2=1236343view=diff == --- subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c (original) +++ subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c Thu Jan 26 18:31:40 2012 @@ -186,12 +186,64 @@ svn_ra_svn__sasl_common_init(apr_pool_t return SVN_NO_ERROR; } +/* We are going to look at errno when we get SASL_FAIL but we don't + know for sure whether SASL always sets errno. Clearing errno + before calling SASL functions helps in cases where SASL does + nothing to set errno. */ +#ifdef apr_set_os_error +#define clear_sasl_errno() apr_set_os_error(APR_SUCCESS) +#else +#define clear_sasl_errno() (void)0 +#endif + +/* Sometimes SASL returns SASL_FAIL as RESULT and sets errno. + * SASL_FAIL translates to generic error which is quite unhelpful. + * Try to append a more informative error message based on errno so + * should be called before doing anything that may change errno. */ +static const char * +get_sasl_errno_msg(int result, apr_pool_t *result_pool) +{ +#ifdef apr_get_os_error + char buf[1024]; + + if (result == SASL_FAIL apr_get_os_error() != 0) +return apr_psprintf(result_pool, : %s, +svn_strerror(apr_get_os_error(), buf, sizeof(buf))); +#endif + return ; +} + +/* Wrap an error message from SASL with a prefix that allows users + * to tell that the error message came from SASL. Queries errno and + * so should be called before doing anything that may change errno. */ +static const char * +get_sasl_error(sasl_conn_t *sasl_ctx, int result, apr_pool_t *result_pool) +{ + const char *sasl_errno_msg = get_sasl_errno_msg(result, result_pool); + + return apr_psprintf(result_pool, + _(SASL authentication error: %s%s), + sasl_errdetail(sasl_ctx), sasl_errno_msg); +} + static svn_error_t *sasl_init_cb(void *baton, apr_pool_t *pool) { + int result; + SVN_ERR(svn_ra_svn__sasl_common_init(pool)); - if (sasl_client_init(NULL) != SASL_OK) -return svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL, -_(Could not initialize the SASL library)); + clear_sasl_errno(); + result = sasl_client_init(NULL); + if (result != SASL_OK) +{ + const char *sasl_errno_msg = get_sasl_errno_msg(result, pool); + + return svn_error_createf +(SVN_ERR_RA_NOT_AUTHORIZED, NULL, + _(Could not initialized the SASL library: %s%s), + sasl_errstring(result, NULL, NULL), + sasl_errno_msg); +} + return SVN_NO_ERROR; } @@ -338,34 +390,6 @@ get_password_cb(sasl_conn_t *conn, void return SASL_FAIL; } -/* Sometimes SASL returns SASL_FAIL as RESULT and sets errno. - * SASL_FAIL translates to generic error which is quite unhelpful. - * Try to append a more informative error message based on errno so - * should be called before doing anything that may change errno. */ -static const char * -get_sasl_errno_msg(int result, apr_pool_t *result_pool) -{ - char buf[1024]; - - if (result == SASL_FAIL apr_get_os_error() != 0) -return apr_psprintf(result_pool, : %s, -svn_strerror(apr_get_os_error(), buf, sizeof(buf))); - return ; -} - -/* Wrap an error message from SASL with a prefix that allows users - * to tell that the error message came from SASL. Queries errno and - * so should be called before doing anything that may change errno. */ -static const char * -get_sasl_error(sasl_conn_t *sasl_ctx, int result, apr_pool_t *result_pool) -{ - const char *sasl_errno_msg = get_sasl_errno_msg(result, result_pool); - - return apr_psprintf(result_pool, - _(SASL authentication error: %s%s), - sasl_errdetail(sasl_ctx), sasl_errno_msg); -} - /* Create a new SASL context. */ static svn_error_t *new_sasl_ctx(sasl_conn_t **sasl_ctx, svn_boolean_t is_tunneled, @@ -378,6 +402,7 @@ static svn_error_t *new_sasl_ctx(sasl_co sasl_security_properties_t secprops; int result; + clear_sasl_errno(); result = sasl_client_new(SVN_RA_SVN_SASL_NAME, hostname, local_addrport, remote_addrport, callbacks, SASL_SUCCESS_DATA, @@ -401,6
[Subversion Wiki] Update of InheritedProperties by pburba
Dear Wiki user, You have subscribed to a wiki page or wiki category on Subversion Wiki for change notification. The InheritedProperties page has been changed by pburba: http://wiki.apache.org/subversion/InheritedProperties Comment: Initial brain dump on simple inherited properties New page: = INHERITED PROPERTIES : BACKGROUND = == What's This? == Some ideas on how we might implement simple inherited properties. == What Are Inherited Properties? == Inherited properties are versioned properties that apply not only to the path the property is explicitly set on, but also to all of that path's path-wise descendants (at the same revision) which do not explicitly have the same property set. == What's Driving This? == Desire for some form of inherited properties has existed almost from the dawn of Subversion. This latest effort is in response to a recent proposal regarding Server Dictated Configuration (see http://wiki.apache.org/subversion/ServerDictatedConfiguration and http://svn.haxx.se/dev/archive-2012-01/0032.shtml). That proposal made use of a new mechanism by which server dictated configurations (notably auto-props and global-ignores) would be communicated from the server to the client. In the feedback on the proposal several people pointed out that versioned properties provide a possible alternative solution (and that the TortoiseSVN project was already using pseduo-inheritable properties to address some of the same problems -- see http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-propertypage.html). Despite its origins in the server defined configuration work, this wiki describes only a generic inheritable properties design (''though my the ultimate goal is to use these inheritable properties to implement the server dictated configuration feature -- pburba''). == What This Design Is and What It Isn't == This design provides the bare minimum to support the basics of inherited properties: * A way to identify properties that are inheritable vs. those that are not. * A way to set inheritable properties (not really anything to do here, we support this today). * A way to get a path's inherited properties. That's it, it's really just a small extension of our existing versioned property capabilities. If your own personal vision of inherited properties includes something outside of these three bullets (e.g. merging inherited properties), then that is outside of this design's scope (at least initially). == How Is This Design Different? == It's not really. A lot of the ideas here come from the dev list, #svn-dev, and conversations with other devs. The difference, if there is any, is that this design aims to be as simple as possible and steer clear of complications which have thwarted inheritable properties in the past. If there is more than one reasonable behavior to choose from, it usually goes with the one that is simpler to explain/understand/implement/maintain. ''This means that not everyone will be happy, it may not cover every use-case, but I hope it covers most of them -- pburba.'' == Inheritable Properties Today == Subversion has supported merge-tracking using the svn:mergeinfo property since the 1.5 release. The svn:mergeinfo property is inheritable in some merge-sensitive contexts, notably 'svn merge', 'svn log -g', and 'svn mergeinfo'. For example, say we have this simple branch structure at r700 in our repository: {{{ projX/ projX/branches/ projX/branches/src/ projX/branches/src/foo.c projX/branches/inc projX/branches/inc/bar.h }}} And suppose the mergeinfo 'projX/trunk:509-612' is set on 'projX/branches'. If we perform a merge targeting 'projX/branches/src/foo.c', the merge logic considers the svn:mergeinfo property on this target path to effectively be 'projX/trunk/src/foo.c:509-612'. However, unlike a true inheritable property however, svn:mergeinfo is not inheritable outside of merge-tracking aware contexts. For example, the propget and proplist subcommands recognize the svn:mergeinfo when it is explicitly set on a path, but does not see it on those paths' descendants: {{{ svn pg svn:mergeinfo -v projX/branches Properties on 'projX/branches': svn:mergeinfo /projX/trunk:509-612 svn pg svn:mergeinfo -v branches/projX/src/foo.c }}} = INHERITED PROPERTIES : DESIGN = == Differentiating Inheritable Vs. 'Normal' Properties == Inheritable properties will be identified by a prefix on the property name. 1. Custom user properties will use the svn:inheritable: prefix. 1. Reserved Subversion inheritable properties will use the svn:i: prefix. == Inheritance Rules == Inheritance will be very similar to the current svn:mergeinfo inheritance model. For a given inheritable property 'svn:i:X': 1. A path 'with' svn:i:X' explicitly set on it never inherits that property (i.e. a path can only inherit a property it doesn't have set on itself).' ' 1. A repository path@REV 'without' the 'svn:i:X'