svn commit: r1236099 - /subversion/trunk/subversion/libsvn_ra_neon/session.c

2012-01-26 Thread rhuijben
Author: rhuijben
Date: Thu Jan 26 09:08:55 2012
New Revision: 1236099

URL: http://svn.apache.org/viewvc?rev=1236099view=rev
Log:
Following up on r1235831, apply the same change to neon:
Improve the handle of the ssl-authority-files config option: allow
leading and trailing whitespace on the filenames to make it easier for
the user to format the list of files.

In 1.7.x neon is still our default dav transport layer.

* subversion/libsvn_ra_neon/session.c
  (svn_ra_neon__open): switch to svn_cstring_split() and use its builtin param
to trim whitespace. then process the resulting array.

Modified:
subversion/trunk/subversion/libsvn_ra_neon/session.c

Modified: subversion/trunk/subversion/libsvn_ra_neon/session.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_neon/session.c?rev=1236099r1=1236098r2=1236099view=diff
==
--- subversion/trunk/subversion/libsvn_ra_neon/session.c (original)
+++ subversion/trunk/subversion/libsvn_ra_neon/session.c Thu Jan 26 09:08:55 
2012
@@ -985,12 +985,15 @@ svn_ra_neon__open(svn_ra_session_t *sess
 
   if (authorities != NULL)
 {
-  char *files, *file;
-  files = apr_pstrdup(pool, authorities);
+  int i;
+  apr_array_header_t *files = svn_cstring_split(authorities, ;, TRUE,
+pool);
 
-  while ((file = svn_cstring_tokenize(;, files)) != NULL)
+  for (i = 0; i  files-nelts; ++i)
 {
   ne_ssl_certificate *ca_cert;
+  const char *file = APR_ARRAY_IDX(files, i, const char *);
+
   ca_cert = ne_ssl_cert_read(file);
   if (ca_cert == NULL)
 {




svn commit: r1236105 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread rhuijben
Author: rhuijben
Date: Thu Jan 26 09:12:45 2012
New Revision: 1236105

URL: http://svn.apache.org/viewvc?rev=1236105view=rev
Log:
* STATUS: Add r1236099 to the r1232413 group

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236105r1=1236104r2=1236105view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 09:12:45 2012
@@ -145,10 +145,16 @@ Candidate changes:
Votes:
  +1: rhuijben, steveking
 
- * r1232413
+ * r1232413, r1236099
Improve server certificate error collection code.
+   Notes:
+ r1232413 updates serf.
+ r1236099 updates neon.
+ The changes are independent, but as it changes how the config file
+ behaves, I think both should be applied at the same time. (rhuijben)
Votes:
- +1: rhuijben, gstein
+ +1: gstein (without r1236099)
+ +1: rhuijben
 
 Veto-blocked changes:
 =




svn commit: r1236139 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread gstein
Author: gstein
Date: Thu Jan 26 11:14:32 2012
New Revision: 1236139

URL: http://svn.apache.org/viewvc?rev=1236139view=rev
Log:
go, Bert

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236139r1=1236138r2=1236139view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 11:14:32 2012
@@ -153,8 +153,7 @@ Candidate changes:
  The changes are independent, but as it changes how the config file
  behaves, I think both should be applied at the same time. (rhuijben)
Votes:
- +1: gstein (without r1236099)
- +1: rhuijben
+ +1: rhuijben, gstein
 
 Veto-blocked changes:
 =




svn commit: r1236160 - /subversion/trunk/subversion/tests/cmdline/svntest/factory.py

2012-01-26 Thread neels
Author: neels
Date: Thu Jan 26 12:40:54 2012
New Revision: 1236160

URL: http://svn.apache.org/viewvc?rev=1236160view=rev
Log:
* subversion/tests/cmdline/svntest/factory.py: Do not use '.', use 'wc_dir'.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/factory.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/factory.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/factory.py?rev=1236160r1=1236159r2=1236160view=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/factory.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/factory.py Thu Jan 26 
12:40:54 2012
@@ -1612,6 +1612,11 @@ class TestFactory:
 
   def ensure_path_var(self, wc, pathelements):
 Given a path in a working copy, make sure we have a variable for it.
+
+# special case: if a path is '.', simply use wc_dir.
+if pathelements == ['.']:
+  return wc.py, wc.realpath
+
 name = _.join(pathelements)
 
 if wc.suffix is not None:




svn commit: r1236161 - /subversion/trunk/subversion/libsvn_delta/compat.c

2012-01-26 Thread hwright
Author: hwright
Date: Thu Jan 26 12:41:08 2012
New Revision: 1236161

URL: http://svn.apache.org/viewvc?rev=1236161view=rev
Log:
Ev2 shims: Ensure directories really are marked as such.

Greg rightly points out that this is something of a hack, and this whole
recursive operation code could probably be improved upon.  I agree.

Current number of Ev2 test failures: 23

* subversion/libsvn_delta/compat.c
  (get_operation): If the parent has children, it must be a directory.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1236161r1=1236160r2=1236161view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Jan 26 12:41:08 2012
@@ -931,6 +931,11 @@ get_operation(const char *path,
   apr_hash_set(operation-children, apr_pstrdup(result_pool, path),
APR_HASH_KEY_STRING, child);
 }
+
+  /* If an operation has a child, it must of necessity be a directory,
+ so ensure this fact. */
+  operation-kind = svn_kind_dir;
+
   return child;
 }
 




svn commit: r1236163 - /subversion/trunk/subversion/tests/cmdline/externals_tests.py

2012-01-26 Thread neels
Author: neels
Date: Thu Jan 26 12:52:21 2012
New Revision: 1236163

URL: http://svn.apache.org/viewvc?rev=1236163view=rev
Log:
* subversion/tests/cmdline/externals_tests.py
  (dir_external_with_dash_r_only): New test for issue #4053.

Modified:
subversion/trunk/subversion/tests/cmdline/externals_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/externals_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/externals_tests.py?rev=1236163r1=1236162r2=1236163view=diff
==
--- subversion/trunk/subversion/tests/cmdline/externals_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/externals_tests.py Thu Jan 26 
12:52:21 2012
@@ -2704,6 +2704,77 @@ def remap_file_external_with_prop_del(sb
   # http://subversion.tigris.org/issues/show_bug.cgi?id=4093#desc1
   svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
 
+
+# Test for issue #4053 'svn:externals with explicit rev checks out HEAD'
+@Issue(4053)
+def dir_external_with_dash_r_only(sbox):
+  whether '-r1 ^/A B' updates properly
+  # svntest.factory.make(sbox,
+  #   echo 'newer alpha'  A/B/E/alpha
+  #   svn ci
+  #   svn ps svn:externals ' -r1 ^/A/B/E E_ext' .
+  #   svn up
+  #   # ^ move the 'status.tweak(wc_rev=2)' above the 'add()' call
+  #   svn info E_ext
+  #   # ^ change the 'svn info' call to
+  #   #  expected_info = { 'Revision': '1' }
+  #   #  actions.run_and_verify_info([expected_info], E_ext)
+  #   )
+
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  url = sbox.repo_url
+
+  A_B_E_alpha = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
+  E_ext = os.path.join(wc_dir, 'E_ext')
+
+  # echo 'newer alpha'  A/B/E/alpha
+  main.file_write(A_B_E_alpha, 'newer alpha\n')
+
+  # svn ci
+  expected_output = svntest.wc.State(wc_dir, {
+'A/B/E/alpha'   : Item(verb='Sending'),
+  })
+
+  expected_status = actions.get_virginal_state(wc_dir, 1)
+  expected_status.tweak('A/B/E/alpha', wc_rev='2')
+
+  actions.run_and_verify_commit(wc_dir, expected_output, expected_status,
+None, wc_dir)
+
+  # svn ps svn:externals ' -r1 ^/A/B/E E_ext' .
+  expected_stdout = [property 'svn:externals' set on ' + wc_dir + '\n]
+
+  actions.run_and_verify_svn2('OUTPUT', expected_stdout, [], 0, 'ps',
+'svn:externals', ' -r1 ^/A/B/E E_ext', wc_dir)
+
+  # svn up
+  expected_output = svntest.wc.State(wc_dir, {
+'E_ext/beta': Item(status='A '),
+'E_ext/alpha'   : Item(status='A '),
+  })
+
+  expected_disk = svntest.main.greek_state.copy()
+  expected_disk.add({
+'E_ext' : Item(),
+'E_ext/alpha'   : Item(contents=This is the file 'alpha'.\n),
+'E_ext/beta': Item(contents=This is the file 'beta'.\n),
+  })
+  expected_disk.tweak('A/B/E/alpha', contents='newer alpha\n')
+
+  expected_status.tweak(wc_rev='2')
+  expected_status.tweak('', status=' M')
+  expected_status.add({
+'E_ext' : Item(status='X '),
+  })
+
+  actions.run_and_verify_update(wc_dir, expected_output, expected_disk,
+expected_status, None, None, None, None, None, False, wc_dir)
+
+  # svn info E_ext/alpha
+  expected_info = { 'Revision': '1' }
+  actions.run_and_verify_info([expected_info], E_ext)
+
 
 # Run the tests
 
@@ -2749,6 +2820,7 @@ test_list = [ None,
   include_immediate_dir_externals,
   shadowing,
   remap_file_external_with_prop_del,
+  dir_external_with_dash_r_only,
  ]
 
 if __name__ == '__main__':




svn commit: r1236168 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread rhuijben
Author: rhuijben
Date: Thu Jan 26 13:16:10 2012
New Revision: 1236168

URL: http://svn.apache.org/viewvc?rev=1236168view=rev
Log:
* STATUS: Cast another vote

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236168r1=1236167r2=1236168view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 13:16:10 2012
@@ -162,7 +162,7 @@ Candidate changes:
Notes:
  r1236163 adds a regression test
Votes:
- +1: neels
+ +1: neels, rhuijben
 
 Veto-blocked changes:
 =




svn commit: r1236173 - /subversion/trunk/subversion/mod_dav_svn/reports/update.c

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 13:49:04 2012
New Revision: 1236173

URL: http://svn.apache.org/viewvc?rev=1236173view=rev
Log:
Fix a 1.6 client to 1.7 server compatibility problem.  1.7 has
stricter URL canonicaliztion rules that caused mod_dav_svn to
reject some 1.6 requests.

* subversion/mod_dav_svn/reports/update.c
  (dav_svn__update_report): Canonicalize the incoming src-path and
   dst-path URLs instead of requiring canonical data from the client.

Modified:
subversion/trunk/subversion/mod_dav_svn/reports/update.c

Modified: subversion/trunk/subversion/mod_dav_svn/reports/update.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/reports/update.c?rev=1236173r1=1236172r2=1236173view=diff
==
--- subversion/trunk/subversion/mod_dav_svn/reports/update.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/reports/update.c Thu Jan 26 
13:49:04 2012
@@ -955,8 +955,8 @@ dav_svn__update_report(const dav_resourc
   cdata = dav_xml_get_cdata(child, resource-pool, 0);
   if (! *cdata)
 return malformed_element_error(child-name, resource-pool);
-  if ((derr = dav_svn__test_canonical(cdata, resource-pool)))
-return derr;
+  if (svn_path_is_url(cdata))
+cdata = svn_uri_canonicalize(cdata, resource-pool);
   if ((serr = dav_svn__simple_parse_uri(this_info, resource,
 cdata, resource-pool)))
 return dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
@@ -970,8 +970,8 @@ dav_svn__update_report(const dav_resourc
   cdata = dav_xml_get_cdata(child, resource-pool, 0);
   if (! *cdata)
 return malformed_element_error(child-name, resource-pool);
-  if ((derr = dav_svn__test_canonical(cdata, resource-pool)))
-return derr;
+  if (svn_path_is_url(cdata))
+cdata = svn_uri_canonicalize(cdata, resource-pool);
   if ((serr = dav_svn__simple_parse_uri(this_info, resource,
 cdata, resource-pool)))
 return dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,




svn commit: r1236177 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 13:56:00 2012
New Revision: 1236177

URL: http://svn.apache.org/viewvc?rev=1236177view=rev
Log:
* STATUS: Propose r1236173.

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236177r1=1236176r2=1236177view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 13:56:00 2012
@@ -164,6 +164,15 @@ Candidate changes:
Votes:
  +1: neels, rhuijben
 
+ * r1236173
+   Do canonicalization rather than requring canonical data in some
+   mod_dav_svn requests.
+   Justification:
+ Backward compatibility with 1.6 clients when using URLs such
+ as http://host:80/rep%6f that 1.7 considers non-canonical.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1236184 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 14:11:28 2012
New Revision: 1236184

URL: http://svn.apache.org/viewvc?rev=1236184view=rev
Log:
* STATUS: Note conflict.

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236184r1=1236183r2=1236184view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 14:11:28 2012
@@ -152,6 +152,7 @@ Candidate changes:
  r1236099 updates neon.
  The changes are independent, but as it changes how the config file
  behaves, I think both should be applied at the same time. (rhuijben)
+ Needs branch as r1236099 gives a merge conflict. (philip)
Votes:
  +1: rhuijben, gstein
 




svn commit: r1236213 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 14:55:48 2012
New Revision: 1236213

URL: http://svn.apache.org/viewvc?rev=1236213view=rev
Log:
* STATUS: Vote/approve patch --dry-run fix.

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236213r1=1236212r2=1236213view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 14:55:48 2012
@@ -123,14 +123,6 @@ Candidate changes:
Votes:
  +1: philip, rhuijben
 
- * r1231944, r1231945
-   Fix a patch problem where the patch file causes multiple levels of
-   directories to be added and also deletes a file.
-   Justification:
- Allows dry-run applying some patch files.
-   Votes:
- +1: rhuijben, steveking
-
  * r1232202, r1232207, r1232221, r123 
Calling 'svn status PATH' on a node that is not present in a working
copy shouldn't show the status as missing.
@@ -198,3 +190,11 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1231944, r1231945
+   Fix a patch problem where the patch file causes multiple levels of
+   directories to be added and also deletes a file.
+   Justification:
+ Allows dry-run applying some patch files.
+   Votes:
+ +1: rhuijben, steveking, philip




svn commit: r1236214 - /subversion/trunk/subversion/libsvn_delta/compat.c

2012-01-26 Thread hwright
Author: hwright
Date: Thu Jan 26 14:58:32 2012
New Revision: 1236214

URL: http://svn.apache.org/viewvc?rev=1236214view=rev
Log:
Ev2 shims: Use the correct base revision when opening a directory.

Current number of Ev2 test failures: 21

* subversion/libsvn_delta/compat.c
  (drive_tree): Use the operation's base revision, not the parent's.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1236214r1=1236213r2=1236214view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Jan 26 14:58:32 2012
@@ -1411,8 +1411,7 @@ drive_tree(struct operation *op,
 {
   /* Open or create our baton. */
   if (op-operation == OP_OPEN || op-operation == OP_PROPSET)
-SVN_ERR(editor-open_directory(path, parent_op-baton,
-   parent_op-base_revision,
+SVN_ERR(editor-open_directory(path, parent_op-baton, 
op-base_revision,
scratch_pool, op-baton));
 
   else if (op-operation == OP_ADD || op-operation == OP_REPLACE)




svn commit: r1236230 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_client/patch.c subversion/tests/cmdline/patch_tests.py

2012-01-26 Thread hwright
Author: hwright
Date: Thu Jan 26 15:14:40 2012
New Revision: 1236230

URL: http://svn.apache.org/viewvc?rev=1236230view=rev
Log:
Merge r1231944, 1231945 from trunk:

 * r1231944, r1231945
   Fix a patch problem where the patch file causes multiple levels of
   directories to be added and also deletes a file.
   Justification:
 Allows dry-run applying some patch files.
   Votes:
 +1: rhuijben, steveking, philip

Modified:
subversion/branches/1.7.x/   (props changed)
subversion/branches/1.7.x/STATUS
subversion/branches/1.7.x/subversion/libsvn_client/patch.c
subversion/branches/1.7.x/subversion/tests/cmdline/patch_tests.py

Propchange: subversion/branches/1.7.x/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 26 15:14:40 2012
@@ -72,4 +72,4 @@
 /subversion/branches/tree-conflicts:868291-873154
 /subversion/branches/tree-conflicts-notify:873926-874008
 /subversion/branches/uris-as-urls:1060426-1064427
-/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147299,1147309,1147882,1148071,1148083,1148094,1148131,1148374,1148424,1148566,1148588,1148652,1148662,1148699,1148853,1148877,1148882,1148936,1149103,1149105,1149135,1149141,1149160,1149228,1149240,1149343,1149371-1149372,1149377,1149398,1149401,1149539,1149572,1149627,1149675,1149701,1149713,1150242,1150254,1150260-1150261,1150266,1150302,1150327,1150344,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151854,1151906,1151911,1152129,1152140,1152189-1152190,1152267,1152282,1152286,1152726,1152809,1153138,1153141,1153416,1153540,1153566,1153799,1153807,1153968,1154009,1154023,1154115,1154119,1154121,1154144,1154155,1154159,1154165,1154215,1154225,1154273,1154278,1154379,1154382,1154461,1154717-1154718,1154733,1154908,1154982,1155015,1155044,1155124,1155131,1155160,1155313,1155334,1155391,1155404,115
 
6085,1156098,1156216,1156218,1156312,1156527,1156717,1156721,1156750,1156827,1156838,1157416,1158187,1158193-1158194,1158196,1158201,1158207,1158209-1158210,1158217,1158285,1158288,1158303,1158309,1158407,1158419,1158421,1158436,1158455,1158616-1158617,1158634,1158854,1158875,1158886,1158893,1158896,1158919,1158923-1158924,1158929,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704-1160705,1160756,1161063,1161080,1161185,1161210,1161683,1161721,1162024,1162033,1162201,1162516,1162880,1162974,1162995,1163243,1163383,1163557,1163792,1163953,1164027,1164386,1164426,1164517,1164535,1164554,1164580,1164614,1164645,1164760,1164765,1166267,1166500,1166555,1166678,1167062,1167173,1167209,1167269,1167503,1167659,1167681,1169524,1169531,1169650,1171708,1173111,1173425,1173639,1174051,1174060,1174652,1174761,1174797-1174798,1174806,1175888,1176915,1176949,1177001,1177492,1177732,1178280,1178282,1178942,
 
1179680,1179767,1180154,1181090,1181110,1181155,1181215,1181609,1181666,1182115,1182527,1182771,1182904,1182909,1183054,1183263,1183347,1185222,1185242,1185280,1185282,1185730,1185738,1185746,1185763,1185768,1185886,1185911,1185918,1186059,1186092,1186101,1186107,1186109,1186121,1186231,1186240,1186422,1186434,1186732,1186755,1186784,1186815,1186928,1186944,1186981,1186983,1187311,1187676,1187695,1188609,1188652,1188677,1188762,1188774,1189190,1189261,1189395,1189580,1189665,1195480,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1205839,1205848,1206523,1206533,1206576,1206718-1206719,1206724,1206741,1206748,1207656,1207663,1207823,1207858,1207949,1208840,1209631,1209654,1210195,1211483,1211859,1211885,1212476,1212482,1212484,1213331,1213673,1213681,1213690,1213711,1213716,1214139,1215260,1215288,1215374-1215375,1215379,1220742,1220750,1221793,1222521,1222693,12265
 
97,1227146,1228340,1229252,1229303,1229677,1229833,1229980,1235264,1235296,1235302,1235736

svn commit: r1236231 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 15:15:54 2012
New Revision: 1236231

URL: http://svn.apache.org/viewvc?rev=1236231view=rev
Log:
* STATUS: Vote/approve r1220783.

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236231r1=1236230r2=1236231view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 15:15:54 2012
@@ -47,13 +47,6 @@ Candidate changes:
Votes:
  +1: rhuijben, stsp
 
- * r1220783
-   Fix mis-ordered text output of 'svn log --diff' on Windows.
-   Justification:
- Badness within 'svn', fixed within 'svn'. Needed for r1210147 group.
-   Votes:
- +1: julianfoad, rhuijben
-
  * r1210147, r1202132, r1202333, r1220740
Fix the 'svn log --diff' code so that it correctly shows a diff of a
target file (or directory) that was at a different path in the past.
@@ -190,3 +183,9 @@ Veto-blocked changes:
 
 Approved changes:
 =
+ * r1220783
+   Fix mis-ordered text output of 'svn log --diff' on Windows.
+   Justification:
+ Badness within 'svn', fixed within 'svn'. Needed for r1210147 group.
+   Votes:
+ +1: julianfoad, rhuijben, philip




svn commit: r1236243 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 15:32:27 2012
New Revision: 1236243

URL: http://svn.apache.org/viewvc?rev=1236243view=rev
Log:
* STATUS: Antivote, note problem

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236243r1=1236242r2=1236243view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 15:32:27 2012
@@ -47,6 +47,15 @@ Candidate changes:
Votes:
  +1: rhuijben, stsp
 
+ * r1220783
+   Fix mis-ordered text output of 'svn log --diff' on Windows.
+   Justification:
+ Badness within 'svn', fixed within 'svn'. Needed for r1210147 group.
+   Notes:
+ Doesn't compile on 1.7.x.
+   Votes:
+ +1: julianfoad, rhuijben
+
  * r1210147, r1202132, r1202333, r1220740
Fix the 'svn log --diff' code so that it correctly shows a diff of a
target file (or directory) that was at a different path in the past.
@@ -183,9 +192,3 @@ Veto-blocked changes:
 
 Approved changes:
 =
- * r1220783
-   Fix mis-ordered text output of 'svn log --diff' on Windows.
-   Justification:
- Badness within 'svn', fixed within 'svn'. Needed for r1210147 group.
-   Votes:
- +1: julianfoad, rhuijben, philip




svn commit: r1236270 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 16:17:03 2012
New Revision: 1236270

URL: http://svn.apache.org/viewvc?rev=1236270view=rev
Log:
* STATUS: Vote/approve issue 4053 fix

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236270r1=1236269r2=1236270view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 16:17:03 2012
@@ -150,15 +150,6 @@ Candidate changes:
Votes:
  +1: rhuijben, gstein
 
- * r1163372, r1236163
-   Issue #4053: svn:externals with explicit rev checks out HEAD
-   Justification:
- Regression.
-   Notes:
- r1236163 adds a regression test
-   Votes:
- +1: neels, rhuijben
-
  * r1236173
Do canonicalization rather than requring canonical data in some
mod_dav_svn requests.
@@ -192,3 +183,12 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1163372, r1236163
+   Issue #4053: svn:externals with explicit rev checks out HEAD
+   Justification:
+ Regression.
+   Notes:
+ r1236163 adds a regression test
+   Votes:
+ +1: neels, rhuijben, philip




svn commit: r1236279 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_client/externals.c subversion/tests/cmdline/externals_tests.py

2012-01-26 Thread danielsh
Author: danielsh
Date: Thu Jan 26 16:36:37 2012
New Revision: 1236279

URL: http://svn.apache.org/viewvc?rev=1236279view=rev
Log:
Merge the r1163372 group from trunk:

 * r1163372, r1236163
   Issue #4053: svn:externals with explicit rev checks out HEAD
   Justification:
 Regression.
   Notes:
 r1236163 adds a regression test
   Votes:
 +1: neels, rhuijben, philip

Modified:
subversion/branches/1.7.x/   (props changed)
subversion/branches/1.7.x/STATUS
subversion/branches/1.7.x/subversion/libsvn_client/externals.c
subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py

Propchange: subversion/branches/1.7.x/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 26 16:36:37 2012
@@ -72,4 +72,4 @@
 /subversion/branches/tree-conflicts:868291-873154
 /subversion/branches/tree-conflicts-notify:873926-874008
 /subversion/branches/uris-as-urls:1060426-1064427
-/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147299,1147309,1147882,1148071,1148083,1148094,1148131,1148374,1148424,1148566,1148588,1148652,1148662,1148699,1148853,1148877,1148882,1148936,1149103,1149105,1149135,1149141,1149160,1149228,1149240,1149343,1149371-1149372,1149377,1149398,1149401,1149539,1149572,1149627,1149675,1149701,1149713,1150242,1150254,1150260-1150261,1150266,1150302,1150327,1150344,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151854,1151906,1151911,1152129,1152140,1152189-1152190,1152267,1152282,1152286,1152726,1152809,1153138,1153141,1153416,1153540,1153566,1153799,1153807,1153968,1154009,1154023,1154115,1154119,1154121,1154144,1154155,1154159,1154165,1154215,1154225,1154273,1154278,1154379,1154382,1154461,1154717-1154718,1154733,1154908,1154982,1155015,1155044,1155124,1155131,1155160,1155313,1155334,1155391,1155404,115
 
6085,1156098,1156216,1156218,1156312,1156527,1156717,1156721,1156750,1156827,1156838,1157416,1158187,1158193-1158194,1158196,1158201,1158207,1158209-1158210,1158217,1158285,1158288,1158303,1158309,1158407,1158419,1158421,1158436,1158455,1158616-1158617,1158634,1158854,1158875,1158886,1158893,1158896,1158919,1158923-1158924,1158929,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704-1160705,1160756,1161063,1161080,1161185,1161210,1161683,1161721,1162024,1162033,1162201,1162516,1162880,1162974,1162995,1163243,1163383,1163557,1163792,1163953,1164027,1164386,1164426,1164517,1164535,1164554,1164580,1164614,1164645,1164760,1164765,1166267,1166500,1166555,1166678,1167062,1167173,1167209,1167269,1167503,1167659,1167681,1169524,1169531,1169650,1171708,1173111,1173425,1173639,1174051,1174060,1174652,1174761,1174797-1174798,1174806,1175888,1176915,1176949,1177001,1177492,1177732,1178280,1178282,1178942,
 
1179680,1179767,1180154,1181090,1181110,1181155,1181215,1181609,1181666,1182115,1182527,1182771,1182904,1182909,1183054,1183263,1183347,1185222,1185242,1185280,1185282,1185730,1185738,1185746,1185763,1185768,1185886,1185911,1185918,1186059,1186092,1186101,1186107,1186109,1186121,1186231,1186240,1186422,1186434,1186732,1186755,1186784,1186815,1186928,1186944,1186981,1186983,1187311,1187676,1187695,1188609,1188652,1188677,1188762,1188774,1189190,1189261,1189395,1189580,1189665,1195480,1197135,1197998,1199876,1199950,1200837,1201002,1201824,1202135,1202187,1202630,1202807,1203546,1203651,1203653,1204167,1204478,1204610,1204673,1205193,1205726,1205839,1205848,1206523,1206533,1206576,1206718-1206719,1206724,1206741,1206748,1207656,1207663,1207823,1207858,1207949,1208840,1209631,1209654,1210195,1211483,1211859,1211885,1212476,1212482,1212484,1213331,1213673,1213681,1213690,1213711,1213716,1214139,1215260,1215288,1215374-1215375,1215379,1220742,1220750,1221793,1222521,1222693,12265
 
97,1227146,1228340,1229252,1229303,1229677,1229833,1229980,1231944-1231945,1235264,1235296,1235302,1235736

svn commit: r1236283 - /subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 16:41:52 2012
New Revision: 1236283

URL: http://svn.apache.org/viewvc?rev=1236283view=rev
Log:
Try to get errno before it changes.

* subversion/libsvn_ra_svn/cyrus_auth.c
  (get_sasl_errno_msg): Document usage.
  (get_sasl_error): Document usage, query errno earlier.
  (new_sasl_ctx): Query errno earlier.

Modified:
subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c

Modified: subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c?rev=1236283r1=1236282r2=1236283view=diff
==
--- subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c (original)
+++ subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c Thu Jan 26 16:41:52 
2012
@@ -340,7 +340,8 @@ get_password_cb(sasl_conn_t *conn, void 
 
 /* Sometimes SASL returns SASL_FAIL as RESULT and sets errno.
  * SASL_FAIL translates to generic error which is quite unhelpful.
- * Try to append a more informative error message based on errno. */
+ * Try to append a more informative error message based on errno so
+ * should be called before doing anything that may change errno. */
 static const char *
 get_sasl_errno_msg(int result, apr_pool_t *result_pool)
 {
@@ -353,14 +354,16 @@ get_sasl_errno_msg(int result, apr_pool_
 }
 
 /* Wrap an error message from SASL with a prefix that allows users
- * to tell that the error message came from SASL. */
+ * to tell that the error message came from SASL.  Queries errno and
+ * so should be called before doing anything that may change errno. */
 static const char *
 get_sasl_error(sasl_conn_t *sasl_ctx, int result, apr_pool_t *result_pool)
 {
+  const char *sasl_errno_msg = get_sasl_errno_msg(result, result_pool);
+
   return apr_psprintf(result_pool,
   _(SASL authentication error: %s%s),
-  sasl_errdetail(sasl_ctx),
-  get_sasl_errno_msg(result, result_pool));
+  sasl_errdetail(sasl_ctx), sasl_errno_msg);
 }
 
 /* Create a new SASL context. */
@@ -380,10 +383,14 @@ static svn_error_t *new_sasl_ctx(sasl_co
callbacks, SASL_SUCCESS_DATA,
sasl_ctx);
   if (result != SASL_OK)
-return svn_error_createf(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
- _(Could not create SASL context: %s%s),
- sasl_errstring(result, NULL, NULL),
- get_sasl_errno_msg(result, pool));
+{
+  const char *sasl_errno_msg = get_sasl_errno_msg(result, pool);
+
+  return svn_error_createf(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
+   _(Could not create SASL context: %s%s),
+   sasl_errstring(result, NULL, NULL),
+   sasl_errno_msg);
+}
   svn_atomic_inc(sasl_ctx_count);
   apr_pool_cleanup_register(pool, *sasl_ctx, sasl_dispose_cb,
 apr_pool_cleanup_null);




svn commit: r1236302 - /subversion/branches/1.7.x/STATUS

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 17:29:12 2012
New Revision: 1236302

URL: http://svn.apache.org/viewvc?rev=1236302view=rev
Log:
* STATUS: Notes about SASL fix

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1236302r1=1236301r2=1236302view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Jan 26 17:29:12 2012
@@ -102,6 +102,8 @@ Candidate changes:
  Similar fixes already went into 1.7.1.
Votes:
  +1: stsp, rhuijben
+ -0: philip (Is errno a good indicator of SASL errors?
+ Needs r1179776 for conflict, r1236283 for correctness)
 
  * r1225491
Allow converting //server/share paths to file://server/share by using




svn commit: r1236343 - /subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c

2012-01-26 Thread philip
Author: philip
Date: Thu Jan 26 18:31:40 2012
New Revision: 1236343

URL: http://svn.apache.org/viewvc?rev=1236343view=rev
Log:
Clear errno before calling SASL functions, check errno if SASL init fails.

* subversion/libsvn_ra_svn/cyrus_auth.c
  (clear_sasl_errno): New macro.
  (get_sasl_errno_msg, get_sasl_error): Move earlier in file.
  (sasl_init_cb): Use the errno functions.
  (new_sasl_ctx, try_auth, sasl_read_cb, sasl_write_cb,
   svn_ra_svn__enable_sasl_encryption): Clear errno.

Modified:
subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c

Modified: subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c?rev=1236343r1=1236342r2=1236343view=diff
==
--- subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c (original)
+++ subversion/trunk/subversion/libsvn_ra_svn/cyrus_auth.c Thu Jan 26 18:31:40 
2012
@@ -186,12 +186,64 @@ svn_ra_svn__sasl_common_init(apr_pool_t 
   return SVN_NO_ERROR;
 }
 
+/* We are going to look at errno when we get SASL_FAIL but we don't
+   know for sure whether SASL always sets errno.  Clearing errno
+   before calling SASL functions helps in cases where SASL does
+   nothing to set errno. */
+#ifdef apr_set_os_error
+#define clear_sasl_errno() apr_set_os_error(APR_SUCCESS)
+#else
+#define clear_sasl_errno() (void)0
+#endif
+
+/* Sometimes SASL returns SASL_FAIL as RESULT and sets errno.
+ * SASL_FAIL translates to generic error which is quite unhelpful.
+ * Try to append a more informative error message based on errno so
+ * should be called before doing anything that may change errno. */
+static const char *
+get_sasl_errno_msg(int result, apr_pool_t *result_pool)
+{
+#ifdef apr_get_os_error
+  char buf[1024];
+
+  if (result == SASL_FAIL  apr_get_os_error() != 0)
+return apr_psprintf(result_pool, : %s,
+svn_strerror(apr_get_os_error(), buf, sizeof(buf)));
+#endif
+  return ;
+}
+
+/* Wrap an error message from SASL with a prefix that allows users
+ * to tell that the error message came from SASL.  Queries errno and
+ * so should be called before doing anything that may change errno. */
+static const char *
+get_sasl_error(sasl_conn_t *sasl_ctx, int result, apr_pool_t *result_pool)
+{
+  const char *sasl_errno_msg = get_sasl_errno_msg(result, result_pool);
+
+  return apr_psprintf(result_pool,
+  _(SASL authentication error: %s%s),
+  sasl_errdetail(sasl_ctx), sasl_errno_msg);
+}
+
 static svn_error_t *sasl_init_cb(void *baton, apr_pool_t *pool)
 {
+  int result;
+
   SVN_ERR(svn_ra_svn__sasl_common_init(pool));
-  if (sasl_client_init(NULL) != SASL_OK)
-return svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
-_(Could not initialize the SASL library));
+  clear_sasl_errno();
+  result = sasl_client_init(NULL);
+  if (result != SASL_OK)
+{
+  const char *sasl_errno_msg = get_sasl_errno_msg(result, pool);
+
+  return svn_error_createf
+(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
+ _(Could not initialized the SASL library: %s%s),
+ sasl_errstring(result, NULL, NULL),
+ sasl_errno_msg);
+}
+
   return SVN_NO_ERROR;
 }
 
@@ -338,34 +390,6 @@ get_password_cb(sasl_conn_t *conn, void 
   return SASL_FAIL;
 }
 
-/* Sometimes SASL returns SASL_FAIL as RESULT and sets errno.
- * SASL_FAIL translates to generic error which is quite unhelpful.
- * Try to append a more informative error message based on errno so
- * should be called before doing anything that may change errno. */
-static const char *
-get_sasl_errno_msg(int result, apr_pool_t *result_pool)
-{
-  char buf[1024];
-
-  if (result == SASL_FAIL  apr_get_os_error() != 0)
-return apr_psprintf(result_pool, : %s,
-svn_strerror(apr_get_os_error(), buf, sizeof(buf)));
-  return ;
-}
-
-/* Wrap an error message from SASL with a prefix that allows users
- * to tell that the error message came from SASL.  Queries errno and
- * so should be called before doing anything that may change errno. */
-static const char *
-get_sasl_error(sasl_conn_t *sasl_ctx, int result, apr_pool_t *result_pool)
-{
-  const char *sasl_errno_msg = get_sasl_errno_msg(result, result_pool);
-
-  return apr_psprintf(result_pool,
-  _(SASL authentication error: %s%s),
-  sasl_errdetail(sasl_ctx), sasl_errno_msg);
-}
-
 /* Create a new SASL context. */
 static svn_error_t *new_sasl_ctx(sasl_conn_t **sasl_ctx,
  svn_boolean_t is_tunneled,
@@ -378,6 +402,7 @@ static svn_error_t *new_sasl_ctx(sasl_co
   sasl_security_properties_t secprops;
   int result;
 
+  clear_sasl_errno();
   result = sasl_client_new(SVN_RA_SVN_SASL_NAME,
hostname, local_addrport, remote_addrport,
callbacks, SASL_SUCCESS_DATA,
@@ -401,6 

[Subversion Wiki] Update of InheritedProperties by pburba

2012-01-26 Thread Apache subversion Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Subversion Wiki for 
change notification.

The InheritedProperties page has been changed by pburba:
http://wiki.apache.org/subversion/InheritedProperties

Comment:
Initial brain dump on simple inherited properties

New page:
= INHERITED PROPERTIES : BACKGROUND =
== What's This? ==
Some ideas on how we might implement simple inherited properties.

== What Are Inherited Properties? ==
Inherited properties are versioned properties that apply not only to the path 
the property is explicitly set on, but also to all of that path's path-wise 
descendants (at the same revision) which do not explicitly have the same 
property set.

== What's Driving This? ==
Desire for some form of inherited properties has existed almost from the dawn 
of Subversion.  This latest effort is in response to a recent proposal 
regarding Server Dictated Configuration (see 
http://wiki.apache.org/subversion/ServerDictatedConfiguration and 
http://svn.haxx.se/dev/archive-2012-01/0032.shtml).  That proposal made use of 
a new mechanism by which server dictated configurations (notably auto-props and 
global-ignores) would be communicated from the server to the client.  In the 
feedback on the proposal several people pointed out that versioned properties 
provide a possible alternative solution (and that the TortoiseSVN project was 
already using pseduo-inheritable properties to address some of the same 
problems -- see 
http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-propertypage.html). 
Despite its origins in the server defined configuration work, this wiki 
describes only a generic inheritable properties design (''though my the 
ultimate goal is to use these inheritable properties to implement the server 
dictated configuration feature -- pburba'').

== What This Design Is and What It Isn't ==
This design provides the bare minimum to support the basics of inherited 
properties:

 * A way to identify properties that are inheritable vs. those that are not.
 * A way to set inheritable properties (not really anything to do here, we 
support this today).
 * A way to get a path's inherited properties.

That's it, it's really just a small extension of our existing versioned 
property capabilities.  If your own personal vision of inherited properties 
includes something outside of these three bullets (e.g. merging inherited 
properties), then that is outside of this design's scope (at least initially).

== How Is This Design Different? ==
It's not really.  A lot of the ideas here come from the dev list, #svn-dev, and 
conversations with other devs.  The difference, if there is any, is that this 
design aims to be as simple as possible and steer clear of complications which 
have thwarted inheritable properties in the past. If there is more than one 
reasonable behavior to choose from, it usually goes with the one that is 
simpler to explain/understand/implement/maintain.  ''This means that not 
everyone will be happy, it may not cover every use-case, but I hope it covers 
most of them -- pburba.''

== Inheritable Properties Today ==
Subversion has supported merge-tracking using the svn:mergeinfo property since 
the 1.5 release.  The svn:mergeinfo property is inheritable in some 
merge-sensitive contexts, notably 'svn merge', 'svn log -g', and 'svn 
mergeinfo'. For example, say we have this simple branch structure at r700 in 
our repository:

{{{
projX/
projX/branches/
projX/branches/src/
projX/branches/src/foo.c
projX/branches/inc
projX/branches/inc/bar.h
}}}
And suppose the mergeinfo 'projX/trunk:509-612' is set on 'projX/branches'.  If 
we perform a merge targeting  'projX/branches/src/foo.c', the merge logic 
considers the svn:mergeinfo property on this target path to effectively be 
'projX/trunk/src/foo.c:509-612'. However, unlike a true inheritable property 
however, svn:mergeinfo is not inheritable outside of merge-tracking aware 
contexts.  For example, the propget and proplist subcommands recognize the 
svn:mergeinfo when it is explicitly set on a path, but does not see it on 
those paths' descendants:

{{{
svn pg svn:mergeinfo -v projX/branches Properties on 'projX/branches':
  svn:mergeinfo
/projX/trunk:509-612

svn pg svn:mergeinfo -v branches/projX/src/foo.c


}}}
= INHERITED PROPERTIES : DESIGN =
== Differentiating Inheritable Vs. 'Normal' Properties ==
Inheritable properties will be identified by a prefix on the property name.

 1. Custom user properties will use the svn:inheritable: prefix.
 1. Reserved Subversion inheritable properties will use the svn:i: prefix.

== Inheritance Rules ==
Inheritance will be very similar to the current svn:mergeinfo inheritance 
model.  For a given inheritable property 'svn:i:X':

 1. A path 'with' svn:i:X' explicitly set on it never inherits that 
property (i.e. a path can only inherit a property it doesn't have set on 
itself).' '
 1. A repository path@REV 'without' the 'svn:i:X'