svn commit: r1200926 [8/12] - in /subversion/branches/moves-scan-log: ./ build/ build/ac-macros/ build/generator/ build/generator/templates/ build/win32/ contrib/client-side/emacs/ notes/ subversion/b
Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1200926r1=1200925r2=1200926view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Fri Nov 11 16:06:45 2011 @@ -1196,6 +1196,7 @@ modcheck_callback(void *baton, switch (status-node_status) { case svn_wc_status_normal: + case svn_wc_status_incomplete: case svn_wc_status_ignored: case svn_wc_status_none: case svn_wc_status_unversioned: @@ -4310,28 +4311,28 @@ close_file(void *file_baton, if (!fb-shadowed (! fb-adding_file || fb-add_existed)) { - svn_boolean_t local_is_link = FALSE; - svn_boolean_t incoming_is_link = FALSE; + svn_boolean_t local_is_link; + svn_boolean_t incoming_is_link; + int i; local_is_link = apr_hash_get(local_actual_props, SVN_PROP_SPECIAL, APR_HASH_KEY_STRING) != NULL; - { -int i; - -for (i = 0; i regular_prop_changes-nelts; ++i) - { -const svn_prop_t *prop = APR_ARRAY_IDX(regular_prop_changes, i, -svn_prop_t); + incoming_is_link = local_is_link; -if (strcmp(prop-name, SVN_PROP_SPECIAL) == 0) - { -incoming_is_link = TRUE; - } - } - } + /* Does an incoming propchange affect symlink-ness? */ + for (i = 0; i regular_prop_changes-nelts; ++i) +{ + const svn_prop_t *prop = APR_ARRAY_IDX(regular_prop_changes, i, + svn_prop_t); + if (strcmp(prop-name, SVN_PROP_SPECIAL) == 0) +{ + incoming_is_link = (prop-value != NULL); + break; +} +} if (local_is_link != incoming_is_link) { @@ -4341,15 +4342,12 @@ close_file(void *file_baton, fb-obstruction_found = TRUE; fb-add_existed = FALSE; - /* ### Performance: We should just create the conflict here, without - ### verifying again */ - SVN_ERR(check_tree_conflict(tree_conflict, eb, fb-local_abspath, - svn_wc__db_status_added, - svn_kind_file, TRUE, - svn_wc_conflict_action_add, - svn_node_file, fb-new_relpath, NULL, - scratch_pool, scratch_pool)); - SVN_ERR_ASSERT(tree_conflict != NULL); + SVN_ERR(create_tree_conflict(tree_conflict, eb, + fb-local_abspath, + svn_wc_conflict_reason_added, + svn_wc_conflict_action_add, + svn_node_file, fb-new_relpath, + scratch_pool, scratch_pool)); SVN_ERR(svn_wc__db_op_set_tree_conflict(eb-db, fb-local_abspath, tree_conflict, @@ -4859,6 +4857,8 @@ make_editor(svn_revnum_t *target_revisio const svn_delta_editor_t *inner_editor; const char *repos_root, *repos_uuid; struct fetch_baton *fpb; + svn_delta_shim_callbacks_t *shim_callbacks = +svn_delta_shim_callbacks_default(edit_pool); /* An unknown depth can't be sticky. */ if (depth == svn_depth_unknown) @@ -5092,9 +5092,14 @@ make_editor(svn_revnum_t *target_revisio fpb = apr_palloc(result_pool, sizeof(*fpb)); fpb-db = db; fpb-target_abspath = eb-target_abspath; + + shim_callbacks-fetch_kind_func = fetch_kind_func; + shim_callbacks-fetch_kind_baton = fpb; + shim_callbacks-fetch_props_func = fetch_props_func; + shim_callbacks-fetch_props_baton = fpb; + SVN_ERR(svn_editor__insert_shims(editor, edit_baton, *editor, *edit_baton, - fetch_props_func, fpb, fetch_kind_func, fpb, - result_pool, scratch_pool)); + shim_callbacks, result_pool, scratch_pool)); return SVN_NO_ERROR; } @@ -5623,14 +5628,14 @@ svn_wc_add_repos_file4(svn_wc_context_t dir_abspath, pool, pool)); - if (!svn_uri__is_ancestor(original_root_url, copyfrom_url)) + original_repos_relpath = +svn_uri_skip_ancestor(original_root_url, copyfrom_url, pool); + + if (!original_repos_relpath) return
svn commit: r1200926 [12/12] - in /subversion/branches/moves-scan-log: ./ build/ build/ac-macros/ build/generator/ build/generator/templates/ build/win32/ contrib/client-side/emacs/ notes/ subversion/
Modified: subversion/branches/moves-scan-log/subversion/tests/libsvn_subr/mergeinfo-test.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/tests/libsvn_subr/mergeinfo-test.c?rev=1200926r1=1200925r2=1200926view=diff == --- subversion/branches/moves-scan-log/subversion/tests/libsvn_subr/mergeinfo-test.c (original) +++ subversion/branches/moves-scan-log/subversion/tests/libsvn_subr/mergeinfo-test.c Fri Nov 11 16:06:45 2011 @@ -483,8 +483,7 @@ test_rangelist_reverse(apr_pool_t *pool) svn_merge_range_t expected_rangelist[3] = { {10, 9, TRUE}, {7, 4, TRUE}, {3, 2, TRUE} }; - SVN_ERR(svn_mergeinfo_parse(info1, /trunk: 3,5-7,10, pool)); - rangelist = apr_hash_get(info1, /trunk, APR_HASH_KEY_STRING); + SVN_ERR(svn_rangelist__parse(rangelist, 3,5-7,10, pool)); SVN_ERR(svn_rangelist_reverse(rangelist, pool)); @@ -506,11 +505,9 @@ test_rangelist_intersect(apr_pool_t *poo { {0, 1, TRUE}, {2, 4, TRUE}, {11, 12, TRUE}, {30, 32, FALSE}, {39, 42, TRUE} }; - SVN_ERR(svn_mergeinfo_parse(info1, /trunk: 1-6,12-16,30-32*,40-42, pool)); - SVN_ERR(svn_mergeinfo_parse(info2, /trunk: 1,3-4*,7,9,11-12,31-34*,38-44, - pool)); - rangelist1 = apr_hash_get(info1, /trunk, APR_HASH_KEY_STRING); - rangelist2 = apr_hash_get(info2, /trunk, APR_HASH_KEY_STRING); + SVN_ERR(svn_rangelist__parse(rangelist1, 1-6,12-16,30-32*,40-42, pool)); + SVN_ERR(svn_rangelist__parse(rangelist2, 1,3-4*,7,9,11-12,31-34*,38-44, + pool)); /* Check the intersection while considering inheritance twice, reversing the order of the rangelist arguments on the second call to @@ -605,6 +602,7 @@ test_merge_mergeinfo(apr_pool_t *pool) struct mergeinfo_merge_path_range { const char *path; + int expected_n; svn_merge_range_t expected_rngs[MAX_NBR_MERGEINFO_RANGES]; }; @@ -627,75 +625,75 @@ test_merge_mergeinfo(apr_pool_t *pool) /* One path, intersecting inheritable ranges */ { /trunk: 5-10, /trunk: 6, 1, -{ {/trunk, { {4, 10, TRUE} } } } }, +{ {/trunk, 1, { {4, 10, TRUE} } } } }, /* One path, intersecting non-inheritable ranges */ { /trunk: 5-10*, /trunk: 6*, 1, -{ {/trunk, { {4, 10, FALSE} } } } }, +{ {/trunk, 1, { {4, 10, FALSE} } } } }, /* One path, intersecting ranges with different inheritability */ { /trunk: 5-10, /trunk: 6*, 1, -{ {/trunk, { {4, 10, TRUE} } } } }, +{ {/trunk, 1, { {4, 10, TRUE} } } } }, /* One path, intersecting ranges with different inheritability */ { /trunk: 5-10*, /trunk: 6, 1, -{ {/trunk, { {4, 5, FALSE}, {5, 6, TRUE}, {6, 10, FALSE} } } } }, +{ {/trunk, 3, { {4, 5, FALSE}, {5, 6, TRUE}, {6, 10, FALSE} } } } }, /* Adjacent ranges all inheritable ranges */ { /trunk: 1,3,5-11,13, /trunk: 2,4,12,14-22, 1, - { {/trunk, { {0, 22, TRUE} } } } }, +{ {/trunk, 1, { {0, 22, TRUE} } } } }, /* Adjacent ranges all non-inheritable ranges */ { /trunk: 1*,3*,5-11*,13*, /trunk: 2*,4*,12*,14-22*, 1, - { {/trunk, { {0, 22, FALSE} } } } }, +{ {/trunk, 1, { {0, 22, FALSE} } } } }, /* Adjacent ranges differing inheritability */ { /trunk: 1*,3*,5-11*,13*, /trunk: 2,4,12,14-22, 1, - { {/trunk, { { 0, 1, FALSE}, { 1, 2, TRUE}, -{ 2, 3, FALSE}, { 3, 4, TRUE}, -{ 4, 11, FALSE}, {11, 12, TRUE}, -{12, 13, FALSE}, {13, 22, TRUE} } } } }, +{ {/trunk, 8, { { 0, 1, FALSE}, { 1, 2, TRUE}, + { 2, 3, FALSE}, { 3, 4, TRUE}, + { 4, 11, FALSE}, {11, 12, TRUE}, + {12, 13, FALSE}, {13, 22, TRUE} } } } }, /* Adjacent ranges differing inheritability */ { /trunk: 1,3,5-11,13, /trunk: 2*,4*,12*,14-22*, 1, - { {/trunk, { { 0, 1, TRUE}, { 1, 2, FALSE}, -{ 2, 3, TRUE}, { 3, 4, FALSE}, -{ 4, 11, TRUE}, {11, 12, FALSE}, -{12, 13, TRUE}, {13, 22, FALSE} } } } }, +{ {/trunk, 8, { { 0, 1, TRUE}, { 1, 2, FALSE}, + { 2, 3, TRUE}, { 3, 4, FALSE}, + { 4, 11, TRUE}, {11, 12, FALSE}, + {12, 13, TRUE}, {13, 22, FALSE} } } } }, /* Two paths all inheritable ranges */ { /trunk::1: 3,5,7-9,10,11,13,14\n/fred:8-10, /trunk::1: 1-4,6\n/fred:9-12, 2, -{ {/trunk::1, { {0, 11, TRUE}, {12, 14, TRUE} } }, - {/fred, { {7, 12, TRUE} } } } }, +{ {/trunk::1, 2, { {0, 11, TRUE}, {12, 14, TRUE} } }, + {/fred, 1, { {7, 12, TRUE} } } } }, /* Two paths all non-inheritable
svn commit: r1201824 - in /subversion/trunk/subversion: libsvn_client/diff.c libsvn_ra/ra_loader.c tests/cmdline/diff_tests.py
Author: stsp Date: Mon Nov 14 18:59:06 2011 New Revision: 1201824 URL: http://svn.apache.org/viewvc?rev=1201824view=rev Log: Fix issue #2873, svn diff -c N on a file added in revision N does not create patch. When adding a file in rN and trying to diff this file in the range -rN-1:N, a client-side existence-check prevented a diff from being generated because of a file does not exist at rN-1 error. The client was overly cautios here, because the server-side already supports the case where one of the diff targets doesn't exist. The only requirement imposed by the server is that the _anchor_ of the diff operation must exist. So we can fix issue #2873 by choosing an appropriate anchor for the diff operation. * subversion/libsvn_ra/ra_loader.c (svn_ra_do_diff3): Stop asserting that the diff target is a direct child of the anchor. This assertion is present (and possibly useful) in the update and merge cases. But during a diff operation, a target which exists within a newly added tree might require an anchor that is not a direct parent. * subversion/libsvn_client/diff.c (check_diff_target_exists): New helper function which checks the existence of a URL at a given revision and raises an error if it doesn't exist. (diff_prepare_repos_repos): Tolerate a missing target at one side of the diff. If one side is missing, try to find a common parent to anchor the diff operation on, and adjust the diff target paths relative to this anchor. This can only fail due to authz restrictions, since one side of the diff is guaranteed to exist (in the worst case the common parent is the repository root). * subversion/tests/cmdline/diff_tests.py (diff_targets): Stop expecting an error when diffing a file which was newly added in revision N in the range -rN-1:N. Expect to see an 'add' diff for the file instead of an error. Modified: subversion/trunk/subversion/libsvn_client/diff.c subversion/trunk/subversion/libsvn_ra/ra_loader.c subversion/trunk/subversion/tests/cmdline/diff_tests.py Modified: subversion/trunk/subversion/libsvn_client/diff.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1201824r1=1201823r2=1201824view=diff == --- subversion/trunk/subversion/libsvn_client/diff.c (original) +++ subversion/trunk/subversion/libsvn_client/diff.c Mon Nov 14 18:59:06 2011 @@ -1432,6 +1432,46 @@ check_paths(svn_boolean_t *is_repos1, return SVN_NO_ERROR; } +/* Raise an error if the diff target URL does not exist at REVISION. + * If REVISION does not equal OTHER_REVISION, mention both revisions in + * the error message. Use RA_SESSION to contact the repository. + * Use POOL for temporary allocations. */ +static svn_error_t * +check_diff_target_exists(const char *url, + svn_revnum_t revision, + svn_revnum_t other_revision, + svn_ra_session_t *ra_session, + apr_pool_t *pool) +{ + svn_node_kind_t kind; + const char *session_url; + + SVN_ERR(svn_ra_get_session_url(ra_session, session_url, pool)); + + if (strcmp(url, session_url) != 0) +SVN_ERR(svn_ra_reparent(ra_session, url, pool)); + + SVN_ERR(svn_ra_check_path(ra_session, , revision, kind, pool)); + if (kind == svn_node_none) +{ + if (revision == other_revision) +return svn_error_createf(SVN_ERR_FS_NOT_FOUND, NULL, + _(Diff target '%s' was not found in the + repository at revision '%ld'), + url, revision); + else +return svn_error_createf(SVN_ERR_FS_NOT_FOUND, NULL, + _(Diff target '%s' was not found in the + repository at revision '%ld' or '%ld'), + url, revision, other_revision); + } + + if (strcmp(url, session_url) != 0) +SVN_ERR(svn_ra_reparent(ra_session, session_url, pool)); + + return SVN_NO_ERROR; +} + /** Prepare a repos repos diff between PATH_OR_URL1 and * PATH_OR_URL2@PEG_REVISION, in the revision range REVISION1:REVISION2. * Return URLs and peg revisions in *URL1, *REV1 and in *URL2, *REV2. @@ -1498,17 +1538,34 @@ diff_prepare_repos_repos(const char **ur actual URLs will be. */ if (peg_revision-kind != svn_opt_revision_unspecified) { - SVN_ERR(svn_client__repos_locations(url1, NULL, - url2, NULL, - *ra_session, - path_or_url2, - peg_revision, - revision1, - revision2, - ctx, pool)); - /* Reparent the session, since *URL2 might have changed
svn commit: r1202121 - /subversion/branches/1.7.x-r1201824/
Author: stsp Date: Tue Nov 15 10:51:44 2011 New Revision: 1202121 URL: http://svn.apache.org/viewvc?rev=1202121view=rev Log: Create a backport branch for r1201824. Added: subversion/branches/1.7.x-r1201824/ (props changed) - copied from r1202119, subversion/branches/1.7.x/ Propchange: subversion/branches/1.7.x-r1201824/ -- --- bugtraq:logregex (added) +++ bugtraq:logregex Tue Nov 15 10:51:44 2011 @@ -0,0 +1,2 @@ +[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+ +(\d+) Propchange: subversion/branches/1.7.x-r1201824/ -- bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID% Propchange: subversion/branches/1.7.x-r1201824/ -- --- svn:ignore (added) +++ svn:ignore Tue Nov 15 10:51:44 2011 @@ -0,0 +1,50 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.sln +subversion_vcnet.ncb +subversion_vcnet.suo +subversion_vcnet.sdf +subversion_vcnet.opensdf +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +zlib +sqlite-amalgamation +serf Propchange: subversion/branches/1.7.x-r1201824/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Nov 15 10:51:44 2011 @@ -0,0 +1,71 @@ +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-JavaHL-pools:1158684-1158722 +/subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-issue3975:1160761-1161546 +/subversion/branches/1.7.x-issue3976:1161731-1165397 +/subversion/branches/1.7.x-issue4032:1186668-1186784 +/subversion/branches/1.7.x-issue4035:1186202-1186315 +/subversion/branches/1.7.x-issue4035-r1185738:1186316-1186778 +/subversion/branches/1.7.x-issue4k:1166502-1167193 +/subversion/branches/1.7.x-neon-default:1148803-1158680 +/subversion/branches/1.7.x-r1152189:1152759-1154249 +/subversion/branches/1.7.x-r1155160:1158704-1159223 +/subversion/branches/1.7.x-r1159093:1159097-1159230 +/subversion/branches/1.7.x-r1163557:1163574-1170648 +/subversion/branches/1.7.x-r1173425:1173429-1176454 +/subversion/branches/1.7.x-r1180154:1186224-1186351 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/gnome-keyring:870558-871410 +/subversion/branches/http-protocol-v2:874395-876041 +/subversion/branches/in-memory-cache:869829-871452 +/subversion/branches/integrate-cache-item-serialization:1068724-1068739 +/subversion/branches/integrate-cache-membuffer:998649-998852 +/subversion/branches/integrate-compression-level:1068651-1072287 +/subversion/branches/integrate-io-improvements:1068684-1072297 +/subversion/branches/integrate-is-cachable:1072568-1074082 +/subversion/branches/integrate-partial-getter:1072558-1076552 +/subversion/branches/integrate-readline-speedup:1072553-1072555 +/subversion/branches/integrate-stream-api-extensions:1068695-1072516 +/subversion/branches/integrate-txdelta-caching:1072541-1078213 +/subversion/branches/issue-2779-dev:965496-984198 +/subversion/branches/issue-2843-dev:871432-874179 +/subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 +/subversion/branches/issue-3067-deleted-subtrees:873375-874084 +/subversion/branches/issue-3148-dev:875193-875204 +/subversion/branches/issue-3220-dev:872210-872226 +/subversion/branches/issue-3242-dev:879653-896436 +/subversion/branches/issue-3334-dirs:875156-875867 +/subversion/branches/issue-3975:1152931-1160746 +/subversion/branches/kwallet:870785-871314 +/subversion/branches/log-g-performance:870941-871032
svn commit: r1202126 - in /subversion/branches/1.7.x-r1201824: ./ subversion/libsvn_client/diff.c subversion/libsvn_ra/ra_loader.c subversion/tests/cmdline/diff_tests.py
Author: stsp Date: Tue Nov 15 11:02:02 2011 New Revision: 1202126 URL: http://svn.apache.org/viewvc?rev=1202126view=rev Log: On the 1.7.x-r1201824 branch, backport r1201824 from trunk, resolving conflicts. Modified: subversion/branches/1.7.x-r1201824/ (props changed) subversion/branches/1.7.x-r1201824/subversion/libsvn_client/diff.c subversion/branches/1.7.x-r1201824/subversion/libsvn_ra/ra_loader.c subversion/branches/1.7.x-r1201824/subversion/tests/cmdline/diff_tests.py Propchange: subversion/branches/1.7.x-r1201824/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Nov 15 11:02:02 2011 @@ -68,4 +68,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,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,1156085,115 6098,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,1158924,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,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,1187311,1188609,1189190,1189395,1189580,1189665,1197998 +/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,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,1156085,115 6098,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,1158924,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,1166500
svn commit: r1202129 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Nov 15 11:07:28 2011 New Revision: 1202129 URL: http://svn.apache.org/viewvc?rev=1202129view=rev Log: * STATUS: Suggest r1201824. 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=1202129r1=1202128r2=1202129view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Nov 15 11:07:28 2011 @@ -101,6 +101,17 @@ Candidate changes: Votes: +1: philip + * r1201824 + Fix issue #2873. + Justification: + svn diff -c N on a file added in revision N is broken. + Not a regression from 1.6.x but backporting this fix is easy + because it needs no public API changes. + Branch: + ^/subversion/branches/1.7.x-r1201824 + Votes: + +1: stsp + Veto-blocked changes: =
svn commit: r1202132 - /subversion/trunk/subversion/svn/log-cmd.c
Author: stsp Date: Tue Nov 15 11:25:43 2011 New Revision: 1202132 URL: http://svn.apache.org/viewvc?rev=1202132view=rev Log: * subversion/svn/log-cmd.c (log_entry_receiver): Now that issue #2873 has been fixed, remove a corresponding workaround for 'svn log --diff'. The diff displayed is now correctly scoped to the path being logged even in the revision where the path was added. Modified: subversion/trunk/subversion/svn/log-cmd.c Modified: subversion/trunk/subversion/svn/log-cmd.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/log-cmd.c?rev=1202132r1=1202131r2=1202132view=diff == --- subversion/trunk/subversion/svn/log-cmd.c (original) +++ subversion/trunk/subversion/svn/log-cmd.c Tue Nov 15 11:25:43 2011 @@ -299,82 +299,23 @@ log_entry_receiver(void *baton, end_revision.value.number = log_entry-revision; SVN_ERR(svn_cmdline_printf(pool, _(\n))); - err = svn_client_diff6(diff_options, - lb-target_url, - start_revision, - lb-target_url, - end_revision, - NULL, - lb-depth, - FALSE, /* ignore ancestry */ - TRUE, /* no diff deleted */ - FALSE, /* show copies as adds */ - FALSE, /* ignore content type */ - FALSE, /* use git diff format */ - svn_cmdline_output_encoding(pool), - outstream, - errstream, - NULL, - lb-ctx, pool); - if (err) -{ - /* We get a path not found error in case the revision created - * lb-target_url. Try to show a diff from the parent instead. */ - if (err-apr_err == SVN_ERR_FS_NOT_FOUND) -{ - const char *parent; - apr_pool_t *iterpool; - - svn_error_clear(err); - - parent = svn_uri_dirname(lb-target_url, pool); - iterpool = svn_pool_create(pool); - while (strcmp(parent, lb-target_url) != 0) -{ - svn_pool_clear(iterpool); - err = svn_client_diff6(diff_options, - parent, - start_revision, - parent, - end_revision, - NULL, - lb-depth, - FALSE, /* ignore ancestry */ - TRUE, /* no diff deleted */ - FALSE, /* show copies as adds */ - FALSE, /* ignore content type */ - FALSE, /* use git diff format */ - svn_cmdline_output_encoding(iterpool), - outstream, - errstream, - NULL, - lb-ctx, iterpool); - if (err == SVN_NO_ERROR) -break; - else -{ - if (err-apr_err == SVN_ERR_FS_NOT_FOUND) -{ - svn_error_clear(err); - parent = svn_uri_dirname(parent, pool); - continue; -} - if (err-apr_err == SVN_ERR_RA_ILLEGAL_URL || - err-apr_err == SVN_ERR_AUTHZ_UNREADABLE || - err-apr_err == SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) -{ - svn_error_clear(err); - break; -} - return svn_error_trace(err); -} -} - svn_pool_destroy(iterpool); -} - else -return svn_error_trace(err); -} - + SVN_ERR(svn_client_diff6(diff_options, + lb-target_url, + start_revision, + lb-target_url, + end_revision, + NULL, + lb-depth, + FALSE, /* ignore ancestry */ + TRUE, /* no diff deleted */ + FALSE, /* show copies as adds */ + FALSE, /* ignore content type
svn commit: r1202272 - /subversion/branches/1.6.x/STATUS
Author: stsp Date: Tue Nov 15 16:13:19 2011 New Revision: 1202272 URL: http://svn.apache.org/viewvc?rev=1202272view=rev Log: * STATUS (for 1.6.x): Nominate r893478. Modified: subversion/branches/1.6.x/STATUS Modified: subversion/branches/1.6.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=1202272r1=1202271r2=1202272view=diff == --- subversion/branches/1.6.x/STATUS (original) +++ subversion/branches/1.6.x/STATUS Tue Nov 15 16:13:19 2011 @@ -116,6 +116,16 @@ Candidate changes: Votes: +1: stsp, philip + * r893478 + Make the stderr output of the post-commit hook XML-safe. + Justification: + Prevents obscure error messages after commit, such as: + svn: MERGE of '/svn/repos/trunk': 200 OK (http://localhost:8081) + This happens if the client cannot parse the XML response to + the MERGE request. + Votes: + +1: stsp + Veto-blocked changes: =
svn commit: r1202275 - /subversion/branches/1.6.x/STATUS
Author: stsp Date: Tue Nov 15 16:16:05 2011 New Revision: 1202275 URL: http://svn.apache.org/viewvc?rev=1202275view=rev Log: * STATUS (for 1.6.x): r893478 approved by cmpilato and danielsh on IRC Modified: subversion/branches/1.6.x/STATUS Modified: subversion/branches/1.6.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=1202275r1=1202274r2=1202275view=diff == --- subversion/branches/1.6.x/STATUS (original) +++ subversion/branches/1.6.x/STATUS Tue Nov 15 16:16:05 2011 @@ -116,16 +116,6 @@ Candidate changes: Votes: +1: stsp, philip - * r893478 - Make the stderr output of the post-commit hook XML-safe. - Justification: - Prevents obscure error messages after commit, such as: - svn: MERGE of '/svn/repos/trunk': 200 OK (http://localhost:8081) - This happens if the client cannot parse the XML response to - the MERGE request. - Votes: - +1: stsp - Veto-blocked changes: = @@ -270,3 +260,13 @@ Veto-blocked changes: Approved changes: = + + * r893478 + Make the stderr output of the post-commit hook XML-safe. + Justification: + Prevents obscure error messages after commit, such as: + svn: MERGE of '/svn/repos/trunk': 200 OK (http://localhost:8081) + This happens if the client cannot parse the XML response to + the MERGE request. + Votes: + +1: stsp, danielsh, cmpilato
svn commit: r1202345 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Nov 15 18:10:02 2011 New Revision: 1202345 URL: http://svn.apache.org/viewvc?rev=1202345view=rev Log: * STATUS: Approve r1202135 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=1202345r1=1202344r2=1202345view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Nov 15 18:10:02 2011 @@ -91,16 +91,6 @@ Candidate changes: Votes: +1: stsp, rhuijben - * r1202135, r1202187 - Fix issue 4060, spurious authz denied when svnserve root is a repository. - Justification: - Regression from 1.6. - Notes: - r1202135 is fix, r1202187 is regression test - Votes: - +1: philip, rhuijben - +1: stsp (r1202135) - Veto-blocked changes: = @@ -125,3 +115,12 @@ Veto-blocked changes: Approved changes: = + + * r1202135, r1202187 + Fix issue 4060, spurious authz denied when svnserve root is a repository. + Justification: + Regression from 1.6. + Notes: + r1202135 is fix, r1202187 is regression test + Votes: + +1: philip, rhuijben, stsp
svn commit: r1202352 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Nov 15 18:18:00 2011 New Revision: 1202352 URL: http://svn.apache.org/viewvc?rev=1202352view=rev Log: * STATUS: Approve r1201002. 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=1202352r1=1202351r2=1202352view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Nov 15 18:18:00 2011 @@ -73,13 +73,6 @@ Candidate changes: Votes: +1: philip, rhuijben - * r1201002 - Fix occasional unitialised memory read in client diff code. - Justification: - Undefined behaviour. - Votes: - +1: philip, rhuijben - * r1201824 Fix issue #2873. Justification: @@ -115,3 +108,10 @@ Veto-blocked changes: Approved changes: = + + * r1201002 + Fix occasional unitialised memory read in client diff code. + Justification: + Undefined behaviour. + Votes: + +1: philip, rhuijben, stsp
svn commit: r1202692 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Wed Nov 16 13:08:51 2011 New Revision: 1202692 URL: http://svn.apache.org/viewvc?rev=1202692view=rev Log: * STATUS: I like r1202630. 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=1202692r1=1202691r2=1202692view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Wed Nov 16 13:08:51 2011 @@ -89,7 +89,7 @@ Candidate changes: Justification: Prevents corrupt wc, will help track down the issue 4062 upgrades. Votes: - +1: philip + +1: philip, stsp Veto-blocked changes: =
svn commit: r1202836 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Wed Nov 16 18:58:09 2011 New Revision: 1202836 URL: http://svn.apache.org/viewvc?rev=1202836view=rev Log: * STATUS: Approve r1202807. 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=1202836r1=1202835r2=1202836view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Wed Nov 16 18:58:09 2011 @@ -99,14 +99,6 @@ Candidate changes: +1: philip =0: danielsh (disagrees with the choice of implementation. see list) - * r1202807 - Avoid a potential segfault during merges. - Justification: - TSVN users have run into this segfault in the wild, see - http://svn.haxx.se/dev/archive-2011-11/0261.shtml - Votes: - +1: pburba, steveking - Veto-blocked changes: = @@ -131,3 +123,11 @@ Veto-blocked changes: Approved changes: = + + * r1202807 + Avoid a potential segfault during merges. + Justification: + TSVN users have run into this segfault in the wild, see + http://svn.haxx.se/dev/archive-2011-11/0261.shtml + Votes: + +1: pburba, steveking, stsp
svn commit: r1202883 - in /subversion/branches/moves-scan-log/subversion: include/svn_wc.h libsvn_client/update.c libsvn_wc/util.c svn/notify.c
Author: stsp Date: Wed Nov 16 21:03:56 2011 New Revision: 1202883 URL: http://svn.apache.org/viewvc?rev=1202883view=rev Log: On the moves-scan-log branch, do progress reporting while scanning for moves. It currently looks as follows: $ svn up -r 1083285 Updating '.': Scanning revision log for moves within r1083285:r1183385 (68%) This new output probably breaks 'make check' on this branch for now. * subversion/include/svn_wc.h (svn_wc_notify_action_t): Add svn_wc_notify_moves_scan_log_start, svn_wc_notify_moves_scan_log_in_progress, and svn_wc_notify_moves_scan_log_done. (svn_wc_notify_t): Add moves_scan_log_start_rev, moves_scan_log_end_rev, and moves_scan_log_current_rev. * subversion/svn/notify.c (notify): Print progress information for moves scan. * subversion/libsvn_wc/util.c (svn_wc_create_notify): Initialize new revision fields. * subversion/libsvn_client/update.c (scan_moves_log_receiver_baton): Add the update anchor_abspath, client context, and start:end revisions. (scan_moves_log_receiver): Report progress via notification callback. (get_repos_moves_baton): New. Required to pass more than just an ra_session to the scan_moves_log_receiver. (get_repos_moves): Notify about move scanning (start/stop), and initialize new fields in scan_moves_log_receiver_baton. (update_internal): Use new get_repos_moves_baton. Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_client/update.c subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c subversion/branches/moves-scan-log/subversion/svn/notify.c Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1202883r1=1202882r2=1202883view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_wc.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_wc.h Wed Nov 16 21:03:56 2011 @@ -1219,7 +1219,19 @@ typedef enum svn_wc_notify_action_t /** The operation skipped the path because it was conflicted. * @since New in 1.7. */ - svn_wc_notify_skip_conflicted + svn_wc_notify_skip_conflicted, + + /** Starting to scan the revision log for server-side moves. + * @since New in 1.8. */ + svn_wc_notify_moves_scan_log_start, + + /** Progress update while scanning the revision log for server-side moves. + * @since New in 1.8. */ + svn_wc_notify_moves_scan_log_in_progress, + + /** Scanning the revision log for server-side moves finished. + * @since New in 1.8. */ + svn_wc_notify_moves_scan_log_done } svn_wc_notify_action_t; @@ -1403,6 +1415,15 @@ typedef struct svn_wc_notify_t { * @since New in 1.7 */ svn_linenum_t hunk_fuzz; + /** The revision range being scanned for server-side moves. + * @since New in 1.8 */ + svn_revnum_t moves_scan_log_start_rev; + svn_revnum_t moves_scan_log_end_rev; + + /** The revision currently being scanned for server-side moves. + * @since New in 1.8 */ + svn_revnum_t moves_scan_log_current_rev; + /* NOTE: Add new fields at the end to preserve binary compatibility. Also, if you add fields here, you have to update svn_wc_create_notify and svn_wc_dup_notify. */ Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1202883r1=1202882r2=1202883view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Wed Nov 16 21:03:56 2011 @@ -161,6 +161,11 @@ is_empty_wc(svn_boolean_t *clean_checkou } struct scan_moves_log_receiver_baton { + const char *anchor_abspath; + svn_client_ctx_t *ctx; + svn_revnum_t start; + svn_revnum_t end; + /* The moved nodes hash to be populated. * Maps moved-from path to an array of repos_move_info_t. */ apr_hash_t *moves; @@ -179,6 +184,19 @@ scan_moves_log_receiver(void *baton, apr_pool_t *result_pool = apr_hash_pool_get(b-moves); int i; + if (b-ctx-notify_func2) +{ + svn_wc_notify_t *notify; + + notify = svn_wc_create_notify(b-anchor_abspath, +svn_wc_notify_moves_scan_log_in_progress, +scratch_pool); + notify-moves_scan_log_start_rev = b-start; + notify-moves_scan_log_end_rev = b-end; + notify-moves_scan_log_current_rev = log_entry-revision; + b-ctx-notify_func2(b-ctx-notify_baton2, notify, scratch_pool); +} + /* Scan for copied and deleted nodes in this revision. */ for (hi = apr_hash_first(scratch_pool, log_entry-changed_paths2); hi; hi
svn commit: r1202884 - /subversion/branches/moves-scan-log/subversion/libsvn_client/update.c
Author: stsp Date: Wed Nov 16 21:05:46 2011 New Revision: 1202884 URL: http://svn.apache.org/viewvc?rev=1202884view=rev Log: On the moves-scan-log branch: * subversion/libsvn_client/update.c (scan_moves_log_receiver): Do nothing if no changed path data is available for the revision (e.g. due to authz restrictions). Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1202884r1=1202883r2=1202884view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Wed Nov 16 21:05:46 2011 @@ -197,6 +197,9 @@ scan_moves_log_receiver(void *baton, b-ctx-notify_func2(b-ctx-notify_baton2, notify, scratch_pool); } + if (log_entry-changed_paths2 == NULL) +return SVN_NO_ERROR; + /* Scan for copied and deleted nodes in this revision. */ for (hi = apr_hash_first(scratch_pool, log_entry-changed_paths2); hi; hi = apr_hash_next(hi))
svn commit: r1202911 - /subversion/branches/moves-scan-log/subversion/svn/notify.c
Author: stsp Date: Wed Nov 16 22:24:51 2011 New Revision: 1202911 URL: http://svn.apache.org/viewvc?rev=1202911view=rev Log: On the moves-scan-log branch: * subversion/svn/notify.c (notify): Prepend \r to the line printed when scanning stops. Modified: subversion/branches/moves-scan-log/subversion/svn/notify.c Modified: subversion/branches/moves-scan-log/subversion/svn/notify.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/notify.c?rev=1202911r1=1202910r2=1202911view=diff == --- subversion/branches/moves-scan-log/subversion/svn/notify.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/notify.c Wed Nov 16 22:24:51 2011 @@ -1009,7 +1009,7 @@ notify(void *baton, const svn_wc_notify_ case svn_wc_notify_moves_scan_log_done: err = svn_cmdline_printf(pool, _(%sScanning revision log for moves within r%ld:r%ld (%ld%%)%s), - , n-moves_scan_log_start_rev, + \r, n-moves_scan_log_start_rev, n-moves_scan_log_end_rev, (long int)100, \n); if (err) goto print_error;
svn commit: r1202949 - /subversion/branches/moves-scan-log/subversion/libsvn_client/update.c
Author: stsp Date: Thu Nov 17 00:24:48 2011 New Revision: 1202949 URL: http://svn.apache.org/viewvc?rev=1202949view=rev Log: On the moves-scan-log branch, implement an ancestry check between the deleted and copied node in the move detection heuristic. * subversion/libsvn_client/update.c (scan_moves_log_receiver_baton): Add ra_session. (scan_moves_log_receiver): Check for ancestry between a delete/copy move candidate pair. Add a TODO comment for an additional check which should be implemented, too. Fix strcmp() return value interpretation in the code that detects nodes which were moved multiple times within the revision range being scanned. (get_repos_moves): Put ra_session into the log receiver baton. Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1202949r1=1202948r2=1202949view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Thu Nov 17 00:24:48 2011 @@ -165,6 +165,7 @@ struct scan_moves_log_receiver_baton { svn_client_ctx_t *ctx; svn_revnum_t start; svn_revnum_t end; + svn_ra_session_t *ra_session; /* The moved nodes hash to be populated. * Maps moved-from path to an array of repos_move_info_t. */ @@ -177,12 +178,15 @@ scan_moves_log_receiver(void *baton, apr_pool_t *scratch_pool) { apr_hash_index_t *hi; - apr_hash_t *copied_paths = apr_hash_make(scratch_pool); /* copyfrom-copyto */ - apr_array_header_t *deleted_paths = apr_array_make(scratch_pool, 0, - sizeof(const char *)); + apr_hash_t *copies; + apr_array_header_t *deleted_paths; struct scan_moves_log_receiver_baton *b = baton; apr_pool_t *result_pool = apr_hash_pool_get(b-moves); + apr_pool_t *iterpool; int i; + const char *session_url; + const char *repos_root_url; + apr_array_header_t *location_revisions; if (b-ctx-notify_func2) { @@ -200,6 +204,9 @@ scan_moves_log_receiver(void *baton, if (log_entry-changed_paths2 == NULL) return SVN_NO_ERROR; + copies = apr_hash_make(scratch_pool); + deleted_paths = apr_array_make(scratch_pool, 0, sizeof(const char *)); + /* Scan for copied and deleted nodes in this revision. */ for (hi = apr_hash_first(scratch_pool, log_entry-changed_paths2); hi; hi = apr_hash_next(hi)) @@ -209,21 +216,23 @@ scan_moves_log_receiver(void *baton, if (data-action == 'A' data-copyfrom_path) { - if (apr_hash_get(copied_paths, data-copyfrom_path, - APR_HASH_KEY_STRING)) + svn_log_changed_path2_t *copy; + + if (apr_hash_get(copies, data-copyfrom_path, APR_HASH_KEY_STRING)) { /* The same copyfrom path appears multiple times. In this * limited and simplified client-side heuristic, this means - * that the node was not moved. - * Mark this entry as invalid by setting the value to . + * that the node was not moved. Mark this copy as such by + * setting the copyfrom_path to . * ### Extend this check to ignore copies crossing branch-roots? */ - apr_hash_set(copied_paths, data-copyfrom_path, - APR_HASH_KEY_STRING, ); + copy = svn_log_changed_path2_create(scratch_pool); + copy-copyfrom_path = ; } else -apr_hash_set(copied_paths, data-copyfrom_path, - APR_HASH_KEY_STRING, path); +copy = data; + + apr_hash_set(copies, data-copyfrom_path, APR_HASH_KEY_STRING, copy); } else if (data-action == 'D') APR_ARRAY_PUSH(deleted_paths, const char *) = path; @@ -232,68 +241,146 @@ scan_moves_log_receiver(void *baton, /* If a node was deleted at one location and copied from the deleted * location to a new location within the same revision, put the node * on the moved-nodes list. */ + SVN_ERR(svn_ra_get_session_url(b-ra_session, session_url, scratch_pool)); + SVN_ERR(svn_ra_get_repos_root2(b-ra_session, repos_root_url, scratch_pool)); + location_revisions = apr_array_make(scratch_pool, 1, sizeof(svn_revnum_t)); + iterpool = svn_pool_create(scratch_pool); for (i = 0; i deleted_paths-nelts; i++) { - const char *deleted_path = APR_ARRAY_IDX(deleted_paths, i, const char *); - const char *copied_path = apr_hash_get(copied_paths, deleted_path, - APR_HASH_KEY_STRING); - if (copied_path copied_path[0] != '\0
svn commit: r1203633 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Fri Nov 18 13:09:17 2011 New Revision: 1203633 URL: http://svn.apache.org/viewvc?rev=1203633view=rev Log: * STATUS: Approve r1203546. 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=1203633r1=1203632r2=1203633view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Fri Nov 18 13:09:17 2011 @@ -81,13 +81,6 @@ Candidate changes: =0: danielsh, rhuijben (disagrees with the choice of implementation. see list) - * r1203546 - Fix nested Locations when using v2 protocol. - Justification: - Regression from 1.6 unless v2 protocol is disabled. - Votes: - +1: philip, rhuijben - Veto-blocked changes: = @@ -131,3 +124,11 @@ Approved changes: Prevents corrupt wc, will help track down the issue 4062 upgrades. Votes: +1: philip, stsp, rhuijben + + * r1203546 + Fix nested Locations when using v2 protocol. + Justification: + Regression from 1.6 unless v2 protocol is disabled. + Votes: + +1: philip, rhuijben + +1: stsp (a regress test would be nice to have in trunk)
svn commit: r1203653 - /subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c
Author: stsp Date: Fri Nov 18 14:16:08 2011 New Revision: 1203653 URL: http://svn.apache.org/viewvc?rev=1203653view=rev Log: Follow-up to r1203651: * subversion/mod_dav_svn/mod_dav_svn.c (merge_dir_config): Use svn__fspath instead of svn_dirent for URL-paths. Correctly print Locations nested more than 1 level deep. Modified: subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c Modified: subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c?rev=1203653r1=1203652r2=1203653view=diff == --- subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c (original) +++ subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c Fri Nov 18 14:16:08 2011 @@ -221,7 +221,8 @@ merge_dir_config(apr_pool_t *p, void *ba ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL, mod_dav_svn: nested Location '%s' hinders access to '%s' in SVNPath Location '%s', - child-root_dir, svn_dirent_basename(child-root_dir, p), + child-root_dir, + svn_fspath__skip_ancestor(parent-root_dir, child-root_dir), parent-root_dir); return newconf;
svn commit: r1203656 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Fri Nov 18 14:16:53 2011 New Revision: 1203656 URL: http://svn.apache.org/viewvc?rev=1203656view=rev Log: * STATUS: Add r1203653. 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=1203656r1=1203655r2=1203656view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Fri Nov 18 14:16:53 2011 @@ -81,14 +81,14 @@ Candidate changes: =0: danielsh, rhuijben (disagrees with the choice of implementation. see list) - * r1203546, r1203651 + * r1203546, r1203651, 1203653 Fix nested Locations when using v2 protocol. Justification: Regression from 1.6 unless v2 protocol is disabled. Votes: - +1: philip + +1: philip (r1203546, r1203651 only) +1: rhuijben (r1203546 only) - +1: stsp (a regress test would be nice to have in trunk) (r1203546 only) + +1: stsp (a regress test would be nice to have) Veto-blocked changes: =
svn commit: r1203659 - /subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c
Author: stsp Date: Fri Nov 18 14:21:09 2011 New Revision: 1203659 URL: http://svn.apache.org/viewvc?rev=1203659view=rev Log: Follow-up to 1203653: * subversion/mod_dav_svn/mod_dav_svn.c (merge_dir_config): Use svn__urlpath instead of svn__fspath for URL-paths. This is a cosmetic change only since svn__urlpath_skip_ancestor() is a macro which expands to svn__fspath_skip_ancestor(). Modified: subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c Modified: subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c?rev=1203659r1=1203658r2=1203659view=diff == --- subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c (original) +++ subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c Fri Nov 18 14:21:09 2011 @@ -222,7 +222,7 @@ merge_dir_config(apr_pool_t *p, void *ba mod_dav_svn: nested Location '%s' hinders access to '%s' in SVNPath Location '%s', child-root_dir, - svn_fspath__skip_ancestor(parent-root_dir, child-root_dir), + svn_urlpath__skip_ancestor(parent-root_dir, child-root_dir), parent-root_dir); return newconf;
svn commit: r1204035 - in /subversion/branches/moves-scan-log/subversion: include/svn_wc.h libsvn_client/update.c
Author: stsp Date: Sat Nov 19 18:34:52 2011 New Revision: 1204035 URL: http://svn.apache.org/viewvc?rev=1204035view=rev Log: On the moves-scan-log branch, change the way data about server-side moves is returned from the log history scanner. Before this change, a given sequence of moves which happened in given revisions, such as: rA: mv x-z rA: mv a-b rB: mv b-c rC: mv c-d resulted in a map of original source paths to a list of all moves of this node: 'x' : [(rA, x-z)] 'a' : [(rA, a-b), (rB, b-c), (rC, c-d)] This is impractical. During updates the base revision of the working copy is arbitrary so we might not know the nodes 'a' and 'x' under these names. So, instead, build a map of revision numbers to all moves which happened in the given revision, which looks as follows: rA : [(rA, x-z), (rA, a-b)] rB : [(rB, b-c),] rC : [(rC, c-d),] This will later allow an update to find relevant moves based on the base revision of a node. Additionally, all moves pertaining to the same node are chained into a doubly-linked list via 'next' and 'prev' pointers. This way, an update can look up all moves relevant to a node, forwards or backwards in history, once it has located a relevant move in the chain. This can be visualized as follows: rA : [(rA, x-z, prev=NULL, next=NULL), (rA, a-b, prev=NULL, next=(rB, b-c))] rB : [(rB, b-c), prev=(rA, a-b), next=(rC, c-d)] rC : [(rC, c-d), prev=(rB, c-d), next=NULL,] The update editor still does not use this information. But it will soon. * subversion/include/svn_wc.h (svn_wc_repos_move_info_t): Add copyfrom_rev, prev, and next. Add docstrings. * subversion/libsvn_client/update.c (scan_moves_log_receiver_baton): Semantics of the moves hash map change as described above. Add moves_by_target_path hash map which allows quick lookup of possible prior moves of the same node. (copy_info): New struct to fully describe a copy operation. (check_ancestry): New helper function, split off from ... (scan_moves_log_receiver): ... this function, because it needs to perform ancestry checks in two different cases: Once to establish ancestry between the delete-half and copied-half of a new move, and to establish ancestry in case a node is moved more than once within the log history being scanned. Make sure all paths stored in the moves map are relative, i.e. with no leading slash. Paths are returned with leading slashes from the log but paths used during conflict resolution in the update editor are relative. (get_repos_moves): Initalise the new moves_by_target_path map in the baton. Convert the debug print statement to expect new move info map semantics. Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1204035r1=1204034r2=1204035view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_wc.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_wc.h Sat Nov 19 18:34:52 2011 @@ -5505,10 +5505,26 @@ typedef svn_error_t *(*svn_wc_dirents_fu apr_pool_t *scratch_pool); +/** Describes a server-side move (really a copy+delete within the same + * revision) which has been identified by scanning the revision log. + * @since New in 1.8. */ typedef struct svn_wc_repos_move_info_t { + /* The repository relpath the node was moved from. */ const char *moved_from_repos_relpath; + + /* The repository relpath the node was moved to. */ const char *moved_to_repos_relpath; + + /* The revision in which the move happened. */ svn_revnum_t revision; + + /* The copyfrom revision of the moved-to path. */ + svn_revnum_t copyfrom_rev; + + /* Pointers to previous or subsequent moves of the same node + * within interesting history. */ + struct svn_wc_repos_move_info_t *prev; + struct svn_wc_repos_move_info_t *next; } svn_wc_repos_move_info_t; /* ### TODO docco Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1204035r1=1204034r2=1204035view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Sat Nov 19 18:34:52 2011 @@ -168,10 +168,91 @@ struct scan_moves_log_receiver_baton { svn_ra_session_t *ra_session; /* The moved nodes hash to be populated. - * Maps moved-from path to an array of repos_move_info_t. */ + * Maps a revision number to an array of repos_move_info_t
svn propchange: r1204035 - svn:log
Author: stsp Revision: 1204035 Modified property: svn:log Modified: svn:log at Sat Nov 19 18:37:34 2011 -- --- svn:log (original) +++ svn:log Sat Nov 19 18:37:34 2011 @@ -32,7 +32,7 @@ This can be visualized as follows: rA : [(rA, x-z, prev=NULL, next=NULL), (rA, a-b, prev=NULL, next=(rB, b-c))] rB : [(rB, b-c), prev=(rA, a-b), next=(rC, c-d)] - rC : [(rC, c-d), prev=(rB, c-d), next=NULL,] + rC : [(rC, c-d), prev=(rB, c-d), next=NULL] The update editor still does not use this information. But it will soon.
svn commit: r1204040 - /subversion/branches/moves-scan-log/subversion/libsvn_client/update.c
Author: stsp Date: Sat Nov 19 18:44:18 2011 New Revision: 1204040 URL: http://svn.apache.org/viewvc?rev=1204040view=rev Log: On the moves-scan-log branch: * subversion/libsvn_client/update.c (get_repos_moves): Print move copyfrom revision in debug output. Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1204040r1=1204039r2=1204040view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Sat Nov 19 18:44:18 2011 @@ -498,9 +498,10 @@ get_repos_moves(void *baton, move_info = APR_ARRAY_IDX(moves_in_rev, i, svn_wc_repos_move_info_t *); -SVN_DBG((found server-side move in r%ld: '%s' - '%s'\n, +SVN_DBG((found server-side move in r%ld: '%s@%ld' - '%s'\n, move_info-revision, move_info-moved_from_repos_relpath, + move_info-copyfrom_rev, move_info-moved_to_repos_relpath)); } }
svn commit: r1204167 - /subversion/trunk/subversion/libsvn_subr/io.c
Author: stsp Date: Sun Nov 20 13:35:00 2011 New Revision: 1204167 URL: http://svn.apache.org/viewvc?rev=1204167view=rev Log: Fix issue #4064, UTF-8 files containing only a byte order mark are added as binary. Special-case empty UTF-8 files which have a UTF-8 BOM. This prevents such files from being considered binary. * subversion/libsvn_subr/io.c (svn_io_is_binary_data): Return FALSE if the data contains only a UTF-8 BOM. Reported by: Tomáš Bihary Modified: subversion/trunk/subversion/libsvn_subr/io.c Modified: subversion/trunk/subversion/libsvn_subr/io.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?rev=1204167r1=1204166r2=1204167view=diff == --- subversion/trunk/subversion/libsvn_subr/io.c (original) +++ subversion/trunk/subversion/libsvn_subr/io.c Sun Nov 20 13:35:00 2011 @@ -2980,6 +2980,13 @@ svn_io_is_binary_data(const void *data, { const unsigned char *buf = data; + if (len == 3 buf[0] == 0xEF buf[1] == 0xBB buf[2] == 0xBF) +{ + /* This is an empty UTF-8 file which only contains the UTF-8 BOM. + * Treat it as plain text. */ + return FALSE; +} + /* Right now, this function is going to be really stupid. It's going to examine the block of data, and make sure that 15% of the bytes are such that their value is in the ranges 0x07-0x0D
svn commit: r1204168 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Sun Nov 20 13:37:36 2011 New Revision: 1204168 URL: http://svn.apache.org/viewvc?rev=1204168view=rev Log: * STATUS: Nominate r1204167. 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=1204168r1=1204167r2=1204168view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Sun Nov 20 13:37:36 2011 @@ -90,6 +90,16 @@ Candidate changes: +1: rhuijben (r1203546 only) +1: stsp (a regress test would be nice to have) + * r1204167 +Fix issue #4046, UTF-8 files containing only a byte order mark are +added as binary. +Justification: + Empty UTF-8 files are commonly created with a BOM on Windows. + Fix has been requested by several users, see + http://svn.haxx.se/dev/archive-2011-10/0331.shtml +Votes: + +1: stsp + Veto-blocked changes: =
svn commit: r1204445 - /subversion/branches/moves-scan-log/subversion/libsvn_client/update.c
Author: stsp Date: Mon Nov 21 11:11:25 2011 New Revision: 1204445 URL: http://svn.apache.org/viewvc?rev=1204445view=rev Log: On the moves-scan-log branch: * subversion/libsvn_client/update.c (scan_moves_log_receiver_baton): Explain the 'moves' hash in detail, based on the log message of r1204035. Suggested by: philip Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1204445r1=120r2=1204445view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Mon Nov 21 11:11:25 2011 @@ -168,8 +168,34 @@ struct scan_moves_log_receiver_baton { svn_ra_session_t *ra_session; /* The moved nodes hash to be populated. - * Maps a revision number to an array of repos_move_info_t describing - * moves which happened in the revision. */ + * Maps a revision number to an array of svn_wc_repos_move_info_t + * objects describing moves which happened in the revision. + * + * Given a sequence of moves which happened in given revisions, such as: + * rA: mv x-z + * rA: mv a-b + * rB: mv b-c + * rC: mv c-d + * we map each revision number to all moves which happened in the + * revision, which looks as follows: + * rA : [(rA, x-z), (rA, a-b)] + * rB : [(rB, b-c)] + * rC : [(rC, c-d)] + * This allows an update to find relevant moves based on the base + * revision of a node (during updates the base revision of each node + * in the working copy is arbitrary so we might not know the nodes 'a' + * and 'x' under these names). + * Additionally, all moves pertaining to the same node are chained into a + * doubly-linked list via 'next' and 'prev' pointers (see definition of + * svn_wc_repos_move_info_t). + * This way, an update can look up all moves relevant to a node, forwards + * or backwards in history, once it has located a relevant move in the chain. + * This can be visualized as follows: + * rA : [(rA, x-z, prev=NULL, next=NULL), + * (rA, a-b, prev=NULL, next=(rB, b-c))] + * rB : [(rB, b-c), prev=(rA, a-b), next=(rC, c-d)] + * rC : [(rC, c-d), prev=(rB, c-d), next=NULL] + */ apr_hash_t *moves; /* Temporary map of move-target paths to repos_move_info_t.
svn commit: r1205193 - /subversion/trunk/subversion/libsvn_client/commit.c
Author: stsp Date: Tue Nov 22 22:18:37 2011 New Revision: 1205193 URL: http://svn.apache.org/viewvc?rev=1205193view=rev Log: Do not throw a fatal error during 'svn import' if a file with inconsistent eol-style has svn:eol-style set to 'native'. Also, improve an error message. For discussion, see this thread on dev@ from last February: From: Stefan Sperling To: dev@ Date: Tue, 22 Feb 2011 19:35:54 +0100 Subject: Why does import fail with autoprops (inconsistent eol style)? Message-ID: 20110222183553.gu11...@ted.stsp.name http://svn.haxx.se/dev/archive-2011-02/0767.shtml Reminded today in #svn IRC by user alecat. * subversion/libsvn_client/commit.c (send_file_contents): Repair newlines also if eol-style is 'native', not only if it is some fixed style. Improve error message in the case where the value of the svn:eol-style property cannot be parsed. Modified: subversion/trunk/subversion/libsvn_client/commit.c Modified: subversion/trunk/subversion/libsvn_client/commit.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/commit.c?rev=1205193r1=1205192r2=1205193view=diff == --- subversion/trunk/subversion/libsvn_client/commit.c (original) +++ subversion/trunk/subversion/libsvn_client/commit.c Tue Nov 22 22:18:37 2011 @@ -145,19 +145,22 @@ send_file_contents(const char *path, if (svn_subst_translation_required(eol_style, eol, keywords, FALSE, TRUE)) { - svn_boolean_t repair = FALSE; + if (eol_style == svn_subst_eol_style_unknown) +return svn_error_createf(SVN_ERR_IO_UNKNOWN_EOL, NULL, +_(%s property on '%s' contains + unrecognized EOL-style '%s'), +SVN_PROP_EOL_STYLE, path, +eol_style_val-data); + /* We're importing, so translate files with 'native' eol-style to + * repository-normal form, not to this platform's native EOL. */ if (eol_style == svn_subst_eol_style_native) eol = SVN_SUBST_NATIVE_EOL_STR; - else if (eol_style == svn_subst_eol_style_fixed) -repair = TRUE; - else if (eol_style != svn_subst_eol_style_none) -return svn_error_create(SVN_ERR_IO_UNKNOWN_EOL, NULL, NULL); /* Wrap the working copy stream with a filter to detranslate it. */ contents = svn_subst_stream_translated(contents, eol, - repair, + TRUE /* repair */, keywords, FALSE /* expand */, pool);
svn commit: r1205355 [2/2] - in /subversion/branches/moves-scan-log: ./ contrib/client-side/emacs/ notes/ subversion/libsvn_client/ subversion/libsvn_delta/ subversion/libsvn_fs_fs/ subversion/libsvn_
Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/mergeinfo.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/mergeinfo.c?rev=1205355r1=1205354r2=1205355view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/mergeinfo.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/mergeinfo.c Wed Nov 23 10:32:50 2011 @@ -147,13 +147,56 @@ svn_client__record_wc_mergeinfo(const ch return SVN_NO_ERROR; } +svn_error_t * +svn_client__record_wc_mergeinfo_catalog(apr_hash_t *result_catalog, +svn_client_ctx_t *ctx, +apr_pool_t *scratch_pool) +{ + apr_pool_t *iterpool = svn_pool_create(scratch_pool); + + if (apr_hash_count(result_catalog)) +{ + int i; + apr_array_header_t *sorted_cat = +svn_sort__hash(result_catalog, svn_sort_compare_items_as_paths, + scratch_pool); + for (i = 0; i sorted_cat-nelts; i++) +{ + svn_sort__item_t elt = APR_ARRAY_IDX(sorted_cat, i, + svn_sort__item_t); + svn_error_t *err; + + svn_pool_clear(iterpool); + err = svn_client__record_wc_mergeinfo(elt.key, elt.value, TRUE, +ctx, iterpool); + + if (err err-apr_err == SVN_ERR_ENTRY_NOT_FOUND) +{ + /* PATH isn't just missing, it's not even versioned as far + as this working copy knows. But it was included in + MERGES, which means that the server knows about it. + Likely we don't have access to the source due to authz + restrictions. For now just clear the error and + continue... */ + svn_error_clear(err); +} + else +{ + SVN_ERR(err); +} +} +} + svn_pool_destroy(iterpool); + return SVN_NO_ERROR; +} + /*---*/ /*** Retrieving mergeinfo. ***/ svn_error_t * svn_client__get_wc_mergeinfo(svn_mergeinfo_t *mergeinfo, - svn_boolean_t *inherited, + svn_boolean_t *inherited_p, svn_mergeinfo_inheritance_t inherit, const char *local_abspath, const char *limit_abspath, @@ -167,6 +210,7 @@ svn_client__get_wc_mergeinfo(svn_mergein svn_mergeinfo_t wc_mergeinfo; svn_revnum_t base_revision; apr_pool_t *iterpool; + svn_boolean_t inherited; SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath)); if (limit_abspath) @@ -269,7 +313,7 @@ svn_client__get_wc_mergeinfo(svn_mergein if (svn_path_is_empty(walk_relpath)) { /* Mergeinfo is explicit. */ - *inherited = FALSE; + inherited = FALSE; *mergeinfo = wc_mergeinfo; } else @@ -277,7 +321,7 @@ svn_client__get_wc_mergeinfo(svn_mergein /* Mergeinfo may be inherited. */ if (wc_mergeinfo) { - *inherited = TRUE; + inherited = TRUE; SVN_ERR(svn_mergeinfo__add_suffix_to_mergeinfo(mergeinfo, wc_mergeinfo, walk_relpath, @@ -286,7 +330,7 @@ svn_client__get_wc_mergeinfo(svn_mergein } else { - *inherited = FALSE; + inherited = FALSE; *mergeinfo = NULL; } } @@ -296,7 +340,7 @@ svn_client__get_wc_mergeinfo(svn_mergein /* Remove non-inheritable mergeinfo and paths mapped to empty ranges which may occur if WCPATH's mergeinfo is not explicit. */ - if (*inherited + if (inherited apr_hash_count(*mergeinfo)) /* Nothing to do for empty mergeinfo. */ { SVN_ERR(svn_mergeinfo_inheritable2(mergeinfo, *mergeinfo, NULL, @@ -305,6 +349,9 @@ svn_client__get_wc_mergeinfo(svn_mergein svn_mergeinfo__remove_empty_rangelists(*mergeinfo, result_pool); } + if (inherited_p) +*inherited_p = inherited; + return SVN_NO_ERROR; } @@ -335,7 +382,8 @@ svn_client__get_wc_mergeinfo_catalog(svn { if (walked_path) *walked_path = ; - *inherited = FALSE; + if (inherited) +*inherited = FALSE; return SVN_NO_ERROR; } @@ -545,7 +593,7 @@ svn_client__get_wc_or_repos_mergeinfo(sv svn_error_t * svn_client__get_wc_or_repos_mergeinfo_catalog( svn_mergeinfo_catalog_t *target_mergeinfo_catalog, - svn_boolean_t *inherited, + svn_boolean_t *inherited_p, svn_boolean_t *from_repos, svn_boolean_t include_descendants, svn_boolean_t repos_only, @@ -587,8 +635,9 @@ svn_client__get_wc_or_repos_mergeinfo_ca if
svn commit: r1205362 - /subversion/trunk/CHANGES
Author: stsp Date: Wed Nov 23 10:53:16 2011 New Revision: 1205362 URL: http://svn.apache.org/viewvc?rev=1205362view=rev Log: * CHANGES: Tweak 1.7.2 section to explain some changes better. Also fix a wrong revision number (r1202603 vs. r1202630) Modified: subversion/trunk/CHANGES Modified: subversion/trunk/CHANGES URL: http://svn.apache.org/viewvc/subversion/trunk/CHANGES?rev=1205362r1=1205361r2=1205362view=diff == --- subversion/trunk/CHANGES (original) +++ subversion/trunk/CHANGES Wed Nov 23 10:53:16 2011 @@ -38,17 +38,17 @@ Version 1.7.2 http://svn.apache.org/repos/asf/subversion/tags/1.7.2 User-visible changes: - * fix working copy corruption (issue #4040) + * fix working copy corruption after interrupted update/switch (issue #4040) * avoid segfaults against pre-1.5 servers (r1186928) - * avoid configure error when using apr-util and bdb (r1186784) - * make 'svn patch' ignore '/dev/null' targets (r1197998) - * fix segfault on path that skips and deletes (r1199950) - * omit output from 'commit --quiet' (r1200837) - * fix authz denial when svnserve root is a repo (issue #4060) + * improve configure error message if apr-util uses old or no bdb (r1186784) + * make 'svn patch' ignore '/dev/null' targets for compat with git (r1197998) + * fix 'svn patch' segfault on patch that skips and deletes files (r1199950) + * omit Committed revision N. output from 'svn commit --quiet' (r1200837) + * fix authz denial when svnserve root is a repository (issue #4060) * fix uninitialized memory read in client diff code (r1201002) * avoid potential segfault during merges (r1202807) * fix an assertion failure when a symlink is updated (r1186944, -81, -83) - * more working copy corruption protection (r1202603) + * make working copy operations fail if nodes have no base checksum (r1202630) * fix nested Locations when using v2 protocol (r1203546, -651, -653) * make mod_dav_svn ignore non-Subversion POST requests (r1187695) * avoid reading freed memory (r1204478)
svn commit: r1205769 - in /subversion/branches/moves-scan-log/subversion: include/svn_wc.h libsvn_client/update.c libsvn_wc/util.c
Author: stsp Date: Thu Nov 24 09:49:51 2011 New Revision: 1205769 URL: http://svn.apache.org/viewvc?rev=1205769view=rev Log: On the moves-scan-log branch, add a constructor for svn_wc_repos_move_info_t. * subversion/include/svn_wc.h (svn_wc_repos_move_info_t): Note that API users should not allocate objects of this type directly. (svn_wc_create_repos_move_info): Declare. * subversion/libsvn_wc/util.c (svn_wc_create_repos_move_info): New. * subversion/libsvn_client/update.c (scan_moves_log_receiver): Use the new constructor instead of apr_palloc(). Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_client/update.c subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1205769r1=1205768r2=1205769view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_wc.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_wc.h Thu Nov 24 09:49:51 2011 @@ -1716,8 +1716,25 @@ typedef struct svn_wc_repos_move_info_t * within interesting history. */ struct svn_wc_repos_move_info_t *prev; struct svn_wc_repos_move_info_t *next; + + /* @note Fields may be added to the end of this structure in future + * versions. Therefore, to preserve binary compatibility, users + * should not directly allocate structures of this type but should use + * svn_wc_create_repos_move_info(). */ } svn_wc_repos_move_info_t; +/** Create a svn_wc_repos_move_info_t structure. + * @see svn_wc_repos_move_info_t + * @since New in 1.8. */ +svn_wc_repos_move_info_t * +svn_wc_create_repos_move_info(const char *moved_from_repos_relpath, + const char *moved_to_repos_relpath, + svn_revnum_t revision, + svn_revnum_t copyfrom_rev, + svn_wc_repos_move_info_t *prev, + svn_wc_repos_move_info_t *next, + apr_pool_t *result_pool); + /** A struct that describes a conflict that has occurred in the * working copy. Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1205769r1=1205768r2=1205769view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Thu Nov 24 09:49:51 2011 @@ -400,17 +400,13 @@ scan_moves_log_receiver(void *baton, * copy from the past + delete. */ /* Remember details of this move. */ - new_move = apr_palloc(result_pool, sizeof(*new_move)); - new_move-moved_from_repos_relpath = apr_pstrdup( - result_pool, - deleted_path); - new_move-moved_to_repos_relpath = apr_pstrdup( - result_pool, - copy-copyto_path); - new_move-revision = log_entry-revision; - new_move-copyfrom_rev = copy-copyfrom_rev; - new_move-prev = NULL; - new_move-next = NULL; + new_move = svn_wc_create_repos_move_info(apr_pstrdup(result_pool, + deleted_path), + apr_pstrdup(result_pool, + copy-copyto_path), + log_entry-revision, + copy-copyfrom_rev, + NULL, NULL, result_pool); /* Link together multiple moves of the same node. */ prior_move = apr_hash_get(b-moves_by_target_path, Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c?rev=1205769r1=1205768r2=1205769view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c Thu Nov 24 09:49:51 2011 @@ -581,3 +581,25 @@ svn_wc__fetch_props_func(apr_hash_t **pr return SVN_NO_ERROR; } + + +svn_wc_repos_move_info_t * +svn_wc_create_repos_move_info(const char *moved_from_repos_relpath, + const char *moved_to_repos_relpath, + svn_revnum_t revision
svn commit: r1205776 - /subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c
Author: stsp Date: Thu Nov 24 10:17:39 2011 New Revision: 1205776 URL: http://svn.apache.org/viewvc?rev=1205776view=rev Log: On the moves-scan-log branch, fix detection of applicable moves during update. * subversion/libsvn_wc/update_editor.c (find_applicable_move): Return proper move chains containing all applicable moves, instead of returning just the last applicable move. A move which happened in the base revision of a node does apply if updating into the past, so don't ignore such moves. Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1205776r1=1205775r2=1205776view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Thu Nov 24 10:17:39 2011 @@ -1875,17 +1875,34 @@ find_applicable_move(svn_wc_repos_move_i if (strcmp(this_move-moved_from_repos_relpath, repos_relpath) == 0) { - /* Move forward to the last applicable move in the chain, - * collapsing the move chain (e.g. a-b-c-d) into the - * move which is applied by the update (e.g. b-d). */ + svn_wc_repos_move_info_t *m; + + /* Create a shallow copy of the move chain which contains + * only elements of the chain which are applicable to + * the node being updated. + * A shallow copy is sufficient because data is allocated + * in the global editor pool. */ + m = svn_wc_create_repos_move_info( +this_move-moved_from_repos_relpath, +this_move-moved_to_repos_relpath, +this_move-revision, +this_move-copyfrom_rev, +NULL, NULL, result_pool); + *move = m; + /* Add any further applicable moves to the chain. */ while (this_move-next) { if (this_move-next-revision *eb-target_revision) break; this_move = this_move-next; + m = svn_wc_create_repos_move_info( +this_move-moved_from_repos_relpath, +this_move-moved_to_repos_relpath, +this_move-revision, +this_move-copyfrom_rev, +m, NULL, result_pool); } - *move = this_move; break; } } @@ -1904,8 +1921,8 @@ find_applicable_move(svn_wc_repos_move_i apr_array_header_t *moves = elt.value; /* When updating into the past, a move applies if it - * happened before the base rev of the node. */ - if (*rev = base_revision) + * happened before or at the base rev of the node. */ + if (*rev base_revision) continue; /* Generally, we have a chain of reversed moves which happened @@ -1923,16 +1940,42 @@ find_applicable_move(svn_wc_repos_move_i if (strcmp(this_move-moved_to_repos_relpath, repos_relpath) == 0) { - /* Move backwards to the last applicable move in the chain, - * collapsing the move chain (e.g. d-c-b-a) into the - * move which is applied by the update (e.g. d-b). */ + svn_wc_repos_move_info_t *m; + + /* Create a shallow copy of the move chain which contains + * only elements of the chain which are applicable to + * the node being updated. + * A shallow copy is sufficient because data is allocated + * in the global editor pool. + * + * The returned chain is reversed to the chain obtained + * from the log because we're updating into the past, + * i.e. the 'next' and 'prev' pointers are reversed. + * For the same reason we must use the revision the move + * happened in as the copyfrom revision, turning the + * delete-half of a move into a fake copy from future + * history. */ + m = svn_wc_create_repos_move_info( +this_move-moved_to_repos_relpath, +this_move-moved_from_repos_relpath, +this_move-revision
svn commit: r1205784 - in /subversion/branches/moves-scan-log/subversion: include/svn_wc.h libsvn_wc/update_editor.c svn/conflict-callbacks.c
Author: stsp Date: Thu Nov 24 10:51:24 2011 New Revision: 1205784 URL: http://svn.apache.org/viewvc?rev=1205784view=rev Log: On the moves-scan-log branch, fix support for multiple move suggestions. * subversion/include/svn_wc.h (svn_wc_conflict_description2_t): Rename suggested_move to suggested_moves and make this an array. This will be useful in case the log scanning heuristic returns multiple move suggestions (which it does not as of yet). * subversion/svn/conflict-callbacks.c (pick_move, svn_cl__conflict_handler): Handle move suggestions array. If only one suggestion is present in the array, use it right away without prompting the user (is this always OK? TBD). * subversion/libsvn_wc/update_editor.c (find_applicable_move): Rename to ... (find_applicable_moves): ... this, and return an array of applicable move chains instead of just one move chain. (delete_entry): Handle move suggestions array. Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1205784r1=1205783r2=1205784view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_wc.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_wc.h Thu Nov 24 10:51:24 2011 @@ -1847,11 +1847,12 @@ typedef struct svn_wc_conflict_descripti /** A chain of one or more suggested moves in case the server sends moves * as copy+delete and the revision log was scanned for server-side moves - * at the user's request. + * at the user's request. Elements of this array are pointers to + * svn_wc_repos_move_info_t structures. * @see svn_wc_conflict_choice_t * @see svn_wc_repos_move_info_t * @since New in 1.8. */ - svn_wc_repos_move_info_t *suggested_move; + apr_array_header_t *suggested_moves; /* Remember to adjust svn_wc__conflict_description2_dup() * if you add new fields to this struct. */ Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1205784r1=1205783r2=1205784view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Thu Nov 24 10:51:24 2011 @@ -1807,11 +1807,11 @@ compare_revision_items_ascending(const s } static svn_error_t * -find_applicable_move(svn_wc_repos_move_info_t **move, - struct edit_baton *eb, - const char *local_abspath, - apr_pool_t *result_pool, - apr_pool_t *scratch_pool) +find_applicable_moves(apr_array_header_t **moves, + struct edit_baton *eb, + const char *local_abspath, + apr_pool_t *result_pool, + apr_pool_t *scratch_pool) { const char *repos_relpath; svn_revnum_t base_revision; @@ -1819,7 +1819,7 @@ find_applicable_move(svn_wc_repos_move_i svn_boolean_t update_into_past; int i; - *move = NULL; + *moves = apr_array_make(result_pool, 0, sizeof(svn_wc_repos_move_info_t *)); if (! eb-repos_moves || apr_hash_count(eb-repos_moves) == 0) return SVN_NO_ERROR; @@ -1853,7 +1853,7 @@ find_applicable_move(svn_wc_repos_move_i svn_sort__item_t elt = APR_ARRAY_IDX(sorted, i, svn_sort__item_t); const svn_revnum_t *rev = elt.key; - apr_array_header_t *moves = elt.value; + apr_array_header_t *moves_in_rev = elt.value; /* When updating into the future, a move applies if it * happened after the base rev of the node. */ @@ -1866,11 +1866,11 @@ find_applicable_move(svn_wc_repos_move_i * rB: mv b-c * rC: mv c-d * and so on. Find the first applicable move in the chain. */ - for (j = 0; j moves-nelts; j++) + for (j = 0; j moves_in_rev-nelts; j++) { svn_wc_repos_move_info_t *this_move; - this_move = APR_ARRAY_IDX(moves, j, + this_move = APR_ARRAY_IDX(moves_in_rev, j, svn_wc_repos_move_info_t *); if (strcmp(this_move-moved_from_repos_relpath, repos_relpath) == 0) @@ -1888,7 +1888,7 @@ find_applicable_move(svn_wc_repos_move_i this_move-revision, this_move-copyfrom_rev
svn commit: r1205832 - /subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c
Author: stsp Date: Thu Nov 24 13:57:21 2011 New Revision: 1205832 URL: http://svn.apache.org/viewvc?rev=1205832view=rev Log: On the moves-scan-log branch, show move chains to the user. * subversion/svn/conflict-callbacks.c (format_move_chain_for_display): New helper. (pick_move): Use the new helper to print combined move operations, as well as the individual moves which make up combined moves. Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c?rev=1205832r1=1205831r2=1205832view=diff == --- subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Thu Nov 24 13:57:21 2011 @@ -256,6 +256,53 @@ launch_resolver(svn_boolean_t *performed } +static const char * +format_move_chain_for_display(svn_wc_repos_move_info_t *first_move, + apr_pool_t *result_pool) +{ + const char *s; + svn_wc_repos_move_info_t *last_move; + + last_move = first_move; + while (last_move-next) +last_move = last_move-next; + + if (last_move != first_move) +{ + svn_wc_repos_move_info_t *this_move; + + s = apr_psprintf(result_pool, +_(Combined move:\n %s@%ld - %s\n + Individual moves:\n), + first_move-moved_from_repos_relpath, + first_move-copyfrom_rev, + last_move-moved_to_repos_relpath); + + this_move = first_move; + do +{ + s = apr_pstrcat(result_pool, s, + apr_psprintf( +result_pool, _( [r%ld] %s@%ld - %s\n), +this_move-revision, +this_move-moved_from_repos_relpath, +this_move-copyfrom_rev, +this_move-moved_to_repos_relpath), + (char *)NULL); + this_move = this_move-next; +} + while (this_move); +} + else +s = apr_psprintf(result_pool, _( [r%ld] %s@%ld - %s\n), + first_move-revision, + first_move-moved_from_repos_relpath, + first_move-copyfrom_rev, + first_move-moved_to_repos_relpath); + + return s; +} + static svn_error_t * pick_move(svn_wc_repos_move_info_t **move, apr_array_header_t *suggested_moves, @@ -272,11 +319,9 @@ pick_move(svn_wc_repos_move_info_t **mov { this_move = APR_ARRAY_IDX(suggested_moves, 0, svn_wc_repos_move_info_t *); - SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, -_( [r%ld] %s@%ld - %s\n), -this_move-revision, this_move-moved_from_repos_relpath, -this_move-copyfrom_rev, this_move-moved_to_repos_relpath)); - + SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, %s\n, + format_move_chain_for_display(this_move, + scratch_pool))); *move = this_move; return SVN_NO_ERROR; } @@ -284,15 +329,13 @@ pick_move(svn_wc_repos_move_info_t **mov prompt = _(Multiple moves found in revision log:\n); for (i = 0; i suggested_moves-nelts; i++) { + this_move = APR_ARRAY_IDX(suggested_moves, i, + svn_wc_repos_move_info_t *); prompt = apr_pstrcat(scratch_pool, prompt, - apr_psprintf(scratch_pool, -_( (%i) [r%ld] %s@%ld - %s\n), -i, this_move-revision, -this_move-moved_from_repos_relpath, -this_move-copyfrom_rev, -this_move-moved_to_repos_relpath), + apr_psprintf(scratch_pool, _( (%i) %s\n), i, + format_move_chain_for_display(this_move, + scratch_pool)), (char *)NULL); - this_move = this_move-next; } prompt = apr_pstrcat(scratch_pool, prompt,
svn commit: r1205914 - /subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c
Author: stsp Date: Thu Nov 24 16:29:11 2011 New Revision: 1205914 URL: http://svn.apache.org/viewvc?rev=1205914view=rev Log: On the moves-scan-log branch, always create the suggested_moves array in tree conflict descriptions, even if it is empty. * subversion/libsvn_wc/update_editor.c (delete_entry): Create an empy array of suggested moves if no moves were found scanning the log. This allows the conflict callback to tell wether or not a log scan has already happened. Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1205914r1=1205913r2=1205914view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Thu Nov 24 16:29:11 2011 @@ -2145,12 +2145,9 @@ delete_entry(const char *path, SVN_ERR(get_repos_moves(eb, scratch_pool)); /* Find a server-side move which applies to the deleted node. */ - if (apr_hash_count(eb-repos_moves) 0) -{ - SVN_ERR(find_applicable_moves( -tree_conflict-suggested_moves, eb, -local_abspath, scratch_pool, scratch_pool)); -} + SVN_ERR(find_applicable_moves( +tree_conflict-suggested_moves, eb, +local_abspath, scratch_pool, scratch_pool)); continue; }
svn commit: r1205923 - /subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c
Author: stsp Date: Thu Nov 24 16:39:32 2011 New Revision: 1205923 URL: http://svn.apache.org/viewvc?rev=1205923view=rev Log: On the moves-scan-log branch, rename a conflict prompt option. * subversion/svn/conflict-callbacks.c (svn_cl__conflict_handler): Rename 'suggest-move' to 'find-move'. Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c?rev=1205923r1=1205922r2=1205923view=diff == --- subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Thu Nov 24 16:39:32 2011 @@ -900,7 +900,7 @@ svn_cl__conflict_handler(svn_wc_conflict Maybe this incoming delete is part of a move?\n), svn_dirent_local_style(desc-local_abspath, subpool))); - prompt = _(Select: (p) postpone, (s) suggest-move,\n + prompt = _(Select: (p) postpone, (f) find-move,\n (a) ask-move, (d) is-delete, (h) help: ); while (1) @@ -912,7 +912,7 @@ svn_cl__conflict_handler(svn_wc_conflict if (desc-suggested_moves-nelts == 0) { SVN_ERR(svn_cmdline_fprintf(stderr, subpool, - _(No moves found in revision log.\n))); + _(No move found in revision log.\n))); } else { @@ -935,7 +935,7 @@ svn_cl__conflict_handler(svn_wc_conflict { SVN_ERR(svn_cmdline_fprintf(stderr, subpool, _( (p) postpone - resolve the conflict later\n - (s) suggest-move - suggest moves found in revision log\n + (f) find-move - try to find move in revision log\n (a) ask-move - specify server-side move yourself\n (d) is-delete - treat incoming delete as delete\n (h) help - show this help\n\n))); @@ -958,7 +958,7 @@ svn_cl__conflict_handler(svn_wc_conflict break; } - if (strcmp(answer, s) == 0) + if (strcmp(answer, f) == 0) { if (desc-suggested_moves) continue;
svn commit: r1205924 - /subversion/branches/moves-scan-log/subversion/libsvn_client/update.c
Author: stsp Date: Thu Nov 24 16:40:53 2011 New Revision: 1205924 URL: http://svn.apache.org/viewvc?rev=1205924view=rev Log: On the moves-scan-log branch, remove debugging output. * subversion/libsvn_client/update.c (get_repos_moves): Remove debug output. The same information is now printed by the conflict callback. Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1205924r1=1205923r2=1205924view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Thu Nov 24 16:40:53 2011 @@ -505,31 +505,6 @@ get_repos_moves(void *baton, b-ctx-notify_func2(b-ctx-notify_baton2, notify, scratch_pool); } -#ifdef SVN_DEBUG - { -apr_hash_index_t *hi; -for (hi = apr_hash_first(scratch_pool, lrb.moves); - hi; hi = apr_hash_next(hi)) - { -apr_array_header_t *moves_in_rev = svn__apr_hash_index_val(hi); -int i; - -for (i = 0; i moves_in_rev-nelts; i++) - { -svn_wc_repos_move_info_t *move_info; - -move_info = APR_ARRAY_IDX(moves_in_rev, i, - svn_wc_repos_move_info_t *); -SVN_DBG((found server-side move in r%ld: '%s@%ld' - '%s'\n, - move_info-revision, - move_info-moved_from_repos_relpath, - move_info-copyfrom_rev, - move_info-moved_to_repos_relpath)); - } - } - } -#endif - if (moves) *moves = lrb.moves;
svn commit: r1205931 - in /subversion/branches/moves-scan-log/subversion/svn: cl.h conflict-callbacks.c main.c
Author: stsp Date: Thu Nov 24 17:03:23 2011 New Revision: 1205931 URL: http://svn.apache.org/viewvc?rev=1205931view=rev Log: On the moves-scan-log branch, improve output of the conflict callback. * subversion/svn/cl.h (svn_cl__conflict_baton_t): Add path_prefix, to allow showing relative paths in the conflict callback. (svn_cl__conflict_baton_make): Tweak declaration (see below). * subversion/svn/main.c (main): Follow signature change of svn_cl__conflict_baton_make(). * subversion/svn/conflict-callbacks.c (svn_cl__conflict_baton_make): Return svn_error_t *, add output argument for the created baton. (svn_cl__conflict_handler): Show a standard human-readable description of the tree conflict. Use a relative path to describe the tree conflict victim. Modified: subversion/branches/moves-scan-log/subversion/svn/cl.h subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c subversion/branches/moves-scan-log/subversion/svn/main.c Modified: subversion/branches/moves-scan-log/subversion/svn/cl.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/cl.h?rev=1205931r1=1205930r2=1205931view=diff == --- subversion/branches/moves-scan-log/subversion/svn/cl.h (original) +++ subversion/branches/moves-scan-log/subversion/svn/cl.h Thu Nov 24 17:03:23 2011 @@ -329,13 +329,15 @@ typedef struct svn_cl__conflict_baton_t const char *editor_cmd; svn_boolean_t external_failed; svn_cmdline_prompt_baton_t *pb; + const char *path_prefix; } svn_cl__conflict_baton_t; -/* Create and return a conflict baton, allocated from POOL, with the values - ACCEPT_WHICH, CONFIG, EDITOR_CMD and PB placed in the same-named fields - of the baton, and its 'external_failed' field initialised to FALSE. */ -svn_cl__conflict_baton_t * -svn_cl__conflict_baton_make(svn_cl__accept_t accept_which, +/* Create and return a conflict baton in *B, allocated from POOL, with the + * values ACCEPT_WHICH, CONFIG, EDITOR_CMD and PB placed in the same-named + * fields of the baton, and its 'external_failed' field initialised to FALSE. */ +svn_error_t * +svn_cl__conflict_baton_make(svn_cl__conflict_baton_t **b, +svn_cl__accept_t accept_which, apr_hash_t *config, const char *editor_cmd, svn_cmdline_prompt_baton_t *pb, Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c?rev=1205931r1=1205930r2=1205931view=diff == --- subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Thu Nov 24 17:03:23 2011 @@ -35,26 +35,29 @@ #include svn_pools.h #include cl.h +#include tree-conflicts.h #include svn_private_config.h -svn_cl__conflict_baton_t * -svn_cl__conflict_baton_make(svn_cl__accept_t accept_which, +svn_error_t * +svn_cl__conflict_baton_make(svn_cl__conflict_baton_t **b, +svn_cl__accept_t accept_which, apr_hash_t *config, const char *editor_cmd, svn_cmdline_prompt_baton_t *pb, apr_pool_t *pool) { - svn_cl__conflict_baton_t *b = apr_palloc(pool, sizeof(*b)); - b-accept_which = accept_which; - b-config = config; - b-editor_cmd = editor_cmd; - b-external_failed = FALSE; - b-pb = pb; - return b; + *b = apr_palloc(pool, sizeof(**b)); + (*b)-accept_which = accept_which; + (*b)-config = config; + (*b)-editor_cmd = editor_cmd; + (*b)-external_failed = FALSE; + (*b)-pb = pb; + SVN_ERR(svn_dirent_get_absolute((*b)-path_prefix, , pool)); + return SVN_NO_ERROR; } svn_cl__accept_t @@ -893,13 +896,21 @@ svn_cl__conflict_handler(svn_wc_conflict const char *prompt; if (!desc-suggested_moves) -SVN_ERR(svn_cmdline_fprintf( - stderr, subpool, - _(Tree conflict discovered when trying to delete\n'%s'\n - Server is sending moves as copy+delete.\n - Maybe this incoming delete is part of a move?\n), - svn_dirent_local_style(desc-local_abspath, subpool))); +{ + const char *readable_desc; + SVN_ERR(svn_cl__get_human_readable_tree_conflict_description( + readable_desc, desc, scratch_pool)); + SVN_ERR(svn_cmdline_fprintf( + stderr, subpool, + _(Tree conflict on '%s'\n%s\n + Server is sending moves as copy+delete.\n + Maybe this incoming delete is part
svn commit: r1205936 - /subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c
Author: stsp Date: Thu Nov 24 17:16:46 2011 New Revision: 1205936 URL: http://svn.apache.org/viewvc?rev=1205936view=rev Log: On the moves-scan-log branch, correctly label the local state of tree conflicts involving a locally moved-away node. * subversion/libsvn_wc/update_editor.c (check_tree_conflict): Re-add the moved_to_abspath paramater which was dropped earlier on this branch. However, only use it to check whether the local node was deleted or whether it was moved away, and label the local state in the tree conflict description accordingly. (delete_entry, add_directory, open_directory, add_file, open_file): Update callers. Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1205936r1=1205935r2=1205936view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Thu Nov 24 17:16:46 2011 @@ -1511,6 +1511,7 @@ check_tree_conflict(svn_wc_conflict_desc svn_wc_conflict_action_t action, svn_node_kind_t their_node_kind, const char *their_relpath, +const char *moved_to_abspath, apr_pool_t *result_pool, apr_pool_t *scratch_pool) { @@ -1578,10 +1579,11 @@ check_tree_conflict(svn_wc_conflict_desc case svn_wc__db_status_deleted: -/* Flag a delete vs. delete conflict for now. +/* Flag a incoming delete vs. local delete/moved-away conflict for now. * This might get auto-resolved once we've learned whether or * not this incoming delete is really part of an incoming move. */ -reason = svn_wc_conflict_reason_deleted; +reason = moved_to_abspath ? svn_wc_conflict_reason_moved_away + : svn_wc_conflict_reason_deleted; break; case svn_wc__db_status_incomplete: @@ -2120,7 +2122,8 @@ delete_entry(const char *path, SVN_ERR(check_tree_conflict(tree_conflict, eb, local_abspath, status, kind, TRUE, svn_wc_conflict_action_delete, svn_node_none, - repos_relpath, pb-pool, scratch_pool)); + repos_relpath, moved_to_abspath, + pb-pool, scratch_pool)); } /* If this is an incoming delete vs. local delete/move conflict @@ -2569,7 +2572,7 @@ add_directory(const char *path, status, wc_kind, FALSE, svn_wc_conflict_action_add, svn_node_dir, db-new_relpath, - pool, pool)); + NULL, pool, pool)); } if (tree_conflict == NULL) @@ -2794,7 +2797,8 @@ open_directory(const char *path, SVN_ERR(check_tree_conflict(tree_conflict, eb, db-local_abspath, status, wc_kind, TRUE, svn_wc_conflict_action_edit, svn_node_dir, -db-new_relpath, db-pool, pool)); +db-new_relpath, db-moved_to_abspath, +db-pool, pool)); /* Remember the roots of any locally deleted trees. */ if (tree_conflict != NULL) @@ -3664,7 +3668,7 @@ add_file(const char *path, fb-local_abspath, status, wc_kind, FALSE, svn_wc_conflict_action_add, - svn_node_file, fb-new_relpath, + svn_node_file, fb-new_relpath, NULL, scratch_pool, scratch_pool)); } @@ -3839,7 +3843,8 @@ open_file(const char *path, SVN_ERR(check_tree_conflict(tree_conflict, eb, fb-local_abspath, status, wc_kind, TRUE, svn_wc_conflict_action_edit, svn_node_file, -fb-new_relpath, fb-pool, scratch_pool)); +fb-new_relpath, fb-moved_to_abspath, +fb-pool, scratch_pool)); /* Is this path the victim of a newly-discovered tree conflict? */ if (tree_conflict != NULL)
svn commit: r1205967 - in /subversion/branches/moves-scan-log: ./ CHANGES subversion/libsvn_client/merge.c subversion/libsvn_fs_base/bdb/locks-table.c subversion/libsvn_fs_base/reps-strings.c subversi
Author: stsp Date: Thu Nov 24 19:55:12 2011 New Revision: 1205967 URL: http://svn.apache.org/viewvc?rev=1205967view=rev Log: Sync the moves-scan-log branch with trunk. Modified: subversion/branches/moves-scan-log/ (props changed) subversion/branches/moves-scan-log/CHANGES subversion/branches/moves-scan-log/subversion/libsvn_client/merge.c subversion/branches/moves-scan-log/subversion/libsvn_fs_base/bdb/locks-table.c subversion/branches/moves-scan-log/subversion/libsvn_fs_base/reps-strings.c subversion/branches/moves-scan-log/subversion/tests/libsvn_fs/locks-test.c Propchange: subversion/branches/moves-scan-log/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Thu Nov 24 19:55:12 2011 @@ -57,4 +57,4 @@ /subversion/branches/tree-conflicts:868291-873154 /subversion/branches/tree-conflicts-notify:873926-874008 /subversion/branches/uris-as-urls:1060426-1064427 -/subversion/trunk:1186288-1205354 +/subversion/trunk:1186288-1205966 Modified: subversion/branches/moves-scan-log/CHANGES URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/CHANGES?rev=1205967r1=1205966r2=1205967view=diff == --- subversion/branches/moves-scan-log/CHANGES (original) +++ subversion/branches/moves-scan-log/CHANGES Thu Nov 24 19:55:12 2011 @@ -38,17 +38,17 @@ Version 1.7.2 http://svn.apache.org/repos/asf/subversion/tags/1.7.2 User-visible changes: - * fix working copy corruption (issue #4040) + * fix working copy corruption after interrupted update/switch (issue #4040) * avoid segfaults against pre-1.5 servers (r1186928) - * avoid configure error when using apr-util and bdb (r1186784) - * make 'svn patch' ignore '/dev/null' targets (r1197998) - * fix segfault on path that skips and deletes (r1199950) - * omit output from 'commit --quiet' (r1200837) - * fix authz denial when svnserve root is a repo (issue #4060) + * improve configure error message if apr-util uses old or no bdb (r1186784) + * make 'svn patch' ignore '/dev/null' targets for compat with git (r1197998) + * fix 'svn patch' segfault on patch that skips and deletes files (r1199950) + * omit Committed revision N. output from 'svn commit --quiet' (r1200837) + * fix authz denial when svnserve root is a repository (issue #4060) * fix uninitialized memory read in client diff code (r1201002) * avoid potential segfault during merges (r1202807) * fix an assertion failure when a symlink is updated (r1186944, -81, -83) - * more working copy corruption protection (r1202603) + * make working copy operations fail if nodes have no base checksum (r1202630) * fix nested Locations when using v2 protocol (r1203546, -651, -653) * make mod_dav_svn ignore non-Subversion POST requests (r1187695) * avoid reading freed memory (r1204478) Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/merge.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/merge.c?rev=1205967r1=1205966r2=1205967view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/merge.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/merge.c Thu Nov 24 19:55:12 2011 @@ -1254,6 +1254,8 @@ merge_props_changed(svn_wc_notify_state_ else if (err) return svn_error_trace(err); } + else if (state) +*state = svn_wc_notify_state_unchanged; return SVN_NO_ERROR; } @@ -2640,9 +2642,6 @@ typedef struct notification_receiver_bat svn_wc_notify_func2_t wrapped_func; void *wrapped_baton; - /* The number of notifications received. */ - apr_uint32_t nbr_notifications; - /* The number of operative notifications received. */ apr_uint32_t nbr_operative_notifications; @@ -2725,6 +2724,7 @@ find_nearest_ancestor(const apr_array_he } +/* Is the notification the result of a real operative merge? */ #define IS_OPERATIVE_NOTIFICATION(notify) \ (notify-content_state == svn_wc_notify_state_conflicted \ || notify-content_state == svn_wc_notify_state_merged \ @@ -2741,7 +2741,7 @@ notification_receiver(void *baton, const apr_pool_t *pool) { notification_receiver_baton_t *notify_b = baton; - svn_boolean_t is_operative_notification = FALSE; + svn_boolean_t is_operative_notification = IS_OPERATIVE_NOTIFICATION(notify); const char *notify_abspath; /* Skip notifications if this is a --record-only merge that is adding @@ -2753,11 +2753,9 @@ notification_receiver(void *baton, const notify-action != svn_wc_notify_merge_record_info_begin)) return; - /* Is the notification the result of a real operative merge? */ - if (IS_OPERATIVE_NOTIFICATION(notify
svn commit: r1206123 - /subversion/branches/moves-scan-log/subversion/svn/main.c
Author: stsp Date: Fri Nov 25 11:18:14 2011 New Revision: 1206123 URL: http://svn.apache.org/viewvc?rev=1206123view=rev Log: On the moves-scan-log branch: * subversion/svn/main.c (main): Avoid a passing parameter 1 from incompatible pointer type warning in the call to svn_cl__conflict_baton_make() by passing a pointer-pointer of the right type instead of a pointer-to-void-pointer. Modified: subversion/branches/moves-scan-log/subversion/svn/main.c Modified: subversion/branches/moves-scan-log/subversion/svn/main.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/main.c?rev=1206123r1=1206122r2=1206123view=diff == --- subversion/branches/moves-scan-log/subversion/svn/main.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/main.c Fri Nov 25 11:18:14 2011 @@ -2602,6 +2602,7 @@ main(int argc, const char *argv[]) } else { + svn_cl__conflict_baton_t * conflict_baton2; svn_cmdline_prompt_baton_t *pb = apr_palloc(pool, sizeof(*pb)); pb-cancel_func = ctx-cancel_func; pb-cancel_baton = ctx-cancel_baton; @@ -2626,12 +2627,13 @@ main(int argc, const char *argv[]) ctx-conflict_func = NULL; ctx-conflict_baton = NULL; ctx-conflict_func2 = svn_cl__conflict_handler; - SVN_INT_ERR(svn_cl__conflict_baton_make(ctx-conflict_baton2, + SVN_INT_ERR(svn_cl__conflict_baton_make(conflict_baton2, opt_state.accept_which, ctx-config, opt_state.editor_cmd, pb, pool)); + ctx-conflict_baton2 = conflict_baton2; } /* And now we finally run the subcommand. */
svn commit: r1206136 - in /subversion/branches/moves-scan-log/subversion: libsvn_client/update.c libsvn_wc/update_editor.c
Author: stsp Date: Fri Nov 25 12:20:39 2011 New Revision: 1206136 URL: http://svn.apache.org/viewvc?rev=1206136view=rev Log: On the moves-scan-log branch, allow the heuristic to consider multiple move destinations for same deleted node. The user will have to resolve ambiguity. For example, in situations such as: r4: D foo A bar (copied from foo:r3) A baz (copied from foo:r3) A bay (copied from foo:r3) the user can tell svn to interpret one of the possible copy/delete pairs as a move and treat the remaining copies as normal copies. Note that the conflict callback implementation already supports this scenario. But until now the library never returned more than on move suggestion. * subversion/libsvn_wc/update_editor.c (find_applicable_moves): Don't stop processing moves from a single revision when one move was found. Continue processing in case there are more then one possible moves. * subversion/libsvn_client/update.c (scan_moves_log_receiver): Remember all copies with the same source path as possible move destinations, instead treating them all as normal copies. Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_client/update.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_client/update.c?rev=1206136r1=1206135r2=1206136view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_client/update.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_client/update.c Fri Nov 25 12:20:39 2011 @@ -327,29 +327,28 @@ scan_moves_log_receiver(void *baton, if (data-action == 'A' data-copyfrom_path) { struct copy_info *copy; + apr_array_header_t *copies_with_same_source_path; if (data-copyfrom_path[0] == '/') data-copyfrom_path++; copy = apr_palloc(scratch_pool, sizeof(*copy)); - if (apr_hash_get(copies, data-copyfrom_path, APR_HASH_KEY_STRING)) + copy-copyto_path = path; + copy-copyfrom_path = data-copyfrom_path; + copy-copyfrom_rev = data-copyfrom_rev; + copies_with_same_source_path = apr_hash_get(copies, + data-copyfrom_path, + APR_HASH_KEY_STRING); + if (copies_with_same_source_path == NULL) { - /* The same copyfrom path appears multiple times. In this - * limited and simplified client-side heuristic, this means - * that the node was not moved. Mark this copy as such by - * setting the copyfrom_path to . - * ### Extend this check to ignore copies crossing branch-roots? - */ - copy-copyfrom_path = ; + copies_with_same_source_path = apr_array_make( + result_pool, 1, + sizeof(struct copy_info *)); + apr_hash_set(copies, copy-copyfrom_path, APR_HASH_KEY_STRING, + copies_with_same_source_path); } - else -{ - copy-copyto_path = path; - copy-copyfrom_path = data-copyfrom_path; - copy-copyfrom_rev = data-copyfrom_rev; -} - - apr_hash_set(copies, copy-copyfrom_path, APR_HASH_KEY_STRING, copy); + APR_ARRAY_PUSH(copies_with_same_source_path, + struct copy_info *) = copy; } else if (data-action == 'D') APR_ARRAY_PUSH(deleted_paths, const char *) = path; @@ -364,87 +363,91 @@ scan_moves_log_receiver(void *baton, for (i = 0; i deleted_paths-nelts; i++) { const char *deleted_path; - struct copy_info *copy; + apr_array_header_t *copies_with_same_source_path; svn_wc_repos_move_info_t *new_move; svn_wc_repos_move_info_t *prior_move; svn_boolean_t related; + int j; deleted_path = APR_ARRAY_IDX(deleted_paths, i, const char *); - copy = apr_hash_get(copies, deleted_path, APR_HASH_KEY_STRING); - if (copy == NULL) -continue; - - /* Check if this copy was marked as uninteresting above by - * setting the copyfrom-path to . */ - if (copy-copyfrom_path[0] == '\0') + copies_with_same_source_path = apr_hash_get(copies, deleted_path, + APR_HASH_KEY_STRING); + if (copies_with_same_source_path == NULL) continue; svn_pool_clear(iterpool); - /* We found a single deleted node which matches the copyfrom - * path of single a copied node. Verify that the deleted node
svn commit: r1206139 - /subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c
Author: stsp Date: Fri Nov 25 12:39:43 2011 New Revision: 1206139 URL: http://svn.apache.org/viewvc?rev=1206139view=rev Log: On the moves-scan-log branch, make the menu showing multiple move candidates a bit prettier. * subversion/svn/conflict-callbacks.c (format_move_chain_for_display): Accept an 'indent' parameter which indents lines by a certain amount. (pick_move): Do not indent single moves. Use some indentation for multiple move candidates. Improve wording of candidates menu header. Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c?rev=1206139r1=1206138r2=1206139view=diff == --- subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Fri Nov 25 12:39:43 2011 @@ -261,6 +261,7 @@ launch_resolver(svn_boolean_t *performed static const char * format_move_chain_for_display(svn_wc_repos_move_info_t *first_move, + const char *indent, apr_pool_t *result_pool) { const char *s; @@ -275,18 +276,19 @@ format_move_chain_for_display(svn_wc_rep svn_wc_repos_move_info_t *this_move; s = apr_psprintf(result_pool, -_(Combined move:\n %s@%ld - %s\n - Individual moves:\n), - first_move-moved_from_repos_relpath, +_(Combined move:\n%s %s@%ld - %s\n + %sIndividual moves:\n), + indent, first_move-moved_from_repos_relpath, first_move-copyfrom_rev, - last_move-moved_to_repos_relpath); + last_move-moved_to_repos_relpath, indent); this_move = first_move; do { s = apr_pstrcat(result_pool, s, apr_psprintf( -result_pool, _( [r%ld] %s@%ld - %s\n), +result_pool, _(%s [r%ld] %s@%ld - %s\n), +indent, this_move-revision, this_move-moved_from_repos_relpath, this_move-copyfrom_rev, @@ -323,21 +325,21 @@ pick_move(svn_wc_repos_move_info_t **mov this_move = APR_ARRAY_IDX(suggested_moves, 0, svn_wc_repos_move_info_t *); SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, %s\n, - format_move_chain_for_display(this_move, + format_move_chain_for_display(this_move, , scratch_pool))); *move = this_move; return SVN_NO_ERROR; } - prompt = _(Multiple moves found in revision log:\n); + prompt = _(Multiple incoming move candidates found:\n); for (i = 0; i suggested_moves-nelts; i++) { this_move = APR_ARRAY_IDX(suggested_moves, i, svn_wc_repos_move_info_t *); prompt = apr_pstrcat(scratch_pool, prompt, - apr_psprintf(scratch_pool, _( (%i) %s\n), i, - format_move_chain_for_display(this_move, - scratch_pool)), + apr_psprintf(scratch_pool, _( (%i) %s), i, + format_move_chain_for_display( + this_move, , scratch_pool)), (char *)NULL); }
svn commit: r1206144 - in /subversion/branches/moves-scan-log/subversion/svn: cl.h conflict-callbacks.c
Author: stsp Date: Fri Nov 25 12:50:38 2011 New Revision: 1206144 URL: http://svn.apache.org/viewvc?rev=1206144view=rev Log: On the moves-scan-log branch, only show moves if the user actually chose 'f'. * subversion/svn/conflict-callbacks.c (svn_cl__conflict_baton_t, svn_cl__conflict_baton_make): Add 'show_moves'. (svn_cl__conflict_handler): Set show_moves in baton to TRUE if the user chose find-move. Unset it again when moves were shown so that we don't keep showing moves in case the user picks other options (such as 'h') which cause the prompt to re-appear. Modified: subversion/branches/moves-scan-log/subversion/svn/cl.h subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Modified: subversion/branches/moves-scan-log/subversion/svn/cl.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/cl.h?rev=1206144r1=1206143r2=1206144view=diff == --- subversion/branches/moves-scan-log/subversion/svn/cl.h (original) +++ subversion/branches/moves-scan-log/subversion/svn/cl.h Fri Nov 25 12:50:38 2011 @@ -330,6 +330,7 @@ typedef struct svn_cl__conflict_baton_t svn_boolean_t external_failed; svn_cmdline_prompt_baton_t *pb; const char *path_prefix; + svn_boolean_t show_moves; } svn_cl__conflict_baton_t; /* Create and return a conflict baton in *B, allocated from POOL, with the Modified: subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c?rev=1206144r1=1206143r2=1206144view=diff == --- subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c (original) +++ subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Fri Nov 25 12:50:38 2011 @@ -57,6 +57,7 @@ svn_cl__conflict_baton_make(svn_cl__conf (*b)-external_failed = FALSE; (*b)-pb = pb; SVN_ERR(svn_dirent_get_absolute((*b)-path_prefix, , pool)); + (*b)-show_moves = FALSE; return SVN_NO_ERROR; } @@ -920,8 +921,9 @@ svn_cl__conflict_handler(svn_wc_conflict { svn_pool_clear(subpool); - if (desc-suggested_moves) + if (desc-suggested_moves b-show_moves) { + b-show_moves = FALSE; if (desc-suggested_moves-nelts == 0) { SVN_ERR(svn_cmdline_fprintf(stderr, subpool, @@ -973,9 +975,12 @@ svn_cl__conflict_handler(svn_wc_conflict if (strcmp(answer, f) == 0) { + b-show_moves = TRUE; if (desc-suggested_moves) continue; + /* No suggested moves information yet, need to ask the library + * to scan the revision log for moves. */ (*result)-choice = svn_wc_conflict_choose_scan_log_for_moves; break; }
svn propchange: r1206136 - svn:log
Author: stsp Revision: 1206136 Modified property: svn:log Modified: svn:log at Fri Nov 25 12:55:24 2011 -- --- svn:log (original) +++ svn:log Fri Nov 25 12:55:24 2011 @@ -1,5 +1,5 @@ On the moves-scan-log branch, allow the heuristic to consider multiple move -destinations for same deleted node. The user will have to resolve ambiguity. +destinations for one deleted node. The user will have to resolve ambiguity. For example, in situations such as: r4: @@ -11,7 +11,7 @@ the user can tell svn to interpret one o as a move and treat the remaining copies as normal copies. Note that the conflict callback implementation already supports this scenario. -But until now the library never returned more than on move suggestion. +But until now the library never returned more than one move suggestion. * subversion/libsvn_wc/update_editor.c (find_applicable_moves): Don't stop processing moves from a single revision
svn commit: r1206718 - in /subversion/trunk/subversion: libsvn_client/patch.c libsvn_diff/parse-diff.c tests/cmdline/patch_tests.py
Author: stsp Date: Sun Nov 27 13:35:14 2011 New Revision: 1206718 URL: http://svn.apache.org/viewvc?rev=1206718view=rev Log: Fix issue #3814 patch doesn't append newline to properties. This fix depends on the change made to 'svn diff' output in r1206576. * subversion/libsvn_diff/parse-diff.c (parse_next_hunk): Recognize \ No newline at end of... type comments and snip off trailing EOLs from hunk texts terminated with such comments. * subversion/libsvn_client/patch.c (apply_hunk): Properly write the last line of hunk text to the patched result even if EOF was hit before EOL while reading the line. * subversion/tests/cmdline/patch_tests.py (patch_set_prop_no_eol): Remove XFail marker. Modified: subversion/trunk/subversion/libsvn_client/patch.c subversion/trunk/subversion/libsvn_diff/parse-diff.c subversion/trunk/subversion/tests/cmdline/patch_tests.py Modified: subversion/trunk/subversion/libsvn_client/patch.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/patch.c?rev=1206718r1=1206717r2=1206718view=diff == --- subversion/trunk/subversion/libsvn_client/patch.c (original) +++ subversion/trunk/subversion/libsvn_client/patch.c Sun Nov 27 13:35:14 2011 @@ -1699,7 +1699,7 @@ apply_hunk(patch_target_t *target, targe eol_str, eof, iterpool, iterpool)); lines_read++; - if (! eof lines_read hi-fuzz + if (lines_read hi-fuzz lines_read = svn_diff_hunk_get_modified_length(hi-hunk) - hi-fuzz) { apr_size_t len; Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/parse-diff.c?rev=1206718r1=1206717r2=1206718view=diff == --- subversion/trunk/subversion/libsvn_diff/parse-diff.c (original) +++ subversion/trunk/subversion/libsvn_diff/parse-diff.c Sun Nov 27 13:35:14 2011 @@ -642,7 +642,38 @@ parse_next_hunk(svn_diff_hunk_t **hunk, /* Lines starting with a backslash are comments, such as * \ No newline at end of file. */ if (line-data[0] == '\\') -continue; +{ + if (in_hunk + ((!is_property +strcmp(line-data, \\ No newline at end of file) == 0) || + (is_property +strcmp(line-data, \\ No newline at end of property) == 0))) +{ + char eolbuf[2]; + apr_size_t len; + apr_off_t off; + + /* Comment terminates the hunk text and says the hunk text + * has no trailing EOL. Snip off trailing EOL which is part + * of the patch file but not part of the hunk text. */ + off = last_line - 2; + SVN_ERR(svn_io_file_seek(apr_file, APR_SET, off, iterpool)); + len = sizeof(eolbuf); + SVN_ERR(svn_io_file_read_full2(apr_file, eolbuf, len, len, + eof, iterpool)); + if (eolbuf[0] == '\r' eolbuf[1] == '\n') +end = last_line - 2; + else if (eolbuf[1] == '\n') +end = last_line - 1; + else if (eolbuf[1] == '\r') +end = last_line - 1; + else +end = last_line; + break; +} + + continue; +} if (in_hunk) { Modified: subversion/trunk/subversion/tests/cmdline/patch_tests.py URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/patch_tests.py?rev=1206718r1=1206717r2=1206718view=diff == --- subversion/trunk/subversion/tests/cmdline/patch_tests.py (original) +++ subversion/trunk/subversion/tests/cmdline/patch_tests.py Sun Nov 27 13:35:14 2011 @@ -3427,7 +3427,6 @@ def patch_strip_cwd(sbox): patch --strip propchanges cwd return patch_one_property(sbox, True) -@XFail() @Issue(3814) def patch_set_prop_no_eol(sbox): patch doesn't append newline to properties
svn commit: r1206719 - in /subversion/trunk/subversion/bindings/javahl/tests/org: apache/subversion/javahl/BasicTests.java tigris/subversion/javahl/BasicTests.java
Author: stsp Date: Sun Nov 27 13:43:09 2011 New Revision: 1206719 URL: http://svn.apache.org/viewvc?rev=1206719view=rev Log: Follow-up to r1206576: Blind attempt to fix JavaHL test failure. [in subversion/bindings/javahl/tests] * org/tigris/subversion/javahl/BasicTests.java, org/apache/subversion/javahl/BasicTests.java (testDiff): Append newline to property value to obtain expected diff output. Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1206719r1=1206718r2=1206719view=diff == --- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original) +++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Sun Nov 27 13:43:09 2011 @@ -2737,7 +2737,7 @@ public class BasicTests extends SVNTests ## -0,0 +1 ## + NL + +Test property value. + NL; -setprop(aPath, testprop, Test property value.); +setprop(aPath, testprop, Test property value. + NL); client.diff(aPath, Revision.BASE, aPath, Revision.WORKING, wcPath, diffOutput.getPath(), Depth.infinity, null, true, true, false, false); @@ -2755,7 +2755,7 @@ public class BasicTests extends SVNTests ## -0,0 +1 ## + NL + +Test property value. + NL; -setprop(aPath, testprop, Test property value.); +setprop(aPath, testprop, Test property value. + NL); client.diff(aPath, Revision.BASE, aPath, Revision.WORKING, aPath, diffOutput.getPath(), Depth.infinity, null, true, true, false, false); Modified: subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1206719r1=1206718r2=1206719view=diff == --- subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original) +++ subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Sun Nov 27 13:43:09 2011 @@ -2674,7 +2674,8 @@ public class BasicTests extends SVNTests ## -0,0 +1 ## + NL + +Test property value. + NL; -client.propertySet(aPath, testprop, Test property value., false); +client.propertySet(aPath, testprop, Test property value. + NL, + false); client.diff(aPath, Revision.BASE, aPath, Revision.WORKING, wcPath, diffOutput.getPath(), Depth.infinity, null, true, true, false); @@ -2692,7 +2693,8 @@ public class BasicTests extends SVNTests ## -0,0 +1 ## + NL + +Test property value. + NL; -client.propertySet(aPath, testprop, Test property value., false); +client.propertySet(aPath, testprop, Test property value. + NL, + false); client.diff(aPath, Revision.BASE, aPath, Revision.WORKING, aPath, diffOutput.getPath(), Depth.infinity, null, true, true, false);
svn commit: r1206722 - /subversion/branches/1.7.x-issue3814/
Author: stsp Date: Sun Nov 27 14:20:01 2011 New Revision: 1206722 URL: http://svn.apache.org/viewvc?rev=1206722view=rev Log: Create branch for issue #3814 fix backport to 1.7.x. Added: subversion/branches/1.7.x-issue3814/ (props changed) - copied from r1206721, subversion/branches/1.7.x/ Propchange: subversion/branches/1.7.x-issue3814/ -- --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Nov 27 14:20:01 2011 @@ -0,0 +1,2 @@ +[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+ +(\d+) Propchange: subversion/branches/1.7.x-issue3814/ -- bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID% Propchange: subversion/branches/1.7.x-issue3814/ -- --- svn:ignore (added) +++ svn:ignore Sun Nov 27 14:20:01 2011 @@ -0,0 +1,50 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.sln +subversion_vcnet.ncb +subversion_vcnet.suo +subversion_vcnet.sdf +subversion_vcnet.opensdf +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +zlib +sqlite-amalgamation +serf Propchange: subversion/branches/1.7.x-issue3814/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Sun Nov 27 14:20:01 2011 @@ -0,0 +1,71 @@ +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-JavaHL-pools:1158684-1158722 +/subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-issue3975:1160761-1161546 +/subversion/branches/1.7.x-issue3976:1161731-1165397 +/subversion/branches/1.7.x-issue4032:1186668-1186784 +/subversion/branches/1.7.x-issue4035:1186202-1186315 +/subversion/branches/1.7.x-issue4035-r1185738:1186316-1186778 +/subversion/branches/1.7.x-issue4k:1166502-1167193 +/subversion/branches/1.7.x-neon-default:1148803-1158680 +/subversion/branches/1.7.x-r1152189:1152759-1154249 +/subversion/branches/1.7.x-r1155160:1158704-1159223 +/subversion/branches/1.7.x-r1159093:1159097-1159230 +/subversion/branches/1.7.x-r1163557:1163574-1170648 +/subversion/branches/1.7.x-r1173425:1173429-1176454 +/subversion/branches/1.7.x-r1180154:1186224-1186351 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/gnome-keyring:870558-871410 +/subversion/branches/http-protocol-v2:874395-876041 +/subversion/branches/in-memory-cache:869829-871452 +/subversion/branches/integrate-cache-item-serialization:1068724-1068739 +/subversion/branches/integrate-cache-membuffer:998649-998852 +/subversion/branches/integrate-compression-level:1068651-1072287 +/subversion/branches/integrate-io-improvements:1068684-1072297 +/subversion/branches/integrate-is-cachable:1072568-1074082 +/subversion/branches/integrate-partial-getter:1072558-1076552 +/subversion/branches/integrate-readline-speedup:1072553-1072555 +/subversion/branches/integrate-stream-api-extensions:1068695-1072516 +/subversion/branches/integrate-txdelta-caching:1072541-1078213 +/subversion/branches/issue-2779-dev:965496-984198 +/subversion/branches/issue-2843-dev:871432-874179 +/subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 +/subversion/branches/issue-3067-deleted-subtrees:873375-874084 +/subversion/branches/issue-3148-dev:875193-875204 +/subversion/branches/issue-3220-dev:872210-872226 +/subversion/branches/issue-3242-dev:879653-896436 +/subversion/branches/issue-3334-dirs:875156-875867 +/subversion/branches/issue-3975:1152931-1160746 +/subversion/branches/kwallet:870785-871314 +/subversion/branches/log-g-performance
svn commit: r1206724 - in /subversion/trunk/subversion: libsvn_diff/parse-diff.c tests/cmdline/patch_tests.py
Author: stsp Date: Sun Nov 27 14:41:56 2011 New Revision: 1206724 URL: http://svn.apache.org/viewvc?rev=1206724view=rev Log: Fix issue #3991, 'svn patch' deletes random lines with patch files missing trailing newline. Contrary to UNIX patch behaviour, I decided not to have 'svn patch' error out on hunks that end at EOF before EOL was found. Instead of throwing an error 'svn patch' writes the final line without terminating it with EOL. The output of 'svn diff' clearly marks the missing EOL. Users can fix up the patched result as required. Another approach suggested in #3991 was to automatically fix up the line by appending an EOL. There are two problems with this: 1) We don't know if the short line read from the hunk text was complete. E.g. the last line of the patch might originally have been foobar\n and cut short to just foo. Writing foo instead of foo\n to the patched result seems more reasonable in this case. 2) Adding the EOL would require more extensive changes. So far, content written to the patched result is also present in the patch file. We'd have to remember that a final EOL is missing and fake it, which requires more state to keep than simply omiting the EOL. * subversion/libsvn_diff/parse-diff.c (parse_next_hunk): Update current file position even if at EOF. If hunk text ends at EOF set the end of the hunk text range to the last byte of the file. * subversion/tests/cmdline/patch_tests.py (patch_lacking_trailing_eol): Adjust text expections and remove XFail marker. Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c subversion/trunk/subversion/tests/cmdline/patch_tests.py Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/parse-diff.c?rev=1206724r1=1206723r2=1206724view=diff == --- subversion/trunk/subversion/libsvn_diff/parse-diff.c (original) +++ subversion/trunk/subversion/libsvn_diff/parse-diff.c Sun Nov 27 14:41:56 2011 @@ -632,12 +632,9 @@ parse_next_hunk(svn_diff_hunk_t **hunk, SVN_ERR(readline(apr_file, line, NULL, eof, APR_SIZE_MAX, iterpool, iterpool)); - if (! eof) -{ - /* Update line offset for next iteration. */ - pos = 0; - SVN_ERR(svn_io_file_seek(apr_file, APR_CUR, pos, iterpool)); -} + /* Update line offset for next iteration. */ + pos = 0; + SVN_ERR(svn_io_file_seek(apr_file, APR_CUR, pos, iterpool)); /* Lines starting with a backslash are comments, such as * \ No newline at end of file. */ @@ -733,9 +730,17 @@ parse_next_hunk(svn_diff_hunk_t **hunk, } else { - /* The start of the current line marks the first byte - * after the hunk text. */ - end = last_line; + if (eof) +{ + /* The hunk ends at EOF. */ + end = pos; +} + else +{ + /* The start of the current line marks the first byte + * after the hunk text. */ + end = last_line; +} break; /* Hunk was empty or has been read. */ } Modified: subversion/trunk/subversion/tests/cmdline/patch_tests.py URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/patch_tests.py?rev=1206724r1=1206723r2=1206724view=diff == --- subversion/trunk/subversion/tests/cmdline/patch_tests.py (original) +++ subversion/trunk/subversion/tests/cmdline/patch_tests.py Sun Nov 27 14:41:56 2011 @@ -3614,7 +3614,6 @@ def patch_moved_away(sbox): 1, # check-props 1) # dry-run -@XFail() @Issue(3991) def patch_lacking_trailing_eol(sbox): patch file lacking trailing eol @@ -3649,12 +3648,11 @@ def patch_lacking_trailing_eol(sbox): expected_output = [ 'U %s\n' % os.path.join(wc_dir, 'iota'), -'svn: W[0-9]+: .*', # warning about appending a newline to iota's last line ] # Expect a newline to be appended expected_disk = svntest.main.greek_state.copy() - expected_disk.tweak('iota', contents=iota_contents+Some more bytes\n) + expected_disk.tweak('iota', contents=iota_contents + Some more bytes) expected_status = svntest.actions.get_virginal_state(wc_dir, 1) expected_status.tweak('iota', status='M ')
svn commit: r1206725 - in /subversion/branches/1.7.x-issue3814: ./ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/bindings/javahl/tests/org/tigris/subversion/javahl/ subvers
Author: stsp Date: Sun Nov 27 14:47:24 2011 New Revision: 1206725 URL: http://svn.apache.org/viewvc?rev=1206725view=rev Log: On the 1.7.x-issue3814 backport branch, merge the following revisions from trunk, resolving conflicts: r1166267: Merged to prevent conflicts in diff_tests.py. r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. r1206718: Fix issue #3814. r1206719: Follow-up fix for JavaHL tests. Modified: subversion/branches/1.7.x-issue3814/ (props changed) subversion/branches/1.7.x-issue3814/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java subversion/branches/1.7.x-issue3814/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java subversion/branches/1.7.x-issue3814/subversion/libsvn_client/diff.c subversion/branches/1.7.x-issue3814/subversion/libsvn_client/patch.c subversion/branches/1.7.x-issue3814/subversion/libsvn_diff/parse-diff.c subversion/branches/1.7.x-issue3814/subversion/svnlook/main.c subversion/branches/1.7.x-issue3814/subversion/tests/cmdline/depth_tests.py subversion/branches/1.7.x-issue3814/subversion/tests/cmdline/diff_tests.py subversion/branches/1.7.x-issue3814/subversion/tests/cmdline/patch_tests.py subversion/branches/1.7.x-issue3814/subversion/tests/cmdline/special_tests.py Propchange: subversion/branches/1.7.x-issue3814/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Nov 27 14:47:24 2011 @@ -68,4 +68,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,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,1156085,115 6098,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,1158924,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,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,1189190,1189261,1189395,1189580,1189665,1197998,1199876,1199950,1200837,1201002,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478 +/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,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151854,1151906,1151911,1152129,1152140,1152189
svn commit: r1206726 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Sun Nov 27 14:51:26 2011 New Revision: 1206726 URL: http://svn.apache.org/viewvc?rev=1206726view=rev Log: * STATUS: Nominate issue #3814 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=1206726r1=1206725r2=1206726view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Sun Nov 27 14:51:26 2011 @@ -108,6 +108,22 @@ Candidate changes: Votes: +1: danielsh + * r1166267, r1206576, r1206718, r1206719 + Fix issue #3814. + Justification: + svn patch is broken for property values not terminated with EOL. + Fix requested on users@: + http://svn.haxx.se/users/archive-2011-11/0513.shtml + Notes: +r1166267: Merged to prevent conflicts in diff_tests.py. +r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. +r1206718: Fix issue #3814. +r1206719: Follow-up fix for JavaHL tests. + Branch: + ^/subversion/branches/1.7.x-issue3814. + Votes: + +1: stsp + Veto-blocked changes: =
svn commit: r1206728 - /subversion/branches/1.7.x-issue3991/
Author: stsp Date: Sun Nov 27 15:00:07 2011 New Revision: 1206728 URL: http://svn.apache.org/viewvc?rev=1206728view=rev Log: Create a 1.7.x backport branch for issue #3991. Added: subversion/branches/1.7.x-issue3991/ (props changed) - copied from r1206727, subversion/branches/1.7.x/ Propchange: subversion/branches/1.7.x-issue3991/ -- --- bugtraq:logregex (added) +++ bugtraq:logregex Sun Nov 27 15:00:07 2011 @@ -0,0 +1,2 @@ +[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+ +(\d+) Propchange: subversion/branches/1.7.x-issue3991/ -- bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID% Propchange: subversion/branches/1.7.x-issue3991/ -- --- svn:ignore (added) +++ svn:ignore Sun Nov 27 15:00:07 2011 @@ -0,0 +1,50 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.sln +subversion_vcnet.ncb +subversion_vcnet.suo +subversion_vcnet.sdf +subversion_vcnet.opensdf +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +zlib +sqlite-amalgamation +serf Propchange: subversion/branches/1.7.x-issue3991/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Sun Nov 27 15:00:07 2011 @@ -0,0 +1,71 @@ +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-JavaHL-pools:1158684-1158722 +/subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-issue3975:1160761-1161546 +/subversion/branches/1.7.x-issue3976:1161731-1165397 +/subversion/branches/1.7.x-issue4032:1186668-1186784 +/subversion/branches/1.7.x-issue4035:1186202-1186315 +/subversion/branches/1.7.x-issue4035-r1185738:1186316-1186778 +/subversion/branches/1.7.x-issue4k:1166502-1167193 +/subversion/branches/1.7.x-neon-default:1148803-1158680 +/subversion/branches/1.7.x-r1152189:1152759-1154249 +/subversion/branches/1.7.x-r1155160:1158704-1159223 +/subversion/branches/1.7.x-r1159093:1159097-1159230 +/subversion/branches/1.7.x-r1163557:1163574-1170648 +/subversion/branches/1.7.x-r1173425:1173429-1176454 +/subversion/branches/1.7.x-r1180154:1186224-1186351 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/gnome-keyring:870558-871410 +/subversion/branches/http-protocol-v2:874395-876041 +/subversion/branches/in-memory-cache:869829-871452 +/subversion/branches/integrate-cache-item-serialization:1068724-1068739 +/subversion/branches/integrate-cache-membuffer:998649-998852 +/subversion/branches/integrate-compression-level:1068651-1072287 +/subversion/branches/integrate-io-improvements:1068684-1072297 +/subversion/branches/integrate-is-cachable:1072568-1074082 +/subversion/branches/integrate-partial-getter:1072558-1076552 +/subversion/branches/integrate-readline-speedup:1072553-1072555 +/subversion/branches/integrate-stream-api-extensions:1068695-1072516 +/subversion/branches/integrate-txdelta-caching:1072541-1078213 +/subversion/branches/issue-2779-dev:965496-984198 +/subversion/branches/issue-2843-dev:871432-874179 +/subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 +/subversion/branches/issue-3067-deleted-subtrees:873375-874084 +/subversion/branches/issue-3148-dev:875193-875204 +/subversion/branches/issue-3220-dev:872210-872226 +/subversion/branches/issue-3242-dev:879653-896436 +/subversion/branches/issue-3334-dirs:875156-875867 +/subversion/branches/issue-3975:1152931-1160746 +/subversion/branches/kwallet:870785-871314 +/subversion/branches/log-g-performance:870941
svn commit: r1206730 - in /subversion/branches/1.7.x-issue3991: ./ subversion/libsvn_client/patch.c subversion/libsvn_diff/parse-diff.c subversion/tests/cmdline/patch_tests.py
Author: stsp Date: Sun Nov 27 15:21:58 2011 New Revision: 1206730 URL: http://svn.apache.org/viewvc?rev=1206730view=rev Log: On the 1.7.x-issue3991 branch, merge the issue #3991 fix from trunk, resolving conflicts. This fix depends on a piece of the issue #3814 fix. This bit has been merged in via a subtree merge to libsvn_client/patch.c. As a result this branch fixes issue #3991 independently of the 1.7.x-issue-3814 branch but might conflict with the issue #3814 branch depending on which branch gets reintegrated into 1.7.x first. Modified: subversion/branches/1.7.x-issue3991/ (props changed) subversion/branches/1.7.x-issue3991/subversion/libsvn_client/patch.c (contents, props changed) subversion/branches/1.7.x-issue3991/subversion/libsvn_diff/parse-diff.c subversion/branches/1.7.x-issue3991/subversion/tests/cmdline/patch_tests.py Propchange: subversion/branches/1.7.x-issue3991/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Nov 27 15:21:58 2011 @@ -68,4 +68,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,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,1156085,115 6098,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,1158924,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,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,1189190,1189261,1189395,1189580,1189665,1197998,1199876,1199950,1200837,1201002,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478 +/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,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,1156085,115 6098,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
svn commit: r1206732 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Sun Nov 27 15:27:36 2011 New Revision: 1206732 URL: http://svn.apache.org/viewvc?rev=1206732view=rev Log: * STATUS: Nominate #3991 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=1206732r1=1206731r2=1206732view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Sun Nov 27 15:27:36 2011 @@ -115,15 +115,33 @@ Candidate changes: Fix requested on users@: http://svn.haxx.se/users/archive-2011-11/0513.shtml Notes: -r1166267: Merged to prevent conflicts in diff_tests.py. -r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. -r1206718: Fix issue #3814. -r1206719: Follow-up fix for JavaHL tests. + r1166267: Merged to prevent conflicts in diff_tests.py. + r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. + r1206718: Fix issue #3814. + r1206719: Follow-up fix for JavaHL tests. Branch: ^/subversion/branches/1.7.x-issue3814. + This branch might conflict with the 1.7.x-issue3991 branch (see below). + I will tweak this nomination if the other branch is reintegrated. Votes: +1: stsp + * r1158923, r1206718 (partly), r1206724 + Fix issue #3991. + Justification: + svn patch is broken for patches not not terminated with EOL. + Notes: + r1158923: Adds a regression test. + r1206718: Change to libsvn_client/patch.c is needed for issue #3991 fix. + r1206724: Fix issue #3991. + Branch: + ^/subversion/branches/1.7.x-issue3991 + This branch might conflict with the 1.7.x-issue3814 branch (see above). + I will tweak this nomination if the other branch is reintegrated. + Votes: + +1: stsp + + Veto-blocked changes: =
svn commit: r1206737 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Sun Nov 27 15:32:52 2011 New Revision: 1206737 URL: http://svn.apache.org/viewvc?rev=1206737view=rev Log: * STATUS: typo (double negative) 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=1206737r1=1206736r2=1206737view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Sun Nov 27 15:32:52 2011 @@ -129,7 +129,7 @@ Candidate changes: * r1158923, r1206718 (partly), r1206724 Fix issue #3991. Justification: - svn patch is broken for patches not not terminated with EOL. + svn patch is broken for patches not terminated with EOL. Notes: r1158923: Adds a regression test. r1206718: Change to libsvn_client/patch.c is needed for issue #3991 fix.
svn commit: r1206741 - /subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c
Author: stsp Date: Sun Nov 27 15:39:43 2011 New Revision: 1206741 URL: http://svn.apache.org/viewvc?rev=1206741view=rev Log: Follow-up to r1206724: Fix an issue #3991 diff parsing test to make it pass. Found by: danielsh * subversion/tests/libsvn_diff/parse-diff-test.c (check_content): Allow non-empty lines when EOF is hit before EOL. (test_parse_unidiff_lacking_trailing_eol): Update test expectations, the hunk text has no trailing EOL. (test_funcs): Remove XFAIL from test_parse_unidiff_lacking_trailing_eol. Modified: subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c Modified: subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c?rev=1206741r1=1206740r2=1206741view=diff == --- subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c (original) +++ subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c Sun Nov 27 15:39:43 2011 @@ -314,7 +314,8 @@ check_content(svn_diff_hunk_t *hunk, svn SVN_TEST_STRING_ASSERT(exp_buf-data, hunk_buf-data); } - SVN_TEST_ASSERT(hunk_buf-len == 0); + if (!hunk_eof) +SVN_TEST_ASSERT(hunk_buf-len == 0); return SVN_NO_ERROR; } @@ -950,7 +951,7 @@ test_parse_unidiff_lacking_trailing_eol( TODO: test for notification about the NL silently appended */ SVN_ERR(check_content(hunk, reverse, This is the file 'gamma'. NL -some more bytes to 'gamma' NL, +some more bytes to 'gamma', pool)); reverse = !reverse; @@ -981,7 +982,7 @@ struct svn_test_descriptor_t test_funcs[ test property diffs with odd symbols), SVN_TEST_PASS2(test_git_diffs_with_spaces_diff, test git diffs with spaces in paths), -SVN_TEST_XFAIL2(test_parse_unidiff_lacking_trailing_eol, +SVN_TEST_PASS2(test_parse_unidiff_lacking_trailing_eol, test parsing unidiffs lacking trailing eol), SVN_TEST_NULL };
svn commit: r1206745 - in /subversion/branches/1.7.x-issue3991: ./ subversion/tests/libsvn_diff/parse-diff-test.c
Author: stsp Date: Sun Nov 27 15:47:05 2011 New Revision: 1206745 URL: http://svn.apache.org/viewvc?rev=1206745view=rev Log: Merge r1150344, r1158929 and r1206741 from trunk into 1.7.x-issue3991. r1150344 - merged to avoid conflicts r1158929 - adds a new diff parsing regression test r1206741 - fixes the test to make it PASS Modified: subversion/branches/1.7.x-issue3991/ (props changed) subversion/branches/1.7.x-issue3991/subversion/tests/libsvn_diff/parse-diff-test.c Propchange: subversion/branches/1.7.x-issue3991/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Nov 27 15:47:05 2011 @@ -68,4 +68,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,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,1156085,115 6098,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,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,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,1189190,1189261,1189395,1189580,1189665,1197998,1199876,1199950,1200837,1201002,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1206724 +/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
svn commit: r1206746 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Sun Nov 27 15:49:49 2011 New Revision: 1206746 URL: http://svn.apache.org/viewvc?rev=1206746view=rev Log: * STATUS: Note additional revs merged into the 1.7.x-issue3991 branch. 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=1206746r1=1206745r2=1206746view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Sun Nov 27 15:49:49 2011 @@ -126,7 +126,7 @@ Candidate changes: Votes: +1: stsp - * r1158923, r1206718 (partly), r1206724 + * r1158923, r1206718 (partly), r1206724, r1150344, r1158929, r1158929, r1206741 Fix issue #3991. Justification: svn patch is broken for patches not terminated with EOL. @@ -134,6 +134,10 @@ Candidate changes: r1158923: Adds a regression test. r1206718: Change to libsvn_client/patch.c is needed for issue #3991 fix. r1206724: Fix issue #3991. + r1150344: Merged to avoid conflicts in diff parsing test. + r1158929: Adds a new diff parsing regression test. + r1206741: Fixes the test to make it PASS. + Branch: ^/subversion/branches/1.7.x-issue3991 This branch might conflict with the 1.7.x-issue3814 branch (see above).
svn commit: r1206748 - /subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c
Author: stsp Date: Sun Nov 27 15:51:08 2011 New Revision: 1206748 URL: http://svn.apache.org/viewvc?rev=1206748view=rev Log: * subversion/tests/libsvn_diff/parse-diff-test.c (test_parse_unidiff_lacking_trailing_eol): Remove obsolete comment. Found by: danielsh Modified: subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c Modified: subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c?rev=1206748r1=1206747r2=1206748view=diff == --- subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c (original) +++ subversion/trunk/subversion/tests/libsvn_diff/parse-diff-test.c Sun Nov 27 15:51:08 2011 @@ -947,8 +947,6 @@ test_parse_unidiff_lacking_trailing_eol( This is the file 'gamma'. NL, pool)); - /* Verify that the contents are as expected, with a NL appended. - TODO: test for notification about the NL silently appended */ SVN_ERR(check_content(hunk, reverse, This is the file 'gamma'. NL some more bytes to 'gamma',
svn propchange: r1206724 - svn:log
Author: stsp Revision: 1206724 Modified property: svn:log Modified: svn:log at Sun Nov 27 16:03:29 2011 -- --- svn:log (original) +++ svn:log Sun Nov 27 16:03:29 2011 @@ -16,7 +16,7 @@ by appending an EOL. There are two probl 2) Adding the EOL would require more extensive changes. So far, content written to the patched result is also present in the patch file. We'd have to remember that a final EOL is missing and fake it, which - requires more state to keep than simply omiting the EOL. + requires more state to keep than simply omitting the EOL. * subversion/libsvn_diff/parse-diff.c (parse_next_hunk): Update current file position even if at EOF.
svn commit: r1207013 - /subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c
Author: stsp Date: Mon Nov 28 08:21:30 2011 New Revision: 1207013 URL: http://svn.apache.org/viewvc?rev=1207013view=rev Log: On the moves-scan-log branch: * subversion/libsvn_wc/update_editor.c (find_applicable_moves): Remove obsolete TODO comment. Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1207013r1=1207012r2=1207013view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Mon Nov 28 08:21:30 2011 @@ -1911,8 +1911,7 @@ find_applicable_moves(apr_array_header_t } else { - /* If updating into the past all moves apply in reverse. - * ### TODO construct moves list usable for conflict callback */ + /* If updating into the past all moves apply in reverse. */ for (i = sorted-nelts - 1; i = 0; i--) { int j;
svn commit: r1207041 - in /subversion/branches/moves-scan-log/subversion: include/svn_wc.h libsvn_wc/tree_conflicts.c libsvn_wc/update_editor.c svn/tree-conflicts.c
Author: stsp Date: Mon Nov 28 09:42:20 2011 New Revision: 1207041 URL: http://svn.apache.org/viewvc?rev=1207041view=rev Log: On the moves-scan-log branch, introduce the new 'incoming move away' tree conflict action and start using it. Also, tweak semantics of the svn_wc_conflict_choose_incoming_move choice and implement support for it in libsvn_wc. * subversion/include/svn_wc.h (svn_wc_conflict_action_t): Add svn_wc_conflict_action_move_away. (svn_wc_conflict_description2_t): Add 'incoming move', to be used together with svn_wc_conflict_choose_incoming_move. (svn_wc_conflict_choice_t): The 'incoming move' choice doesn't resolve anything. Rather, it makes the nature of an 'incoming delete' conflict more specific. Tweak the documentation accordingly. Add a new choice svn_wc_conflict_choose_new_incoming_move_target which allows users to divert an incoming move (this choice was previously muddled with svn_wc_conflict_choose_incoming_move). (svn_wc_conflict_result_t): Tweak description of incoming_move, rename choose_incoming_move_target to new_incoming_move_target for consistency, and add new_local_move_target. * subversion/svn/tree-conflicts.c, subversion/libsvn_wc/tree_conflicts.c (map_conflict_action_h, map_conflict_action_x, svn_wc__conflict_action_map): Add move-away action to maps. * subversion/libsvn_wc/update_editor.c (delete_entry): If the conflict callback returns 'choose incoming move', tweak the tree conflict description accordingly and invoke the callback again. Add a place-holder if-block for the new_incoming_move_target choice, to be implemented later. Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_wc/tree_conflicts.c subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c subversion/branches/moves-scan-log/subversion/svn/tree-conflicts.c Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1207041r1=1207040r2=1207041view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_wc.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_wc.h Mon Nov 28 09:42:20 2011 @@ -1560,8 +1560,10 @@ typedef enum svn_wc_conflict_action_t svn_wc_conflict_action_edit,/** attempting to change text or props */ svn_wc_conflict_action_add, /** attempting to add object */ svn_wc_conflict_action_delete, /** attempting to delete object */ - svn_wc_conflict_action_replace /** attempting to replace object, + svn_wc_conflict_action_replace, /** attempting to replace object, @since New in 1.7 */ + svn_wc_conflict_action_move_away /** attempting to move object away, +@since New in 1.8 */ } svn_wc_conflict_action_t; @@ -1854,6 +1856,11 @@ typedef struct svn_wc_conflict_descripti * @since New in 1.8. */ apr_array_header_t *suggested_moves; + /** The incoming move in case of an incoming move vs. local move tree + * conflict. + * @since New in 1.8. */ + svn_wc_repos_move_info_t *incoming_move; + /* Remember to adjust svn_wc__conflict_description2_dup() * if you add new fields to this struct. */ } svn_wc_conflict_description2_t; @@ -2117,12 +2124,21 @@ typedef enum svn_wc_conflict_choice_t svn_wc_conflict_choose_copy_is_copy, /** The user has chosen to map an incoming delete or copy to a - * server-side move. This move is described by svn_wc_conflict_result_t. + * server-side move. The incoming move is described by + * svn_wc_conflict_result_t and must not be NULL. + * This choice causes the conflict callback to be invoked again with a + * more specific conflict description. + * @see svn_wc_conflict_result_t + * @since New in 1.8. */ + svn_wc_conflict_choose_incoming_move, + + /** The user has chosen a new target for an incoming move to resolve an + * incoming move vs. local move tree conflict. * This allows users to divert incoming moves to a different target * location during incoming move vs. local move tree conflicts. * @see svn_wc_conflict_result_t * @since New in 1.8. */ - svn_wc_conflict_choose_incoming_move, + svn_wc_conflict_choose_new_incoming_move_target, /** The user has chosen a new target for a local move to resolve an * incoming move vs. local move tree conflict. This allows users to @@ -2169,14 +2185,19 @@ typedef struct svn_wc_conflict_result_t * The revision fields may be @c SVN_INVALID_REVNUM in case they are * unknown, and the prev/next pointers may both be NULL. * The idea is to allow users to describe an arbitrary incoming move - * by naming the source and the target. If the user's chosen incoming - * move
svn commit: r1207511 - /subversion/branches/1.7.x-svn-patch-eol-fixes/
Author: stsp Date: Mon Nov 28 19:05:38 2011 New Revision: 1207511 URL: http://svn.apache.org/viewvc?rev=1207511view=rev Log: Create a combined 1.7.x backport branch for issues #3814 and #3991. Added: subversion/branches/1.7.x-svn-patch-eol-fixes/ (props changed) - copied from r1207510, subversion/branches/1.7.x/ Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- --- bugtraq:logregex (added) +++ bugtraq:logregex Mon Nov 28 19:05:38 2011 @@ -0,0 +1,2 @@ +[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+ +(\d+) Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID% Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- --- svn:ignore (added) +++ svn:ignore Mon Nov 28 19:05:38 2011 @@ -0,0 +1,50 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.sln +subversion_vcnet.ncb +subversion_vcnet.suo +subversion_vcnet.sdf +subversion_vcnet.opensdf +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +zlib +sqlite-amalgamation +serf Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Nov 28 19:05:38 2011 @@ -0,0 +1,72 @@ +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-JavaHL-pools:1158684-1158722 +/subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-issue3975:1160761-1161546 +/subversion/branches/1.7.x-issue3976:1161731-1165397 +/subversion/branches/1.7.x-issue4032:1186668-1186784 +/subversion/branches/1.7.x-issue4035:1186202-1186315 +/subversion/branches/1.7.x-issue4035-r1185738:1186316-1186778 +/subversion/branches/1.7.x-issue4k:1166502-1167193 +/subversion/branches/1.7.x-neon-default:1148803-1158680 +/subversion/branches/1.7.x-r1152189:1152759-1154249 +/subversion/branches/1.7.x-r1155160:1158704-1159223 +/subversion/branches/1.7.x-r1159093:1159097-1159230 +/subversion/branches/1.7.x-r1163557:1163574-1170648 +/subversion/branches/1.7.x-r1173425:1173429-1176454 +/subversion/branches/1.7.x-r1180154:1186224-1186351 +/subversion/branches/1.7.x-r1201824:1202121-1207333 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/gnome-keyring:870558-871410 +/subversion/branches/http-protocol-v2:874395-876041 +/subversion/branches/in-memory-cache:869829-871452 +/subversion/branches/integrate-cache-item-serialization:1068724-1068739 +/subversion/branches/integrate-cache-membuffer:998649-998852 +/subversion/branches/integrate-compression-level:1068651-1072287 +/subversion/branches/integrate-io-improvements:1068684-1072297 +/subversion/branches/integrate-is-cachable:1072568-1074082 +/subversion/branches/integrate-partial-getter:1072558-1076552 +/subversion/branches/integrate-readline-speedup:1072553-1072555 +/subversion/branches/integrate-stream-api-extensions:1068695-1072516 +/subversion/branches/integrate-txdelta-caching:1072541-1078213 +/subversion/branches/issue-2779-dev:965496-984198 +/subversion/branches/issue-2843-dev:871432-874179 +/subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 +/subversion/branches/issue-3067-deleted-subtrees:873375-874084 +/subversion/branches/issue-3148-dev:875193-875204 +/subversion/branches/issue-3220-dev:872210-872226 +/subversion/branches/issue-3242-dev:879653-896436 +/subversion/branches/issue-3334-dirs:875156-875867 +/subversion
svn commit: r1207512 - in /subversion/branches/1.7.x-svn-patch-eol-fixes: ./ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/bindings/javahl/tests/org/tigris/subversion/javah
Author: stsp Date: Mon Nov 28 19:06:34 2011 New Revision: 1207512 URL: http://svn.apache.org/viewvc?rev=1207512view=rev Log: On the 1.7.x-svn-patch-eol-fixes branch, merge the following from trunk: r1150344: Merged to avoid conflicts in diff parsing test. r1158923: Adds a cmdline regression test for issue #3991. r1158929: Adds a new C diff parsing regression test for issue #3991. r1166267: Merged to prevent conflicts in diff_tests.py. r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. r1206718: Fix issue #3814. r1206719: Follow-up fix for JavaHL tests. r1206724: Fix issue #3991. r1206741: Fixes the #3991 C diff parsing test to make it PASS. r1206748: Remove an obsolete comment. Modified: subversion/branches/1.7.x-svn-patch-eol-fixes/ (props changed) subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/libsvn_client/diff.c subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/libsvn_client/patch.c subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/libsvn_diff/parse-diff.c subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/svnlook/main.c subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/cmdline/depth_tests.py subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/cmdline/diff_tests.py subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/cmdline/patch_tests.py subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/cmdline/special_tests.py subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/libsvn_diff/parse-diff-test.c Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Nov 28 19:06:34 2011 @@ -69,4 +69,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,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,1156085,115 6098,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,1158924,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,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,1188774,1189190,1189261,1189395,1189580,1189665,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1206523,1206533 +/subversion/trunk
svn commit: r1207514 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Nov 28 19:11:39 2011 New Revision: 1207514 URL: http://svn.apache.org/viewvc?rev=1207514view=rev Log: * STATUS: Nominate the combined issue #3814 and #3991 fix instead of individual fixes. The fixes overlap. 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=1207514r1=1207513r2=1207514view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Nov 28 19:11:39 2011 @@ -50,41 +50,31 @@ Candidate changes: Votes: +1: philip, cmpilato - * r1166267, r1206576, r1206718, r1206719 - Fix issue #3814. + * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, + r1206724,r1206741 + Fix issues #3814 and #3991. Justification: - svn patch is broken for property values not terminated with EOL. - Fix requested on users@: + svn patch is broken for file content and property values not terminated + with EOL, and for patches not terminated with EOL. + Fixes requested on users@: http://svn.haxx.se/users/archive-2011-11/0513.shtml + http://svn.haxx.se/users/archive-2011-11/0523.shtml Notes: + r1150344: Merged to avoid conflicts in diff parsing test. + r1158923: Adds a cmdline regression test for issue #3991. + r1158929: Adds a new C diff parsing regression test for issue #3991. r1166267: Merged to prevent conflicts in diff_tests.py. r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. r1206718: Fix issue #3814. r1206719: Follow-up fix for JavaHL tests. - Branch: - ^/subversion/branches/1.7.x-issue3814. - This branch might conflict with the 1.7.x-issue3991 branch (see below). - I will tweak this nomination if the other branch is reintegrated. - Votes: - +1: stsp, philip - - * r1158923, r1206718 (partly), r1206724, r1150344, r1158929, r1206741 - Fix issue #3991. - Justification: - svn patch is broken for patches not terminated with EOL. - Notes: - r1158923: Adds a regression test. - r1206718: Change to libsvn_client/patch.c is needed for issue #3991 fix. r1206724: Fix issue #3991. - r1150344: Merged to avoid conflicts in diff parsing test. - r1158929: Adds a new diff parsing regression test. - r1206741: Fixes the test to make it PASS. + r1206741: Fixes the #3991 C diff parsing test to make it PASS. + r1206748: Remove an obsolete comment. Branch: - ^/subversion/branches/1.7.x-issue3991 - This branch might conflict with the 1.7.x-issue3814 branch (see above). - I will tweak this nomination if the other branch is reintegrated. + ^/subversion/branches/1.7.x-svn-patch-eol-fixes Votes: +1: stsp + +1: philip (r1166267, r1206576, r1206718, r1206719 only) Veto-blocked changes:
svn commit: r1207516 - in /subversion/branches: 1.7.x-issue3814/ 1.7.x-issue3991/
Author: stsp Date: Mon Nov 28 19:12:26 2011 New Revision: 1207516 URL: http://svn.apache.org/viewvc?rev=1207516view=rev Log: Remove branches superseded by 1.7.x-svn-patch-eol-fixes branch. Removed: subversion/branches/1.7.x-issue3814/ subversion/branches/1.7.x-issue3991/
svn commit: r1207526 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Nov 28 19:19:58 2011 New Revision: 1207526 URL: http://svn.apache.org/viewvc?rev=1207526view=rev Log: * STATUS: spacing 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=1207526r1=1207525r2=1207526view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Nov 28 19:19:58 2011 @@ -51,7 +51,7 @@ Candidate changes: +1: philip, cmpilato * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, - r1206724,r1206741 + r1206724, r1206741 Fix issues #3814 and #3991. Justification: svn patch is broken for file content and property values not terminated
svn commit: r1207605 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Nov 28 21:01:52 2011 New Revision: 1207605 URL: http://svn.apache.org/viewvc?rev=1207605view=rev Log: * STATUS: Describe problem in svn-patch-eol fixes and veto for now. 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=1207605r1=1207604r2=1207605view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Nov 28 21:01:52 2011 @@ -43,32 +43,6 @@ Candidate changes: Votes: +1: pburba - * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, - r1206724, r1206741 - Fix issues #3814 and #3991. - Justification: - svn patch is broken for file content and property values not terminated - with EOL, and for patches not terminated with EOL. - Fixes requested on users@: - http://svn.haxx.se/users/archive-2011-11/0513.shtml - http://svn.haxx.se/users/archive-2011-11/0523.shtml - Notes: - r1150344: Merged to avoid conflicts in diff parsing test. - r1158923: Adds a cmdline regression test for issue #3991. - r1158929: Adds a new C diff parsing regression test for issue #3991. - r1166267: Merged to prevent conflicts in diff_tests.py. - r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. - r1206718: Fix issue #3814. - r1206719: Follow-up fix for JavaHL tests. - r1206724: Fix issue #3991. - r1206741: Fixes the #3991 C diff parsing test to make it PASS. - r1206748: Remove an obsolete comment. - Branch: - ^/subversion/branches/1.7.x-svn-patch-eol-fixes - Votes: - +1: stsp - +1: philip (r1166267, r1206576, r1206718, r1206719 only) - * r1207555 mod_dontdothat: contrib/ - tools/ and relicense under ALv2. Justification: @@ -99,6 +73,38 @@ Veto-blocked changes: (without r1161164, r1161180) -1: danielsh (invasive, new feature) + * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, + r1206724, r1206741 + Fix issues #3814 and #3991. + Justification: + svn patch is broken for file content and property values not terminated + with EOL, and for patches not terminated with EOL. + Fixes requested on users@: + http://svn.haxx.se/users/archive-2011-11/0513.shtml + http://svn.haxx.se/users/archive-2011-11/0523.shtml + Notes: + r1150344: Merged to avoid conflicts in diff parsing test. + r1158923: Adds a cmdline regression test for issue #3991. + r1158929: Adds a new C diff parsing regression test for issue #3991. + r1166267: Merged to prevent conflicts in diff_tests.py. + r1206576: Tweak 'svn diff' output for prop values not terminated with EOL. + r1206718: Fix issue #3814. + r1206719: Follow-up fix for JavaHL tests. + r1206724: Fix issue #3991. + r1206741: Fixes the #3991 C diff parsing test to make it PASS. + r1206748: Remove an obsolete comment. + Branch: + ^/subversion/branches/1.7.x-svn-patch-eol-fixes + Votes: + +1: philip (r1166267, r1206576, r1206718, r1206719 only) + -1: stsp (Problem in implementation: It assumes comments like + '\ No newline at end of file' terminate the entire hunk text, + but in fact they terminate the original/modified versions of + the hunk text, see example patch file at + http://svn.haxx.se/users/archive-2011-11/0523.shtml + which has two '\ No newline at ...' comments) + + Approved changes: =
svn commit: r1207656 - /subversion/trunk/subversion/libsvn_diff/parse-diff.c
Author: stsp Date: Mon Nov 28 22:21:56 2011 New Revision: 1207656 URL: http://svn.apache.org/viewvc?rev=1207656view=rev Log: * subversion/libsvn_diff/parse-diff.c (parse_next_hunk): When testing a boolean accessed via a pointer it kinda makes sense to dereference the pointer. Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/parse-diff.c?rev=1207656r1=1207655r2=1207656view=diff == --- subversion/trunk/subversion/libsvn_diff/parse-diff.c (original) +++ subversion/trunk/subversion/libsvn_diff/parse-diff.c Mon Nov 28 22:21:56 2011 @@ -641,9 +641,9 @@ parse_next_hunk(svn_diff_hunk_t **hunk, if (line-data[0] == '\\') { if (in_hunk - ((!is_property + ((!*is_property strcmp(line-data, \\ No newline at end of file) == 0) || - (is_property + (*is_property strcmp(line-data, \\ No newline at end of property) == 0))) { char eolbuf[2];
svn commit: r1207663 - in /subversion/trunk/subversion: libsvn_diff/parse-diff.c tests/cmdline/patch_tests.py
Author: stsp Date: Mon Nov 28 22:34:49 2011 New Revision: 1207663 URL: http://svn.apache.org/viewvc?rev=1207663view=rev Log: Make the diff parser handle comment lines indicating missing EOLs if such comments appear within the diff text of a hunk, not just at the very end of the hunk's diff text. Reported by: Peter Balogh http://svn.haxx.se/users/archive-2011-11/0523.shtml * subversion/libsvn_diff/parse-diff.c (parse_next_hunk): The '\ No newline at end of ...' comments may appear not only at the very end of a hunk text, but also at the end of the original version (the last line starting with '-') or at the end of the modified version (the last line starting with '+') of the hunk text. Properly account for this by keeping track of the last byte in the original and modified hunk texts independently. * subversion/tests/cmdline/patch_tests.py (patch_target_no_eol_at_eof, test_list): New test. Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c subversion/trunk/subversion/tests/cmdline/patch_tests.py Modified: subversion/trunk/subversion/libsvn_diff/parse-diff.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/parse-diff.c?rev=1207663r1=1207662r2=1207663view=diff == --- subversion/trunk/subversion/libsvn_diff/parse-diff.c (original) +++ subversion/trunk/subversion/libsvn_diff/parse-diff.c Mon Nov 28 22:34:49 2011 @@ -590,11 +590,19 @@ parse_next_hunk(svn_diff_hunk_t **hunk, svn_boolean_t eof, in_hunk, hunk_seen; apr_off_t pos, last_line; apr_off_t start, end; + apr_off_t original_end; + apr_off_t modified_end; svn_linenum_t original_lines; svn_linenum_t modified_lines; svn_linenum_t leading_context; svn_linenum_t trailing_context; svn_boolean_t changed_line_seen; + enum { +noise_line, +original_line, +modified_line, +context_line + } last_line_type; apr_pool_t *iterpool; *prop_operation = svn_diff_op_unchanged; @@ -615,12 +623,17 @@ parse_next_hunk(svn_diff_hunk_t **hunk, leading_context = 0; trailing_context = 0; changed_line_seen = FALSE; + original_end = 0; + modified_end = 0; *hunk = apr_pcalloc(result_pool, sizeof(**hunk)); /* Get current seek position -- APR has no ftell() :( */ pos = 0; SVN_ERR(svn_io_file_seek(apr_file, APR_CUR, pos, scratch_pool)); + /* Start out assuming noise. */ + last_line_type = noise_line; + iterpool = svn_pool_create(scratch_pool); do { @@ -649,6 +662,7 @@ parse_next_hunk(svn_diff_hunk_t **hunk, char eolbuf[2]; apr_size_t len; apr_off_t off; + apr_off_t hunk_text_end; /* Comment terminates the hunk text and says the hunk text * has no trailing EOL. Snip off trailing EOL which is part @@ -659,14 +673,26 @@ parse_next_hunk(svn_diff_hunk_t **hunk, SVN_ERR(svn_io_file_read_full2(apr_file, eolbuf, len, len, eof, iterpool)); if (eolbuf[0] == '\r' eolbuf[1] == '\n') -end = last_line - 2; - else if (eolbuf[1] == '\n') -end = last_line - 1; - else if (eolbuf[1] == '\r') -end = last_line - 1; +hunk_text_end = last_line - 2; + else if (eolbuf[1] == '\n' || eolbuf[1] == '\r') +hunk_text_end = last_line - 1; else -end = last_line; - break; +hunk_text_end = last_line; + + if (last_line_type == original_line original_end == 0) +original_end = hunk_text_end; + else if (last_line_type == modified_line modified_end == 0) +modified_end = hunk_text_end; + else if (last_line_type == context_line) +{ + if (original_end == 0) +original_end = hunk_text_end; + if (modified_end == 0) +modified_end = hunk_text_end; + break; +} + + SVN_ERR(svn_io_file_seek(apr_file, APR_SET, pos, iterpool)); } continue; @@ -701,6 +727,7 @@ parse_next_hunk(svn_diff_hunk_t **hunk, trailing_context++; else leading_context++; + last_line_type = context_line; } else if (original_lines 0 c == del) { @@ -714,6 +741,7 @@ parse_next_hunk(svn_diff_hunk_t **hunk, trailing_context = 0; original_lines--; + last_line_type = original_line; } else if (modified_lines 0 c == add) { @@ -727,6 +755,7 @@ parse_next_hunk(svn_diff_hunk_t **hunk, trailing_context = 0; modified_lines--; + last_line_type
svn commit: r1207668 - in /subversion/branches/1.7.x-svn-patch-eol-fixes: ./ subversion/libsvn_diff/parse-diff.c subversion/tests/cmdline/patch_tests.py
Author: stsp Date: Mon Nov 28 22:39:59 2011 New Revision: 1207668 URL: http://svn.apache.org/viewvc?rev=1207668view=rev Log: On the 1.7.x-svn-patch-eol-fixes branch, merge r1207656 and r1207663 from trunk. Modified: subversion/branches/1.7.x-svn-patch-eol-fixes/ (props changed) subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/libsvn_diff/parse-diff.c subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/cmdline/patch_tests.py Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Nov 28 22:39:59 2011 @@ -69,4 +69,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,1188774,1189190,1189261,1189395,1189580,1189665,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1206523,1206533,1206576,1206718-1206719,1206724,1206741,1206748 +/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
svn commit: r1207673 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Nov 28 22:44:01 2011 New Revision: 1207673 URL: http://svn.apache.org/viewvc?rev=1207673view=rev Log: * STATUS: Re-nominate the 1.7.x-svn-patch-eol-fixes branch. 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=1207673r1=1207672r2=1207673view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Nov 28 22:44:01 2011 @@ -43,32 +43,9 @@ Candidate changes: Votes: +1: stsp - -Veto-blocked changes: -= - - * r1146131 and followups - Add svn_fs_verify() and implement rep-cache verification in FSFS using it. - Branch: - 1.7.x-fs-verify - Justification: - Would be nice to extend verify already in 1.7.x. - Notes: - This does not include progress reporting; that has been postponed to 1.8. - Conflicts: - On fs_fs.c. Resolve with 'theirs-conflict'. - Votes: - +1: danielsh, rhuijben - +0: gstein (progress would be nice) (without r1161164, r1161180) - -0: cmpilato (For a function with this name, the implementation is far - too anemic. I'd prefer this be a private function in 1.7.x, leaving - room for a future public API that really does full verification.) - (without r1161164, r1161180) - -1: danielsh (invasive, new feature) - * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, - r1206724, r1206741 - Fix issues #3814 and #3991. + r1206724, r1206741, r1207656, r1207663 + Fix issues #3814, and #3991, and other EOL-handling problems in patch. Justification: svn patch is broken for file content and property values not terminated with EOL, and for patches not terminated with EOL. @@ -86,17 +63,36 @@ Veto-blocked changes: r1206724: Fix issue #3991. r1206741: Fixes the #3991 C diff parsing test to make it PASS. r1206748: Remove an obsolete comment. + r1207656: Fix a pointer dereference bug from r1206718. + r1207663: Fix handling of '\ No newline ...' comments within hunk text. Branch: ^/subversion/branches/1.7.x-svn-patch-eol-fixes Votes: + +1: stsp +1: philip (r1166267, r1206576, r1206718, r1206719 only) - -1: stsp (Problem in implementation: It assumes comments like - '\ No newline at end of file' terminate the entire hunk text, - but in fact they terminate the original/modified versions of - the hunk text, see example patch file at - http://svn.haxx.se/users/archive-2011-11/0523.shtml - which has two '\ No newline at ...' comments) +Veto-blocked changes: += + + * r1146131 and followups + Add svn_fs_verify() and implement rep-cache verification in FSFS using it. + Branch: + 1.7.x-fs-verify + Justification: + Would be nice to extend verify already in 1.7.x. + Notes: + This does not include progress reporting; that has been postponed to 1.8. + Conflicts: + On fs_fs.c. Resolve with 'theirs-conflict'. + Votes: + +1: danielsh, rhuijben + +0: gstein (progress would be nice) (without r1161164, r1161180) + -0: cmpilato (For a function with this name, the implementation is far + too anemic. I'd prefer this be a private function in 1.7.x, leaving + room for a future public API that really does full verification.) + (without r1161164, r1161180) + -1: danielsh (invasive, new feature) + Approved changes: =
svn commit: r1207678 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Nov 28 22:55:01 2011 New Revision: 1207678 URL: http://svn.apache.org/viewvc?rev=1207678view=rev Log: * STATUS: Tweak 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=1207678r1=1207677r2=1207678view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Nov 28 22:55:01 2011 @@ -39,9 +39,12 @@ Candidate changes: * r1207555 mod_dontdothat: contrib/ - tools/ and relicense under ALv2. Justification: - ? + ASF infra is using this so we should maintain it. + Stuff in contrib/ isn't officially maintained. Votes: - +1: stsp + +0: stsp (I'm fine with moving this to tools in principle, + but I think we should use 'svn move' to move the + folder instead of delete/add as r1207555 does.) * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, r1206724, r1206741, r1207656, r1207663
svn commit: r1207815 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Nov 29 10:36:06 2011 New Revision: 1207815 URL: http://svn.apache.org/viewvc?rev=1207815view=rev Log: * STATUS: The commit email for the mod_dontdothat move was confusing me. svn log does indeed show it was moved properly so upgrade my 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=1207815r1=1207814r2=1207815view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Nov 29 10:36:06 2011 @@ -45,10 +45,7 @@ Candidate changes: r1207555: Perform the move (from r1207550) and relicense r1207808: Enable building mod_dontdothat from our standard make scripts. Votes: - +0: stsp (Without r1207808. I'm fine with moving this to tools in - principle, but I think we should use 'svn move' to move the - folder instead of delete/add as r1207555 does) - +1: rhuijben (@stsp: The folder was moved) + +1: rhuijben, stsp * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, r1206724, r1206741, r1207656, r1207663
svn commit: r1207819 - /subversion/trunk/CHANGES
Author: stsp Date: Tue Nov 29 10:46:47 2011 New Revision: 1207819 URL: http://svn.apache.org/viewvc?rev=1207819view=rev Log: * CHANGES: Tweak wording and fix typos in 1.7.2 section. Modified: subversion/trunk/CHANGES Modified: subversion/trunk/CHANGES URL: http://svn.apache.org/viewvc/subversion/trunk/CHANGES?rev=1207819r1=1207818r2=1207819view=diff == --- subversion/trunk/CHANGES (original) +++ subversion/trunk/CHANGES Tue Nov 29 10:46:47 2011 @@ -53,13 +53,13 @@ http://svn.apache.org/repos/asf/subversi * make mod_dav_svn ignore non-Subversion POST requests (r1187695) * avoid reading freed memory (r1204478) * recognize empty (only byte order mark) UTF-8 files as text (issue #4046) - * improve behavior when operating against a 1.0.x server (r1199876) - * remove empty externals parents on update (issue #4044) + * fix 1.7 client regression when operating against a 1.0.x server (r1199876) + * remove empty parent dirs of removed externals on update (issue #4044) * make 'svn diff -c N' work for files added in rN (issue #2873) * plug a memory leak in the bdb backend (r1205726) - * fix 'svn import' with native eol style and inconsistent EOLs (r1205193) + * fix 'svn import' with native eol-style and inconsistent EOLs (r1205193) * fix reading beyond the end of a string in bdb backend (r1205839, -48) - * don't assert when commiting an incomplete directory (issue #4042) + * don't assert when committing an incomplete directory (issue #4042) Developer-visible changes: * JavaHL: allow 'status -u' to function properly (r1189190, -395) @@ -67,7 +67,7 @@ http://svn.apache.org/repos/asf/subversi * properly define WIN64 on Windows x64 builds (r1188609) * better adherence to C89 in enum definitions (r1189665) * bump copyright year in Windows DLLs (r1189261) - * log the entire error chain when opening rep-cache.db fails (r1204610, -73) + * log a better error when opening rep-cache.db fails (r1204610, -73) Version 1.7.1
svn commit: r1207823 - /subversion/trunk/subversion/tests/cmdline/patch_tests.py
Author: stsp Date: Tue Nov 29 11:10:43 2011 New Revision: 1207823 URL: http://svn.apache.org/viewvc?rev=1207823view=rev Log: * subversion/tests/cmdline/patch_tests.py (patch_target_no_eol_at_eof): Make sure the patch changes the target file's size so that 'svn status' realises the file has been modified even if it runs within the sleep-for-timestamps window. Should fix spurious test failures on the buildbots. Suggested by: philip rhuijben Modified: subversion/trunk/subversion/tests/cmdline/patch_tests.py Modified: subversion/trunk/subversion/tests/cmdline/patch_tests.py URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/patch_tests.py?rev=1207823r1=1207822r2=1207823view=diff == --- subversion/trunk/subversion/tests/cmdline/patch_tests.py (original) +++ subversion/trunk/subversion/tests/cmdline/patch_tests.py Tue Nov 29 11:10:43 2011 @@ -4015,14 +4015,14 @@ def patch_target_no_eol_at_eof(sbox): @@ -1,7 +1,7 @@\n, -This is the file iota.\n \\ No newline at end of file\n, -+It is the file 'iota'.\n, ++It is really the file 'iota'.\n, \\ No newline at end of file\n, ] svntest.main.file_write(patch_file_path, ''.join(unidiff_patch)) iota_contents = [ -It is the file 'iota'. +It is really the file 'iota'. ] expected_output = [ 'U %s\n' % os.path.join(wc_dir, 'iota'),
svn commit: r1207827 - in /subversion/branches/1.7.x-svn-patch-eol-fixes: ./ subversion/tests/cmdline/patch_tests.py
Author: stsp Date: Tue Nov 29 11:12:50 2011 New Revision: 1207827 URL: http://svn.apache.org/viewvc?rev=1207827view=rev Log: On the 1.7.x-svn-patch-eol-fixes branch, merge r1207823 from trunk. Modified: subversion/branches/1.7.x-svn-patch-eol-fixes/ (props changed) subversion/branches/1.7.x-svn-patch-eol-fixes/subversion/tests/cmdline/patch_tests.py Propchange: subversion/branches/1.7.x-svn-patch-eol-fixes/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Nov 29 11:12:50 2011 @@ -69,4 +69,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,1188774,1189190,1189261,1189395,1189580,1189665,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1206523,1206533,1206576,1206718-1206719,1206724,1206741,1206748,1207656,1207663 +/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
svn commit: r1207828 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Nov 29 11:14:14 2011 New Revision: 1207828 URL: http://svn.apache.org/viewvc?rev=1207828view=rev Log: * STATUS: Add r1207823 to svn-patch-eol-fixes branch nomination. 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=1207828r1=1207827r2=1207828view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Nov 29 11:14:14 2011 @@ -48,7 +48,7 @@ Candidate changes: +1: rhuijben, stsp * r1150344, r1158923, r1158929, r1166267, r1206576, r1206718, r1206719, - r1206724, r1206741, r1207656, r1207663 + r1206724, r1206741, r1207656, r1207663, r1207823 Fix issues #3814, and #3991, and other EOL-handling problems in patch. Justification: svn patch is broken for file content and property values not terminated @@ -69,6 +69,7 @@ Candidate changes: r1206748: Remove an obsolete comment. r1207656: Fix a pointer dereference bug from r1206718. r1207663: Fix handling of '\ No newline ...' comments within hunk text. + r1207823: Fixes spurious test failures. Branch: ^/subversion/branches/1.7.x-svn-patch-eol-fixes Votes:
svn commit: r1207839 - /subversion/trunk/CHANGES
Author: stsp Date: Tue Nov 29 11:48:49 2011 New Revision: 1207839 URL: http://svn.apache.org/viewvc?rev=1207839view=rev Log: * CHANGES: Fix issue number in 1.7.2 section. Modified: subversion/trunk/CHANGES Modified: subversion/trunk/CHANGES URL: http://svn.apache.org/viewvc/subversion/trunk/CHANGES?rev=1207839r1=1207838r2=1207839view=diff == --- subversion/trunk/CHANGES (original) +++ subversion/trunk/CHANGES Tue Nov 29 11:48:49 2011 @@ -52,7 +52,7 @@ http://svn.apache.org/repos/asf/subversi * fix nested Locations when using v2 protocol (r1203546, -651, -653) * make mod_dav_svn ignore non-Subversion POST requests (r1187695) * avoid reading freed memory (r1204478) - * recognize empty (only byte order mark) UTF-8 files as text (issue #4046) + * recognize empty (only byte order mark) UTF-8 files as text (issue #4064) * fix 1.7 client regression when operating against a 1.0.x server (r1199876) * remove empty parent dirs of removed externals on update (issue #4044) * make 'svn diff -c N' work for files added in rN (issue #2873)
svn commit: r1209654 - /subversion/trunk/subversion/svn/main.c
Author: stsp Date: Fri Dec 2 19:46:10 2011 New Revision: 1209654 URL: http://svn.apache.org/viewvc?rev=1209654view=rev Log: * subversion/svn/main.c (svn_cl__cmd_table): Don't use zero-based indexing when enumerating the different syntax forms in the 'svn merge' help text. This is inconsistent with all other help texts which always start counting at 1. Zero-based indexing was added in r1195480 when the previously combined 'sync' and 'cherry-pick' syntax forms were split up. Modified: subversion/trunk/subversion/svn/main.c Modified: subversion/trunk/subversion/svn/main.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/main.c?rev=1209654r1=1209653r2=1209654view=diff == --- subversion/trunk/subversion/svn/main.c (original) +++ subversion/trunk/subversion/svn/main.c Fri Dec 2 19:46:10 2011 @@ -678,16 +678,16 @@ const svn_opt_subcommand_desc2_t svn_cl_ * viewing/editing. It has been vim-treated with a textwidth=75 and 'gw' * (with quotes and newlines removed). */ Merge changes into a working copy.\n -usage: 0. merge SOURCE[@REV] [TARGET_WCPATH]\n +usage: 1. merge SOURCE[@REV] [TARGET_WCPATH]\n (the 'sync' merge)\n - 1. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]\n + 2. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]\n (the 'cherry-pick' merge)\n - 2. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]\n + 3. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]\n (the 'reintegrate' merge)\n - 3. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]\n + 4. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]\n (the '2-URL' merge)\n \n - 0. This form is called a 'sync' (or 'catch-up') merge:\n + 1. This form is called a 'sync' (or 'catch-up') merge:\n \n svn merge SOURCE[@REV] [TARGET_WCPATH]\n \n @@ -749,7 +749,7 @@ const svn_opt_subcommand_desc2_t svn_cl_ conflicts before you commit the merge.\n \n \n - 1. This form is called a 'cherry-pick' merge:\n + 2. This form is called a 'cherry-pick' merge:\n \n svn merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]\n \n @@ -818,7 +818,7 @@ const svn_opt_subcommand_desc2_t svn_cl_ svn merge -c50,54,60 -r65:68 ^/trunk\n \n \n - 2. This form is called a 'reintegrate merge':\n + 3. This form is called a 'reintegrate merge':\n \n svn merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]\n \n @@ -877,7 +877,7 @@ const svn_opt_subcommand_desc2_t svn_cl_ on the feature branch, it should be deleted and then re-created.\n \n \n - 3. This form is called a '2-URL merge':\n + 4. This form is called a '2-URL merge':\n \n svn merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]\n \n
svn commit: r1210495 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Dec 5 15:23:25 2011 New Revision: 1210495 URL: http://svn.apache.org/viewvc?rev=1210495view=rev Log: * STATUS: +0 vote for r1210147 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=1210495r1=1210494r2=1210495view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Dec 5 15:23:25 2011 @@ -94,6 +94,8 @@ Candidate changes: Previously it would error out. A test is included. Votes: +1: julianfoad + +0: stsp (change is good, but this needs a backport branch because + svn_client_diff_peg6 is new in 1.8) Veto-blocked changes: =
svn commit: r1212428 [1/3] - in /subversion/branches/moves-scan-log: ./ subversion/include/ subversion/libsvn_client/ subversion/libsvn_delta/ subversion/libsvn_repos/ subversion/libsvn_wc/ subversion
Author: stsp Date: Fri Dec 9 14:01:25 2011 New Revision: 1212428 URL: http://svn.apache.org/viewvc?rev=1212428view=rev Log: Sync the moves-scan-log branch with trunk. Modified: subversion/branches/moves-scan-log/ (props changed) subversion/branches/moves-scan-log/subversion/include/svn_delta.h subversion/branches/moves-scan-log/subversion/include/svn_dirent_uri.h subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_client/add.c subversion/branches/moves-scan-log/subversion/libsvn_client/delete.c subversion/branches/moves-scan-log/subversion/libsvn_client/merge.c subversion/branches/moves-scan-log/subversion/libsvn_delta/compat.c subversion/branches/moves-scan-log/subversion/libsvn_repos/commit.c subversion/branches/moves-scan-log/subversion/libsvn_repos/dump.c subversion/branches/moves-scan-log/subversion/libsvn_wc/externals.c subversion/branches/moves-scan-log/subversion/libsvn_wc/status.c subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c subversion/branches/moves-scan-log/subversion/libsvn_wc/util.c subversion/branches/moves-scan-log/subversion/libsvn_wc/wc.h subversion/branches/moves-scan-log/subversion/libsvn_wc/wc_db.c subversion/branches/moves-scan-log/subversion/tests/cmdline/basic_tests.py subversion/branches/moves-scan-log/subversion/tests/cmdline/externals_tests.py subversion/branches/moves-scan-log/subversion/tests/cmdline/merge_tests.py subversion/branches/moves-scan-log/subversion/tests/cmdline/mergeinfo_tests.py subversion/branches/moves-scan-log/subversion/tests/cmdline/prop_tests.py subversion/branches/moves-scan-log/subversion/tests/cmdline/svntest/actions.py subversion/branches/moves-scan-log/subversion/tests/libsvn_wc/op-depth-test.c subversion/branches/moves-scan-log/tools/dist/dist.sh Propchange: subversion/branches/moves-scan-log/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Dec 9 14:01:25 2011 @@ -57,4 +57,4 @@ /subversion/branches/tree-conflicts:868291-873154 /subversion/branches/tree-conflicts-notify:873926-874008 /subversion/branches/uris-as-urls:1060426-1064427 -/subversion/trunk:1186288-1210540 +/subversion/trunk:1186288-1212396 Modified: subversion/branches/moves-scan-log/subversion/include/svn_delta.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_delta.h?rev=1212428r1=1212427r2=1212428view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_delta.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_delta.h Fri Dec 9 14:01:25 2011 @@ -,6 +,20 @@ typedef svn_error_t *(*svn_delta_fetch_k apr_pool_t *scratch_pool ); +/** Callback to fetch the FILENAME of a file to use as the delta base for + * PATH. The file should last at least as long as RESULT_POOL. If the base + * stream is empty, return NULL through FILENAME. + * + * @since New in 1.8. + */ +typedef svn_error_t *(*svn_delta_fetch_base_func_t)( + const char **filename, + void *baton, + const char *path, + apr_pool_t *result_pool, + apr_pool_t *scratch_pool + ); + /** Collection of callbacks used for the shim code. To enable this struct * to grow, always use svn_delta_shim_callbacks_default() * to allocate new instances of it. @@ -1123,6 +1137,8 @@ typedef struct svn_delta_shim_callbacks_ void *fetch_props_baton; svn_delta_fetch_kind_func_t fetch_kind_func; void *fetch_kind_baton; + svn_delta_fetch_base_func_t fetch_base_func; + void *fetch_base_baton; } svn_delta_shim_callbacks_t; /** Return a collection of default shim functions in @a result_pool. Modified: subversion/branches/moves-scan-log/subversion/include/svn_dirent_uri.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_dirent_uri.h?rev=1212428r1=1212427r2=1212428view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_dirent_uri.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_dirent_uri.h Fri Dec 9 14:01:25 2011 @@ -760,7 +760,7 @@ svn_uri_condense_targets(const char **pc * * Allocate the result in @a result_pool. * - * Note: Use of this function is strongly encouraged. Do not roll your own. + * @note Use of this function is strongly encouraged. Do not roll your own. * (http://cve.mitre.org/cgi-bin/cvename.cgi?name=2007-3846) * * @since New in 1.7. Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1212428r1=1212427r2=1212428view=diff
svn commit: r1212428 [3/3] - in /subversion/branches/moves-scan-log: ./ subversion/include/ subversion/libsvn_client/ subversion/libsvn_delta/ subversion/libsvn_repos/ subversion/libsvn_wc/ subversion
Modified: subversion/branches/moves-scan-log/subversion/libsvn_delta/compat.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_delta/compat.c?rev=1212428r1=1212427r2=1212428view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_delta/compat.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_delta/compat.c Fri Dec 9 14:01:25 2011 @@ -123,6 +123,9 @@ struct ev2_edit_baton target_revision_func_t target_revision_func; void *target_revision_baton; + + svn_delta_fetch_base_func_t fetch_base_func; + void *fetch_base_baton; }; struct ev2_dir_baton @@ -169,6 +172,12 @@ struct copy_args svn_revnum_t copyfrom_rev; }; +struct path_checksum_args +{ + const char *path; + svn_checksum_t *checksum; +}; + static svn_error_t * add_action(struct ev2_edit_baton *eb, const char *path, @@ -207,6 +216,7 @@ process_actions(void *edit_baton, svn_boolean_t need_add = FALSE; apr_array_header_t *children; svn_stream_t *contents = NULL; + svn_checksum_t *checksum = NULL; svn_kind_t kind; int i; @@ -270,16 +280,19 @@ process_actions(void *edit_baton, { /* The default is an empty file. */ contents = svn_stream_empty(scratch_pool); + checksum = svn_checksum_empty_checksum(svn_checksum_sha1, + scratch_pool); } break; } case ACTION_SET_TEXT: { - const char *src_path = action-args; + struct path_checksum_args *pca = action-args; - SVN_ERR(svn_stream_open_readonly(contents, src_path, + SVN_ERR(svn_stream_open_readonly(contents, pca-path, scratch_pool, scratch_pool)); + checksum = pca-checksum; break; } @@ -318,7 +331,7 @@ process_actions(void *edit_baton, } else { - SVN_ERR(svn_editor_add_file(eb-editor, path, NULL, contents, + SVN_ERR(svn_editor_add_file(eb-editor, path, checksum, contents, props, SVN_INVALID_REVNUM)); } } @@ -336,7 +349,7 @@ process_actions(void *edit_baton, { /* If we have an content for this node, set it now. */ SVN_ERR(svn_editor_set_text(eb-editor, path, SVN_INVALID_REVNUM, - NULL, contents)); + checksum, contents)); } } @@ -526,9 +539,12 @@ ev2_add_file(const char *path, fb-eb = pb-eb; fb-path = apr_pstrdup(result_pool, path); - fb-delta_base = NULL; *file_baton = fb; + SVN_ERR(fb-eb-fetch_base_func(fb-delta_base, + fb-eb-fetch_base_baton, + path, result_pool, result_pool)); + if (!copyfrom_path) { /* A simple add. */ @@ -562,7 +578,10 @@ ev2_open_file(const char *path, fb-eb = pb-eb; fb-path = apr_pstrdup(result_pool, path); - fb-delta_base = NULL; + + SVN_ERR(fb-eb-fetch_base_func(fb-delta_base, + fb-eb-fetch_base_baton, + path, result_pool, result_pool)); *file_baton = fb; return SVN_NO_ERROR; @@ -588,7 +607,7 @@ window_handler(svn_txdelta_window_t *win svn_pool_destroy(hb-pool); - return SVN_NO_ERROR; + return svn_error_trace(err); } @@ -602,17 +621,26 @@ ev2_apply_textdelta(void *file_baton, struct ev2_file_baton *fb = file_baton; apr_pool_t *handler_pool = svn_pool_create(fb-eb-edit_pool); struct handler_baton *hb = apr_pcalloc(handler_pool, sizeof(*hb)); - const char *target_path; svn_stream_t *source; svn_stream_t *target; + struct path_checksum_args *pca = apr_pcalloc(fb-eb-edit_pool, + sizeof(*pca)); if (! fb-delta_base) source = svn_stream_empty(handler_pool); + else +SVN_ERR(svn_stream_open_readonly(source, fb-delta_base, handler_pool, + result_pool)); - SVN_ERR(svn_stream_open_unique(target, target_path, NULL, + SVN_ERR(svn_stream_open_unique(target, pca-path, NULL, svn_io_file_del_on_pool_cleanup, fb-eb-edit_pool, result_pool)); + /* Wrap our target with a checksum'ing stream. */ + target = svn_stream_checksummed2(target, NULL, pca-checksum, + svn_checksum_sha1, TRUE, + fb-eb-edit_pool); + svn_txdelta_apply(source, target, NULL, NULL, handler_pool, @@ -623,7 +651,7 @@ ev2_apply_textdelta(void *file_baton, *handler_baton = hb; *handler = window_handler; -
svn commit: r1212476 - /subversion/trunk/subversion/svn/main.c
Author: stsp Date: Fri Dec 9 15:23:37 2011 New Revision: 1212476 URL: http://svn.apache.org/viewvc?rev=1212476view=rev Log: * subversion/svn/main.c (svn_cl__cmd_table): In the merge help text, hint at how to locate a last-synced revision which is required for 2-URL merges. Modified: subversion/trunk/subversion/svn/main.c Modified: subversion/trunk/subversion/svn/main.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/main.c?rev=1212476r1=1212475r2=1212476view=diff == --- subversion/trunk/subversion/svn/main.c (original) +++ subversion/trunk/subversion/svn/main.c Fri Dec 9 15:23:37 2011 @@ -910,8 +910,10 @@ const svn_opt_subcommand_desc2_t svn_cl_ directly related -- one is not a direct copy of the other. A 2-URL\n merge is necessary.\n \n - The 'bar' branch has been synced with trunk up to revision 500. So the\n - difference between trunk@500 and bar@HEAD contains the complete\n + The 'bar' branch has been synced with trunk up to revision 500.\n + (If this revision number is not known it can be located using the\n + 'svn log' and/or 'svn mergeinfo' commands.)\n + The difference between trunk@500 and bar@HEAD contains the complete\n set of changes related to feature 'bar', and no other changes. These\n changes are applied to the 'foo' branch.\n \n
svn commit: r1212482 - /subversion/trunk/subversion/svn/main.c
Author: stsp Date: Fri Dec 9 15:34:31 2011 New Revision: 1212482 URL: http://svn.apache.org/viewvc?rev=1212482view=rev Log: * subversion/svn/main.c (svn_cl__cmd_table): Comma fix in merge help text. Found by: danielsh Modified: subversion/trunk/subversion/svn/main.c Modified: subversion/trunk/subversion/svn/main.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/main.c?rev=1212482r1=1212481r2=1212482view=diff == --- subversion/trunk/subversion/svn/main.c (original) +++ subversion/trunk/subversion/svn/main.c Fri Dec 9 15:34:31 2011 @@ -915,7 +915,7 @@ const svn_opt_subcommand_desc2_t svn_cl_ merge is necessary.\n \n The 'bar' branch has been synced with trunk up to revision 500.\n - (If this revision number is not known it can be located using the\n + (If this revision number is not known, it can be located using the\n 'svn log' and/or 'svn mergeinfo' commands.)\n The difference between trunk@500 and bar@HEAD contains the complete\n set of changes related to feature 'bar', and no other changes. These\n
svn commit: r1212484 - /subversion/trunk/subversion/svn/main.c
Author: stsp Date: Fri Dec 9 15:48:56 2011 New Revision: 1212484 URL: http://svn.apache.org/viewvc?rev=1212484view=rev Log: * subversion/svn/main.c (svn_cl__cmd_table): The merge help text implied that foreign repository merges were specific to the 2-URL merge syntax. But this is not the case, so split out this hint into a section that applies to all types of merges. Modified: subversion/trunk/subversion/svn/main.c Modified: subversion/trunk/subversion/svn/main.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/main.c?rev=1212484r1=1212483r2=1212484view=diff == --- subversion/trunk/subversion/svn/main.c (original) +++ subversion/trunk/subversion/svn/main.c Fri Dec 9 15:48:56 2011 @@ -947,14 +947,6 @@ const svn_opt_subcommand_desc2_t svn_cl_ \n svn diff ^/trunk@500 ^/bar@HEAD\n \n - Note that a 2-URL merge can also merge from foreign repositories.\n - While SOURCE1 and SOURCE2 must both come from the same repository,\n - TARGET_WCPATH may come from a different repository than the sources.\n - However, there are some caveats. Most notably, copies made in the\n - merge source will be transformed into plain additions in the merge\n - target. Also, merge-tracking is not supported when foreign\n - repositories are involved.\n -\n \n The following applies to all types of merges:\n \n @@ -999,7 +991,17 @@ const svn_opt_subcommand_desc2_t svn_cl_ reintegrate merges.\n \n The --ignore-ancestry option prevents merge tracking and thus ignores\n - mergeinfo, neither considering it nor recording it.\n), + mergeinfo, neither considering it nor recording it.\n +\n +- Merging from foreign repositories -\n +\n + Subversion does support merging from foreign repositories.\n + While all merge source URLs must point to the same repository, the merge\n + target working copy may come from a different repository than the source.\n + However, there are some caveats. Most notably, copies made in the\n + merge source will be transformed into plain additions in the merge\n + target. Also, merge-tracking is not supported for merges from foreign\n + repositories.\n), {'r', 'c', 'N', opt_depth, 'q', opt_force, opt_dry_run, opt_merge_cmd, opt_record_only, 'x', opt_ignore_ancestry, opt_accept, opt_reintegrate, opt_allow_mixed_revisions} },
svn commit: r1213275 - in /subversion/branches/moves-scan-log/subversion: include/svn_wc.h libsvn_wc/update_editor.c svn/conflict-callbacks.c
Author: stsp Date: Mon Dec 12 15:24:45 2011 New Revision: 1213275 URL: http://svn.apache.org/viewvc?rev=1213275view=rev Log: On the moves-scan-log branch, add prompts for incoming move vs. local move tree conflicts to the conflict callback. This is definitely not the final revision of the conflict prompt interface for these cases. None of the new options actually do anything useful yet. * subversion/include/svn_wc.h (svn_wc_conflict_description2_t): Remove 'incoming_move'. It was unused as of now and is not needed. The only way to get at the incoming move is to scan the log. The incoming move cannot be known in advance yet. * subversion/svn/conflict-callbacks.c (svn_cl__conflict_handler): Add a prompt menu for conflicts involving an incoming move. * subversion/libsvn_wc/update_editor.c (delete_entry): Slightly rework the loop logic which invokes the conflict callback in case of incoming delete vs. local delete/move. If a move is found scanning the log invoke the conflict callback with an updated tree-conflict description that identifies the incoming change as a move. Add a couple of no-op cases for possible resolutions received from the callback. Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c subversion/branches/moves-scan-log/subversion/svn/conflict-callbacks.c Modified: subversion/branches/moves-scan-log/subversion/include/svn_wc.h URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/include/svn_wc.h?rev=1213275r1=1213274r2=1213275view=diff == --- subversion/branches/moves-scan-log/subversion/include/svn_wc.h (original) +++ subversion/branches/moves-scan-log/subversion/include/svn_wc.h Mon Dec 12 15:24:45 2011 @@ -1858,11 +1858,6 @@ typedef struct svn_wc_conflict_descripti * @since New in 1.8. */ apr_array_header_t *suggested_moves; - /** The incoming move in case of an incoming move vs. local move tree - * conflict. - * @since New in 1.8. */ - svn_wc_repos_move_info_t *incoming_move; - /* Remember to adjust svn_wc__conflict_description2_dup() * if you add new fields to this struct. */ } svn_wc_conflict_description2_t; Modified: subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c URL: http://svn.apache.org/viewvc/subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c?rev=1213275r1=1213274r2=1213275view=diff == --- subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c (original) +++ subversion/branches/moves-scan-log/subversion/libsvn_wc/update_editor.c Mon Dec 12 15:24:45 2011 @@ -2130,7 +2130,7 @@ delete_entry(const char *path, { svn_wc_conflict_result_t *result; - do + while (1) { SVN_ERR(eb-conflict_func(result, tree_conflict, eb-conflict_baton, @@ -2140,6 +2140,9 @@ delete_entry(const char *path, NULL, _(Conflict callback violated API: returned no results)); + if (result-choice == svn_wc_conflict_choose_postpone) +break; + if (result-choice == svn_wc_conflict_choose_scan_log_for_moves) { /* Scan revision log for server-side moves */ @@ -2149,6 +2152,12 @@ delete_entry(const char *path, SVN_ERR(find_applicable_moves( tree_conflict-suggested_moves, eb, local_abspath, scratch_pool, scratch_pool)); + + if (tree_conflict-suggested_moves-nelts 0) +{ + /* Assume an incoming move vs. local delete/move conflict. */ + tree_conflict-action = svn_wc_conflict_action_move_away; +} continue; } @@ -2183,13 +2192,13 @@ delete_entry(const char *path, /* Incoming move vs. local move tree conflict. */ tree_conflict-action = svn_wc_conflict_action_move_away; - tree_conflict-incoming_move = result-incoming_move; + break; } else if (tree_conflict-reason == svn_wc_conflict_reason_deleted) { /* Incoming move vs. local delete tree conflict. */ tree_conflict-action = svn_wc_conflict_action_move_away; - tree_conflict-incoming_move = result-incoming_move; + break; } /* Now that the precise nature of the conflict is known, invoke @@ -2201,11 +2210,13 @@ delete_entry(const char *path, if (result-choice == svn_wc_conflict_choose_new_incoming_move_target) { /* ### TODO
svn commit: r1213310 - /subversion/branches/1.7.x-r1210147/
Author: stsp Date: Mon Dec 12 16:56:57 2011 New Revision: 1213310 URL: http://svn.apache.org/viewvc?rev=1213310view=rev Log: Create a 1.7.x backport branch for r1210147. Added: subversion/branches/1.7.x-r1210147/ (props changed) - copied from r1213305, subversion/branches/1.7.x/ Propchange: subversion/branches/1.7.x-r1210147/ -- --- bugtraq:logregex (added) +++ bugtraq:logregex Mon Dec 12 16:56:57 2011 @@ -0,0 +1,2 @@ +[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+ +(\d+) Propchange: subversion/branches/1.7.x-r1210147/ -- bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID% Propchange: subversion/branches/1.7.x-r1210147/ -- --- svn:ignore (added) +++ svn:ignore Mon Dec 12 16:56:57 2011 @@ -0,0 +1,50 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.sln +subversion_vcnet.ncb +subversion_vcnet.suo +subversion_vcnet.sdf +subversion_vcnet.opensdf +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +zlib +sqlite-amalgamation +serf Propchange: subversion/branches/1.7.x-r1210147/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Dec 12 16:56:57 2011 @@ -0,0 +1,72 @@ +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-JavaHL-pools:1158684-1158722 +/subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-issue3975:1160761-1161546 +/subversion/branches/1.7.x-issue3976:1161731-1165397 +/subversion/branches/1.7.x-issue4032:1186668-1186784 +/subversion/branches/1.7.x-issue4035:1186202-1186315 +/subversion/branches/1.7.x-issue4035-r1185738:1186316-1186778 +/subversion/branches/1.7.x-issue4k:1166502-1167193 +/subversion/branches/1.7.x-neon-default:1148803-1158680 +/subversion/branches/1.7.x-r1152189:1152759-1154249 +/subversion/branches/1.7.x-r1155160:1158704-1159223 +/subversion/branches/1.7.x-r1159093:1159097-1159230 +/subversion/branches/1.7.x-r1163557:1163574-1170648 +/subversion/branches/1.7.x-r1173425:1173429-1176454 +/subversion/branches/1.7.x-r1180154:1186224-1186351 +/subversion/branches/1.7.x-r1201824:1202121-1207333 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/gnome-keyring:870558-871410 +/subversion/branches/http-protocol-v2:874395-876041 +/subversion/branches/in-memory-cache:869829-871452 +/subversion/branches/integrate-cache-item-serialization:1068724-1068739 +/subversion/branches/integrate-cache-membuffer:998649-998852 +/subversion/branches/integrate-compression-level:1068651-1072287 +/subversion/branches/integrate-io-improvements:1068684-1072297 +/subversion/branches/integrate-is-cachable:1072568-1074082 +/subversion/branches/integrate-partial-getter:1072558-1076552 +/subversion/branches/integrate-readline-speedup:1072553-1072555 +/subversion/branches/integrate-stream-api-extensions:1068695-1072516 +/subversion/branches/integrate-txdelta-caching:1072541-1078213 +/subversion/branches/issue-2779-dev:965496-984198 +/subversion/branches/issue-2843-dev:871432-874179 +/subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 +/subversion/branches/issue-3067-deleted-subtrees:873375-874084 +/subversion/branches/issue-3148-dev:875193-875204 +/subversion/branches/issue-3220-dev:872210-872226 +/subversion/branches/issue-3242-dev:879653-896436 +/subversion/branches/issue-3334-dirs:875156-875867 +/subversion/branches/issue-3975:1152931-1160746 +/subversion/branches/kwallet:870785-871314
svn commit: r1213314 - in /subversion/branches/1.7.x-r1210147: ./ subversion/svn/log-cmd.c subversion/tests/cmdline/log_tests.py
Author: stsp Date: Mon Dec 12 17:08:50 2011 New Revision: 1213314 URL: http://svn.apache.org/viewvc?rev=1213314view=rev Log: On the 1.7.x-r1210147 branch, merge r1202132, r1202333, and r1210147 from trunk, resolving conflicts. Modified: subversion/branches/1.7.x-r1210147/ (props changed) subversion/branches/1.7.x-r1210147/subversion/svn/log-cmd.c subversion/branches/1.7.x-r1210147/subversion/tests/cmdline/log_tests.py Propchange: subversion/branches/1.7.x-r1210147/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Dec 12 17:08:50 2011 @@ -69,4 +69,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,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,1156085,115 6098,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,1158924,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,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,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1205839,1205848,1206523,1206533 +/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,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,1156085,115 6098,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,1158924,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704
svn commit: r1213348 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Mon Dec 12 18:24:26 2011 New Revision: 1213348 URL: http://svn.apache.org/viewvc?rev=1213348view=rev Log: * STATUS: Nominate r1210147 backport branch. 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=1213348r1=1213347r2=1213348view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Mon Dec 12 18:24:26 2011 @@ -88,14 +88,19 @@ Candidate changes: Votes: +1: danielsh, philip - * r1210147 + * r1210147, r1202132, r1202333 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. Previously it would error out. A test is included. + Branch: + ^/subversion/branches/1.7.x-r1210147 + Notes: +r1210147 is the actual fix. +r1202132 and r1202333 were merged for conflict resolution. These revisions +depend on the issue #2873 fix which has been backported in 1.7.2 Votes: - +1: julianfoad - +0: stsp (change is good, but this needs a backport branch because - svn_client_diff_peg6 is new in 1.8) + +1: stsp + +1: julianfoad (r1210147 only) * r1211483 Don't segfault on 'svn mkdir svn://localhost'
svn commit: r1213665 - /subversion/site/publish/docs/svn-merge.txt
Author: stsp Date: Tue Dec 13 12:47:33 2011 New Revision: 1213665 URL: http://svn.apache.org/viewvc?rev=1213665view=rev Log: * site/docs/svn-merge.txt: Put current output of 'svn help merge' in here. Modified: subversion/site/publish/docs/svn-merge.txt Modified: subversion/site/publish/docs/svn-merge.txt URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/svn-merge.txt?rev=1213665r1=1213664r2=1213665view=diff == --- subversion/site/publish/docs/svn-merge.txt (original) +++ subversion/site/publish/docs/svn-merge.txt Tue Dec 13 12:47:33 2011 @@ -1,86 +1,117 @@ +merge: Merge changes into a working copy. +usage: 1. merge SOURCE[@REV] [TARGET_WCPATH] + (the 'sync' merge) + 2. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH] + (the 'cherry-pick' merge) + 3. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH] + (the 'reintegrate' merge) + 4. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH] + (the '2-URL' merge) + + 1. This form is called a 'sync' (or 'catch-up') merge: + + svn merge SOURCE[@REV] [TARGET_WCPATH] + + A sync merge is used to fetch all the latest changes made on a parent + branch. In other words, the target branch has originally been created + by copying the source branch, and any changes committed on the source + branch since branching are applied to the target branch. This uses + merge tracking to skip all those revisions that have already been + merged, so a sync merge can be repeated periodically to stay up-to- + date with the source branch. + + SOURCE specifies the branch from where the changes will be pulled, and + TARGET_WCPATH specifies a working copy of the target branch to which + the changes will be applied. Normally SOURCE and TARGET_WCPATH should + each correspond to the root of a branch. (If you want to merge only a + subtree, then the subtree path must be included in both SOURCE and + TARGET_WCPATH; this is discouraged, to avoid subtree mergeinfo.) + + SOURCE is usually a URL. The optional '@REV' specifies both the peg + revision of the URL and the latest revision that will be considered + for merging; if REV is not specified, the HEAD revision is assumed. If + SOURCE is a working copy path, the corresponding URL of the path is + used, and the default value of 'REV' is the base revision (usually the + revision last updated to). -$LastChangedDate$ + TARGET_WCPATH is a working copy path; if omitted, '.' is assumed. -The following is the help text of 'svn merge' in 1.7.x. This information is -also available in the Subversion Book: -http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.merge.html - - -merge: Apply the differences between two sources to a working copy path. -usage: 1. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH] - 2. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH] - 3. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH] - - 1. The first form is called a sync, or cherry-pick, merge: - svn merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH] - - A sync merge is used to merge into a branch any unmerged changes - made on its immediate ancestor branch. + - Sync Merge Example - - A cherry-picking merge is used to merge specific revisions from - one branch to another. + A feature is being developed on a branch called 'feature', which has + originally been a copy of trunk. The feature branch has been regularly + synced with trunk to keep up with the changes made there. The previous + sync merges are not shown on this diagram, and the last of them was + done when HEAD was r100. Currently, HEAD is r200. + +feature +o- +/ ^ + / | + /.. / + trunk --+L--R-- +r100 r200 - SOURCE is usually a URL. The source of a cherry-picking merge can - also be a working copy path, in which case the corresponding URL - of the path is used. + Subversion will locate all the changes on 'trunk' that have not yet + been merged into the 'feature' branch. In this case that is a single + range, r100:200. In the diagram above, L marks the left side + (trunk@100) and R marks the right side (trunk@200) of the merge. The + difference between L and R will be applied to the target working copy + path. In this case, the working copy is a clean checkout of the entire + 'feature' branch. - If REV is specified, it is used as the peg revision for SOURCE, - i.e. SOURCE is looked up in the repository at revision REV. - If REV is not specified, the HEAD revision is assumed
svn commit: r1213666 - /subversion/site/publish/docs/svn-merge.txt
Author: stsp Date: Tue Dec 13 12:48:18 2011 New Revision: 1213666 URL: http://svn.apache.org/viewvc?rev=1213666view=rev Log: * site/publish/docs/svn-merge.txt: Set eol-style to 'native'. Modified: subversion/site/publish/docs/svn-merge.txt (props changed) Propchange: subversion/site/publish/docs/svn-merge.txt -- svn:eol-style = native
svn propchange: r1213665 - svn:log
Author: stsp Revision: 1213665 Modified property: svn:log Modified: svn:log at Tue Dec 13 12:48:59 2011 -- --- svn:log (original) +++ svn:log Tue Dec 13 12:48:59 2011 @@ -1 +1,2 @@ -* site/docs/svn-merge.txt: Put current output of 'svn help merge' in here. +* site/publish/docs/svn-merge.txt: Put current output of 'svn help merge' +in here.
svn commit: r1213669 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Dec 13 12:56:15 2011 New Revision: 1213669 URL: http://svn.apache.org/viewvc?rev=1213669view=rev Log: * STATUS: r1211859 group has been approved. 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=1213669r1=1213668r2=1213669view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Dec 13 12:56:15 2011 @@ -109,14 +109,6 @@ Candidate changes: Votes: +1: rhuijben, philip - * r1211859, r1211885 - Fix issue 4074, SEGV on svn rm ROOT_URL - Justification: - It's a SEGV. - Votes: - +1: philip, rhuijben, steveking - - * r1154121, r1195480, r1208840, r1209631, r1209654, r1212476, r1212482, r1212484 Update and clarify the merge help text. @@ -161,3 +153,10 @@ Veto-blocked changes: Approved changes: = + + * r1211859, r1211885 + Fix issue 4074, SEGV on svn rm ROOT_URL + Justification: + It's a SEGV. + Votes: + +1: philip, rhuijben, steveking
svn commit: r1213670 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Dec 13 13:04:25 2011 New Revision: 1213670 URL: http://svn.apache.org/viewvc?rev=1213670view=rev Log: * STATUS: Approve a few nominations. 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=1213670r1=1213669r2=1213670view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Dec 13 13:04:25 2011 @@ -75,19 +75,6 @@ Candidate changes: Votes: +1: stsp, philip - * r1207858, r1207949 - Replace two assertions that say that your working copy is broken with - error messages that supply a bit more information about what is broken. - Votes: - +1: philip, rhuijben - - * r1210195 - Canonicalize svnserve.conf input. - Justification: - Server asserts after being upgraded. - Votes: - +1: danielsh, philip - * r1210147, r1202132, r1202333 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. @@ -102,13 +89,6 @@ Candidate changes: +1: stsp +1: julianfoad (r1210147 only) - * r1211483 - Don't segfault on 'svn mkdir svn://localhost' - Justification: - Thou shall not segfault. - Votes: - +1: rhuijben, philip - * r1154121, r1195480, r1208840, r1209631, r1209654, r1212476, r1212482, r1212484 Update and clarify the merge help text. @@ -160,3 +140,23 @@ Approved changes: It's a SEGV. Votes: +1: philip, rhuijben, steveking + + * r1207858, r1207949 + Replace two assertions that say that your working copy is broken with + error messages that supply a bit more information about what is broken. + Votes: + +1: philip, rhuijben, stsp + + * r1210195 + Canonicalize svnserve.conf input. + Justification: + Server asserts after being upgraded. + Votes: + +1: danielsh, philip, stsp + + * r1211483 + Don't segfault on 'svn mkdir svn://localhost' + Justification: + Thou shall not segfault. + Votes: + +1: rhuijben, philip, stsp
svn commit: r1213681 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Author: stsp Date: Tue Dec 13 13:30:33 2011 New Revision: 1213681 URL: http://svn.apache.org/viewvc?rev=1213681view=rev Log: * subversion/libsvn_fs_fs/fs_fs.c (recover_body): svn_fs_fs__del_rep_reference() will assert if rep-sharing is disabled. So don't call it in that case. Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1213681r1=1213680r2=1213681view=diff == --- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original) +++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Dec 13 13:30:33 2011 @@ -7054,7 +7054,8 @@ recover_body(void *baton, apr_pool_t *po } /* Prune younger-than-(newfound-youngest) revisions from the rep cache. */ - SVN_ERR(svn_fs_fs__del_rep_reference(fs, max_rev, pool)); + if (ffd-rep_sharing_allowed) +SVN_ERR(svn_fs_fs__del_rep_reference(fs, max_rev, pool)); /* Now store the discovered youngest revision, and the next IDs if relevant, in a new 'current' file. */
svn commit: r1213683 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Dec 13 13:33:07 2011 New Revision: 1213683 URL: http://svn.apache.org/viewvc?rev=1213683view=rev Log: * STATUS: Add r1213681 to r1213331 nomination and 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=1213683r1=1213682r2=1213683view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Dec 13 13:33:07 2011 @@ -101,13 +101,17 @@ Candidate changes: Votes: +1: stsp - * r1213331 - Prune younger-than-youngest revisions from rep-cache.db. + * r1213331, r1213681 + Make 'svnadmin recover' prune too new revisions from rep-cache.db. Justification: If this case actually materializes, this patch fixes a lurking filesystem corruption. + Notes: +r1213331 is the fix. +r1213681 is a follow-up which prevents an invalid assertion. Votes: - +1: danielsh + +1: danielsh (r1213331 only) + +1: stsp Veto-blocked changes: =
svn commit: r1213684 - /subversion/branches/1.7.x-r1213331/
Author: stsp Date: Tue Dec 13 13:34:43 2011 New Revision: 1213684 URL: http://svn.apache.org/viewvc?rev=1213684view=rev Log: Create a 1.7.x backport branch for r1213331. Added: subversion/branches/1.7.x-r1213331/ (props changed) - copied from r1213683, subversion/branches/1.7.x/ Propchange: subversion/branches/1.7.x-r1213331/ -- --- bugtraq:logregex (added) +++ bugtraq:logregex Tue Dec 13 13:34:43 2011 @@ -0,0 +1,2 @@ +[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+ +(\d+) Propchange: subversion/branches/1.7.x-r1213331/ -- bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID% Propchange: subversion/branches/1.7.x-r1213331/ -- --- svn:ignore (added) +++ svn:ignore Tue Dec 13 13:34:43 2011 @@ -0,0 +1,50 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.sln +subversion_vcnet.ncb +subversion_vcnet.suo +subversion_vcnet.sdf +subversion_vcnet.opensdf +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +zlib +sqlite-amalgamation +serf Propchange: subversion/branches/1.7.x-r1213331/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Dec 13 13:34:43 2011 @@ -0,0 +1,72 @@ +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-JavaHL-pools:1158684-1158722 +/subversion/branches/1.7.x-issue3888:1148937-1149162 +/subversion/branches/1.7.x-issue3975:1160761-1161546 +/subversion/branches/1.7.x-issue3976:1161731-1165397 +/subversion/branches/1.7.x-issue4032:1186668-1186784 +/subversion/branches/1.7.x-issue4035:1186202-1186315 +/subversion/branches/1.7.x-issue4035-r1185738:1186316-1186778 +/subversion/branches/1.7.x-issue4k:1166502-1167193 +/subversion/branches/1.7.x-neon-default:1148803-1158680 +/subversion/branches/1.7.x-r1152189:1152759-1154249 +/subversion/branches/1.7.x-r1155160:1158704-1159223 +/subversion/branches/1.7.x-r1159093:1159097-1159230 +/subversion/branches/1.7.x-r1163557:1163574-1170648 +/subversion/branches/1.7.x-r1173425:1173429-1176454 +/subversion/branches/1.7.x-r1180154:1186224-1186351 +/subversion/branches/1.7.x-r1201824:1202121-1207333 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/gnome-keyring:870558-871410 +/subversion/branches/http-protocol-v2:874395-876041 +/subversion/branches/in-memory-cache:869829-871452 +/subversion/branches/integrate-cache-item-serialization:1068724-1068739 +/subversion/branches/integrate-cache-membuffer:998649-998852 +/subversion/branches/integrate-compression-level:1068651-1072287 +/subversion/branches/integrate-io-improvements:1068684-1072297 +/subversion/branches/integrate-is-cachable:1072568-1074082 +/subversion/branches/integrate-partial-getter:1072558-1076552 +/subversion/branches/integrate-readline-speedup:1072553-1072555 +/subversion/branches/integrate-stream-api-extensions:1068695-1072516 +/subversion/branches/integrate-txdelta-caching:1072541-1078213 +/subversion/branches/issue-2779-dev:965496-984198 +/subversion/branches/issue-2843-dev:871432-874179 +/subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 +/subversion/branches/issue-3067-deleted-subtrees:873375-874084 +/subversion/branches/issue-3148-dev:875193-875204 +/subversion/branches/issue-3220-dev:872210-872226 +/subversion/branches/issue-3242-dev:879653-896436 +/subversion/branches/issue-3334-dirs:875156-875867 +/subversion/branches/issue-3975:1152931-1160746 +/subversion/branches/kwallet:870785-871314
svn commit: r1213687 - in /subversion/branches/1.7.x-r1213331: ./ subversion/libsvn_fs_fs/fs_fs.c subversion/libsvn_fs_fs/rep-cache-db.sql subversion/libsvn_fs_fs/rep-cache.c subversion/libsvn_fs_fs/r
Author: stsp Date: Tue Dec 13 13:38:30 2011 New Revision: 1213687 URL: http://svn.apache.org/viewvc?rev=1213687view=rev Log: On the 1.7.x-r1213331 branch, merge r1213331 and r1213681, resolving conflicts. Modified: subversion/branches/1.7.x-r1213331/ (props changed) subversion/branches/1.7.x-r1213331/subversion/libsvn_fs_fs/fs_fs.c subversion/branches/1.7.x-r1213331/subversion/libsvn_fs_fs/rep-cache-db.sql subversion/branches/1.7.x-r1213331/subversion/libsvn_fs_fs/rep-cache.c subversion/branches/1.7.x-r1213331/subversion/libsvn_fs_fs/rep-cache.h Propchange: subversion/branches/1.7.x-r1213331/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Dec 13 13:38:30 2011 @@ -69,4 +69,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,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,1156085,115 6098,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,1158924,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,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,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1205839,1205848,1206523,1206533 +/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,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,1156085,115 6098,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
svn commit: r1213688 - /subversion/branches/1.7.x/STATUS
Author: stsp Date: Tue Dec 13 13:39:32 2011 New Revision: 1213688 URL: http://svn.apache.org/viewvc?rev=1213688view=rev Log: * STATUS: Mention 1.7.x-r1213331 branch. 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=1213688r1=1213687r2=1213688view=diff == --- subversion/branches/1.7.x/STATUS (original) +++ subversion/branches/1.7.x/STATUS Tue Dec 13 13:39:32 2011 @@ -109,6 +109,8 @@ Candidate changes: Notes: r1213331 is the fix. r1213681 is a follow-up which prevents an invalid assertion. + Branch: + ^/subversion/branches/1.7.x-r1213331 Votes: +1: danielsh (r1213331 only) +1: stsp