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

2011-11-11 Thread stsp
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/

2011-11-11 Thread stsp
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

2011-11-14 Thread stsp
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/

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-15 Thread stsp
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

2011-11-16 Thread stsp
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

2011-11-16 Thread stsp
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

2011-11-16 Thread stsp
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

2011-11-16 Thread stsp
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

2011-11-16 Thread stsp
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

2011-11-16 Thread stsp
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

2011-11-18 Thread stsp
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

2011-11-18 Thread stsp
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

2011-11-18 Thread stsp
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

2011-11-18 Thread stsp
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

2011-11-19 Thread stsp
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

2011-11-19 Thread stsp
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

2011-11-19 Thread stsp
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

2011-11-20 Thread stsp
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

2011-11-20 Thread stsp
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

2011-11-21 Thread stsp
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

2011-11-22 Thread stsp
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_

2011-11-23 Thread stsp
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

2011-11-23 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-24 Thread stsp
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

2011-11-25 Thread stsp
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

2011-11-25 Thread stsp
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

2011-11-25 Thread stsp
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

2011-11-25 Thread stsp
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

2011-11-25 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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/

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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/

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-27 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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/

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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/

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-28 Thread stsp
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

2011-11-29 Thread stsp
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

2011-11-29 Thread stsp
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

2011-11-29 Thread stsp
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

2011-11-29 Thread stsp
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

2011-11-29 Thread stsp
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

2011-11-29 Thread stsp
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

2011-12-02 Thread stsp
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

2011-12-05 Thread stsp
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

2011-12-09 Thread stsp
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

2011-12-09 Thread stsp
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

2011-12-09 Thread stsp
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

2011-12-09 Thread stsp
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

2011-12-09 Thread stsp
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

2011-12-12 Thread stsp
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/

2011-12-12 Thread stsp
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

2011-12-12 Thread stsp
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

2011-12-12 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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/

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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

2011-12-13 Thread stsp
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




<    1   2   3   4   5   6   7   8   9   10   >