You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/11/04 21:48:30 UTC
svn commit: r1031230 [20/21] - in /subversion/branches/py-tests-as-modules:
./ build/ build/ac-macros/ build/win32/ contrib/client-side/ notes/
notes/http-and-webdav/ notes/wc-ng/ subversion/bindings/ctypes-python/csvn/
subversion/bindings/javahl/nativ...
Modified: subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/db-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/db-test.c?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/db-test.c (original)
+++ subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/db-test.c Thu Nov 4 20:48:21 2010
@@ -48,9 +48,9 @@
#include "../svn_test.h"
-#define ROOT_ONE "http://example.com/one/"
-#define ROOT_TWO "http://example.com/two/"
-#define ROOT_THREE "http://example.com/three/"
+#define ROOT_ONE "http://example.com/one"
+#define ROOT_TWO "http://example.com/two"
+#define ROOT_THREE "http://example.com/three"
#define UUID_ONE "uuid1"
#define UUID_TWO "uuid2"
@@ -75,7 +75,7 @@
#define MD5_2 "5d41402abc4b2a76b9719d911017c592"
#define SHA1_1 "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
-#define I_TC_DATA "((conflict F file update edited deleted (version 23 " ROOT_ONE " 1 2 branch1/ft/F none) (version 23 " ROOT_ONE " 1 3 branch1/ft/F file)) (conflict G file update edited deleted (version 23 " ROOT_ONE " 1 2 branch1/ft/F none) (version 23 " ROOT_ONE " 1 3 branch1/ft/F file)) )"
+#define I_TC_DATA "((conflict F file update edited deleted (version 22 " ROOT_ONE " 1 2 branch1/ft/F none) (version 22 " ROOT_ONE " 1 3 branch1/ft/F file)) (conflict G file update edited deleted (version 22 " ROOT_ONE " 1 2 branch1/ft/F none) (version 22 " ROOT_ONE " 1 3 branch1/ft/F file)) )"
static const char * const TESTING_DATA = (
/* Load our test data.
@@ -87,417 +87,191 @@ static const char * const TESTING_DATA =
"insert into repository values (2, '" ROOT_TWO "', '" UUID_TWO "'); "
"insert into wcroot values (1, null); "
- /* ### The file_externals column in BASE_NODE is temporary, and will be
+ /* ### The file_externals column in NODES is temporary, and will be
### removed. However, to keep the tests passing, we need to add it
### to the following insert statements. *Be sure to remove it*. */
-#ifndef SVN_WC__NODES_ONLY
- "insert into base_node values ("
- " 1, '', 1, '', null, 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', 'infinity', null, null, '()', null, 0, "
- " null); "
- "insert into base_node values ("
- " 1, 'A', null, null, '', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 10, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'B', null, null, '', 'excluded', 'symlink', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'C', null, null, '', 'absent', 'unknown', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'D', null, null, '', 'not-present', 'unknown', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'E', null, null, '', 'incomplete', 'unknown', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'F', null, null, '', 'normal', 'file', "
- " 1, '$sha1$" SHA1_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'G', 2, 'G-alt', '', 'normal', 'file', "
- " 1, '$sha1$" SHA1_1 "', 15, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'H', null, null, '', 'normal', 'symlink', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, 'H-target', null, '()', null, "
- " null, null); "
- "insert into base_node values ("
- " 1, 'I', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e', null, null, 'J', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e/J-e-a', null, null, 'J/J-e', 'normal', 'file', "
- " 1, '$sha1$" SHA1_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e/J-e-b', null, null, 'J/J-e', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e/J-e-b/Jeba', null, null, 'J/J-e/J-e-b', 'normal', 'file', "
- " 1, '$sha1$" SHA1_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-f', null, null, 'J', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-f/J-f-a', null, null, 'J/J-f', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'K', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'K/K-a', null, null, 'K', 'normal', 'file', "
- " 1, '$sha1$" SHA1_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'K/K-b', null, null, 'K', 'normal', 'file', "
- " 1, '$sha1$" SHA1_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- " "
-#endif
-#ifdef SVN_WC__NODES
+
/* load the base nodes into the nodes table */
"insert into nodes values ("
- " 1, '', 0, null, 1, '', 1, 'normal', 'infinity',"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'A', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 10, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'B', 0, '', null, null, null, 'excluded', null,"
- " null, null, 'symlink', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'C', 0, '', null, null, null, 'absent', null,"
- " null, null, 'unknown', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'D', 0, '', null, null, null, 'not-present', null,"
- " null, null, 'unknown', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'E', 0, '', null, null, null, 'incomplete', null,"
- " null, null, 'unknown', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'F', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$sha1$" SHA1_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'G', 0, '', 2, 'G-alt', 1, 'normal', null,"
- " null, null, 'file', 2, " TIME_2s ", '" AUTHOR_2 "', '$sha1$" SHA1_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'H', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'symlink', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, 'H-target', null);"
- "insert into nodes values ("
- " 1, 'I', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e', 0, 'J', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-a', 0, 'J/J-e', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$sha1$" SHA1_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-b', 0, 'J/J-e', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-b/Jeba', 0, 'J/J-e/J-e-b', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$sha1$" SHA1_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-f', 0, 'J', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-f/J-f-a', 0, 'J/J-f', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K/K-a', 0, 'K', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$sha1$" SHA1_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K/K-b', 0, 'K', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$sha1$" SHA1_1 "',"
- " '()', 15, null, null, null, null);"
+ " 1, '', 0, null, 1, '', 1, 'normal',"
+ " null, null, 'dir', '()', 'infinity', null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'A', 0, '', 1, 'A', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 10, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'B', 0, '', 1, 'B', null, 'excluded',"
+ " null, null, 'symlink', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'C', 0, '', 1, 'C', null, 'absent',"
+ " null, null, 'unknown', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'D', 0, '', 1, 'D', null, 'not-present',"
+ " null, null, 'unknown', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'E', 0, '', 1, 'E', null, 'incomplete',"
+ " null, null, 'unknown', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'F', 0, '', 1, 'F', 1, 'normal',"
+ " null, null, 'file', '()', null, '$sha1$" SHA1_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'G', 0, '', 2, 'G-alt', 1, 'normal',"
+ " null, null, 'file', '()', null, '$sha1$" SHA1_1 "', null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'H', 0, '', 1, 'H', 1, 'normal',"
+ " null, null, 'symlink', '()', null, null, 'H-target', 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'I', 0, '', 1, 'I', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J', 0, '', 1, 'J', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e', 0, 'J', 1, 'J/J-e', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-a', 0, 'J/J-e', 1, 'J/J-e/J-e-a', 1, 'normal',"
+ " null, null, 'file', '()', null, '$sha1$" SHA1_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-b', 0, 'J/J-e', 1, 'J/J-e/J-e-b', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-b/Jeba', 0, 'J/J-e/J-e-b', 1, 'J/J-e/J-e-b/Jeba', 1, 'normal',"
+ " null, null, 'file', '()', null, '$sha1$" SHA1_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-f', 0, 'J', 1, 'J/J-f', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-f/J-f-a', 0, 'J/J-f', 1, 'J/J-f/J-f-a', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K', 0, '', 1, 'K', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-a', 0, 'K', 1, 'K/K-a', 1, 'normal',"
+ " null, null, 'file', '()', null, '$sha1$" SHA1_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-b', 0, 'K', 1, 'K/K-b', 1, 'normal',"
+ " null, null, 'file', '()', null, '$sha1$" SHA1_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
""
-#endif
-#ifndef SVN_WC__NODES_ONLY
- "insert into working_node values ("
- " 1, 'I', '', 'normal', 'dir', "
- " null, null, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', 'immediates', null, "
- " 2, 'some/dir', 2, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J', '', 'normal', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-a', 'J', 'normal', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-b', 'J', 'normal', 'dir', "
- " null, null, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', 'infinity', null, "
- " 2, 'some/dir', 2, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-b/J-b-a', 'J/J-b', 'normal', 'dir', "
- " null, null, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', 'infinity', null, "
- " 2, 'another/dir', 2, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-b/J-b-b', 'J/J-b', 'normal', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-c', 'J', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-c/J-c-a', 'J/J-c', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-d', 'J', 'normal', 'file', "
- " '$md5 $" MD5_1 "', 10, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', null, null, "
- " 2, 'moved/file', 2, 1, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e', 'J', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, 'other/place', null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e/J-e-a', 'J/J-e', 'not-present', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e/J-e-b', 'J/J-e', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e/J-e-b/Jeba', 'J/J-e/J-e-b', 'base-deleted', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-f', 'J', 'normal', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-f/J-f-a', 'J/J-f', 'base-deleted', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'K', '', 'base-deleted', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'K/K-a', 'K', 'base-deleted', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'K/K-b', 'K', 'base-deleted', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, 'moved/away', null, '()', 0); "
- "insert into working_node values ("
- " 1, 'L', '', 'normal', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'L/L-a', 'L', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'L/L-a/L-a-a', 'L', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- " "
-#endif
-#ifdef SVN_WC__NODES
/* Load data into NODES table;
### op_depths have not been calculated by me yet;
the value 1 is just 'good enough' to make the nodes WORKING nodes. */
"insert into nodes values ("
- " 1, 'I', 1, '', 2, 'some/dir', 2, 'normal', 'immediates',"
- " 0, null, 'dir', 2, " TIME_2s ", ' " AUTHOR_2 " ', null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J', 1, '', null, null, null, 'normal', 'immediates',"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-a', 1, 'J', null, null, null, 'normal', null,"
- " 0, null, 'file', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-b', 1, 'J', 2, 'some/dir', 2, 'normal', 'infinity',"
- " 0, null, 'dir', 2, " TIME_2s ", ' " AUTHOR_2 " ', null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-b/J-b-a', 1, 'J/J-b', 2, 'another/dir', 2, 'normal', 'infinity',"
- " 0, null, 'dir', 2, " TIME_2s ", ' " AUTHOR_2 " ', null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-b/J-b-b', 1, 'J/J-b', null, null, null, 'normal', null,"
- " 0, null, 'file', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-c', 1, 'J', null, null, null, 'not-present', null,"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-c/J-c-a', 1, 'J/J-c', null, null, null, 'not-present', null,"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-d', 1, 'J', 2, 'moved/file', 2, 'normal', null,"
- " 1, null, 'file', 2, " TIME_2s ", ' " AUTHOR_2 " ', '$md5 $ " MD5_1 " ',"
- " '()', 10, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e', 1, 'J', null, null, null, 'not-present', null,"
- " 0, 'other/place', 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-a', 1, 'J/J-e', null, null, null, 'not-present', null,"
- " 0, null, 'file', null, null, null, null, '()',"
- " null, null, null, null, null);"
+ " 1, 'I', 1, '', 2, 'some/dir', 2, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J', 1, '', null, null, null, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-a', 1, 'J', null, null, null, 'normal',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-b', 2, 'J', 2, 'some/dir', 2, 'normal',"
+ " 0, null, 'dir', '()', 'infinity', null, null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-b/J-b-a', 3, 'J/J-b', 2, 'another/dir', 2, 'normal',"
+ " 0, null, 'dir', '()', 'infinity', null, null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-b/J-b-b', 2, 'J/J-b', null, null, 2, 'normal',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-c', 1, 'J', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-c/J-c-a', 1, 'J/J-c', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-d', 2, 'J', 2, 'moved/file', 2, 'normal',"
+ " 1, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " 10, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e', 1, 'J', null, null, null, 'not-present',"
+ " 0, 'other/place', 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-a', 1, 'J/J-e', null, null, null, 'not-present',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
"insert into nodes values ("
" 1, 'J/J-e/J-e-b', 1, 'J/J-e', null, null, null, 'not-present',"
- " null, 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
"insert into nodes values ("
" 1, 'J/J-e/J-e-b/Jeba', 1, 'J/J-e/J-e-b', null, null, null, 'base-deleted',"
- " null, 0, null, 'file', null, null, null, null, '()',"
- " null, null, null, null, null);"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
"insert into nodes values ("
- " 1, 'J/J-f', 1, 'J', null, null, null, 'normal', 'immediates',"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
+ " 1, 'J/J-f', 1, 'J', null, null, null, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
"insert into nodes values ("
" 1, 'J/J-f/J-f-a', 1, 'J/J-f', null, null, null, 'base-deleted',"
- " 'immediates', 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
"insert into nodes values ("
- " 1, 'K', 1, '', null, null, null, 'base-deleted', null,"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K/K-a', 1, 'K', null, null, null, 'base-deleted', null,"
- " 0, null, 'file', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K/K-b', 1, 'K', null, null, null, 'base-deleted', null,"
- " 0, 'moved/away', 'file', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'L', 1, '', null, null, null, 'normal', 'immediates',"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'L/L-a', 1, 'L', null, null, null, 'not-present', 'immediates',"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'L/L-a/L-a-a', 1, 'L', null, null, null, 'not-present', 'immediates',"
- " 0, null, 'dir', null, null, null, null, '()',"
- " null, null, null, null, null);"
-#endif
+ " 1, 'K', 1, '', null, null, null, 'base-deleted',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-a', 1, 'K', null, null, null, 'base-deleted',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-b', 1, 'K', null, null, null, 'base-deleted',"
+ " 0, 'moved/away', 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'L', 1, '', null, null, null, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'L/L-a', 1, 'L', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'L/L-a/L-a-a', 1, 'L', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
"insert into actual_node values ("
" 1, 'I', '', null, null, null, null, null, 'changelist', null, "
"'" I_TC_DATA "', null, null, null, null);"
" "
-#ifndef SVN_WC__NODES_ONLY
- "insert into base_node values ("
- " 1, 'M', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into working_node values ("
- " 1, 'M/M-a', 'M', 'not-present', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
-#endif
-#ifdef SVN_WC__NODES_not_enabled_yet
"insert into nodes values ("
- " 1, 'M', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
+ " 1, 'M', 0, '', 1, 'M', null, 'normal', "
+ " 1, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
"insert into nodes values ("
- " 1, 'M/M-a', 'M', 'not-present', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
-#endif
+ " 1, 'M/M-a', 1, 'M', null, null, null, 'not-present', "
+ " null, null, 'file', '()', null, null, null, null, null, null,"
+ " null, 0, null, null);"
);
WC_QUERIES_SQL_DECLARE_STATEMENTS(statements);
@@ -512,9 +286,7 @@ create_fake_wc(const char *subdir, int f
svn_sqlite__db_t *sdb;
const char * const my_statements[] = {
statements[STMT_CREATE_SCHEMA],
-#ifdef SVN_WC__NODES
statements[STMT_CREATE_NODES],
-#endif
TESTING_DATA,
NULL
};
@@ -630,7 +402,7 @@ test_getting_info(apr_pool_t *pool)
SVN_TEST_ASSERT(target == NULL);
SVN_TEST_ASSERT(lock == NULL);
- /* Test: NULL params, file-specific values, inherit repos info. */
+ /* Test: file-specific values. */
SVN_ERR(svn_wc__db_base_get_info(
NULL, &kind, NULL,
&repos_relpath, &repos_root_url, &repos_uuid,
@@ -639,17 +411,8 @@ test_getting_info(apr_pool_t *pool)
db, svn_dirent_join(local_abspath, "A", pool),
pool, pool));
SVN_TEST_ASSERT(kind == svn_wc__db_kind_file);
- SVN_TEST_ASSERT(repos_relpath == NULL);
- SVN_TEST_ASSERT(repos_root_url == NULL);
- SVN_TEST_ASSERT(repos_uuid == NULL);
SVN_TEST_STRING_ASSERT(MD5_1, svn_checksum_to_cstring(checksum, pool));
SVN_TEST_ASSERT(translated_size == 10);
-
- /* Grab the inherited info. */
- SVN_ERR(svn_wc__db_scan_base_repos(
- &repos_relpath, &repos_root_url, &repos_uuid,
- db, svn_dirent_join(local_abspath, "A", pool),
- pool, pool));
SVN_TEST_STRING_ASSERT(repos_relpath, "A");
SVN_TEST_STRING_ASSERT(repos_root_url, ROOT_ONE);
SVN_TEST_STRING_ASSERT(repos_uuid, UUID_ONE);
@@ -665,9 +428,9 @@ test_getting_info(apr_pool_t *pool)
SVN_TEST_ASSERT(kind == svn_wc__db_kind_symlink);
SVN_TEST_ASSERT(status == svn_wc__db_status_excluded);
SVN_TEST_ASSERT(!SVN_IS_VALID_REVNUM(revision));
- SVN_TEST_ASSERT(repos_relpath == NULL);
- SVN_TEST_ASSERT(repos_root_url == NULL);
- SVN_TEST_ASSERT(repos_uuid == NULL);
+ SVN_TEST_STRING_ASSERT(repos_relpath, "B");
+ SVN_TEST_STRING_ASSERT(repos_root_url, ROOT_ONE);
+ SVN_TEST_STRING_ASSERT(repos_uuid, UUID_ONE);
SVN_TEST_ASSERT(!SVN_IS_VALID_REVNUM(changed_rev));
SVN_TEST_ASSERT(changed_date == 0);
SVN_TEST_ASSERT(changed_author == NULL);
@@ -808,38 +571,41 @@ validate_node(svn_wc__db_t *db,
}
value = apr_hash_get(props, "p1", APR_HASH_KEY_STRING);
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, "v1") == 0);
+ SVN_TEST_STRING_ASSERT(value->data, "v1");
SVN_ERR(svn_wc__db_base_get_prop(&value, db, path, "p1",
scratch_pool, scratch_pool));
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, "v1") == 0);
+ SVN_TEST_STRING_ASSERT(value->data, "v1");
value = apr_hash_get(props, "for-file", APR_HASH_KEY_STRING);
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, relpath) == 0);
+ SVN_TEST_STRING_ASSERT(value->data, relpath);
SVN_ERR(svn_wc__db_base_get_prop(&value, db, path, "for-file",
scratch_pool, scratch_pool));
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, relpath) == 0);
+ SVN_TEST_STRING_ASSERT(value->data, relpath);
SVN_ERR(svn_wc__db_read_props(&props, db, path,
scratch_pool, scratch_pool));
SVN_TEST_ASSERT(props != NULL);
value = apr_hash_get(props, "p1", APR_HASH_KEY_STRING);
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, "v1") == 0);
+ SVN_TEST_STRING_ASSERT(value->data, "v1");
SVN_ERR(svn_wc__db_read_pristine_props(&props, db, path,
scratch_pool, scratch_pool));
SVN_TEST_ASSERT(props != NULL);
value = apr_hash_get(props, "p1", APR_HASH_KEY_STRING);
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, "v1") == 0);
+ SVN_TEST_STRING_ASSERT(value->data, "v1");
/* Now add a property value and read it back (all on actual) */
- apr_hash_set(props, "p999", APR_HASH_KEY_STRING, value);
-
- SVN_ERR(svn_wc__db_op_set_props(db, path, props, NULL, NULL, scratch_pool));
- SVN_ERR(svn_wc__db_read_props(&props, db, path,
- scratch_pool, scratch_pool));
- SVN_TEST_ASSERT(props != NULL);
- value = apr_hash_get(props, "p999", APR_HASH_KEY_STRING);
- SVN_TEST_ASSERT(value != NULL && strcmp(value->data, "v1") == 0);
+ {
+ apr_hash_t *actual_props = apr_hash_copy(scratch_pool, props);
+ apr_hash_set(actual_props, "p999", APR_HASH_KEY_STRING, value);
+ SVN_ERR(svn_wc__db_op_set_props(db, path, actual_props,
+ NULL, NULL, scratch_pool));
+ SVN_ERR(svn_wc__db_read_props(&props, db, path,
+ scratch_pool, scratch_pool));
+ SVN_TEST_ASSERT(props != NULL);
+ value = apr_hash_get(props, "p999", APR_HASH_KEY_STRING);
+ SVN_TEST_STRING_ASSERT(value->data, "v1");
+ }
return SVN_NO_ERROR;
}
@@ -915,10 +681,10 @@ test_inserting_nodes(apr_pool_t *pool)
pool));
/* Create a new not-present symlink node. */
- SVN_ERR(svn_wc__db_base_add_absent_node(
+ SVN_ERR(svn_wc__db_base_add_not_present_node(
db, svn_dirent_join(local_abspath, "Q", pool),
"Q", ROOT_ONE, UUID_ONE, 3,
- svn_wc__db_kind_symlink, svn_wc__db_status_not_present,
+ svn_wc__db_kind_symlink,
NULL, NULL,
pool));
@@ -1500,14 +1266,27 @@ test_global_relocate(apr_pool_t *pool)
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL,
- db, svn_dirent_join(local_abspath, "G",
+ db, svn_dirent_join(local_abspath, "F",
pool),
pool, pool));
- SVN_TEST_STRING_ASSERT(repos_relpath, "G-alt");
+ SVN_TEST_STRING_ASSERT(repos_relpath, "F");
SVN_TEST_STRING_ASSERT(repos_root_url, ROOT_THREE);
- /* The UUID should still be the same. */
SVN_TEST_STRING_ASSERT(repos_uuid, UUID_ONE);
+ /* Alternate repository is not relocated. */
+ SVN_ERR(svn_wc__db_read_info(NULL, NULL, NULL,
+ &repos_relpath, &repos_root_url, &repos_uuid,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL,
+ db, svn_dirent_join(local_abspath, "G",
+ pool),
+ pool, pool));
+ SVN_TEST_STRING_ASSERT(repos_relpath, "G-alt");
+ SVN_TEST_STRING_ASSERT(repos_root_url, ROOT_TWO);
+ SVN_TEST_STRING_ASSERT(repos_uuid, UUID_TWO);
+
return SVN_NO_ERROR;
}
Modified: subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/entries-compat.c
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/entries-compat.c?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/entries-compat.c (original)
+++ subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/entries-compat.c Thu Nov 4 20:48:21 2010
@@ -75,7 +75,7 @@
#define MD5_1 "2d18c5e57e84c5b8a5e9a6e13fa394dc"
#define MD5_2 "5d41402abc4b2a76b9719d911017c592"
-#define I_TC_DATA "((conflict F file update edited deleted (version 23 " ROOT_ONE " 1 2 branch1/ft/F none) (version 23 " ROOT_ONE " 1 3 branch1/ft/F file)) (conflict G file update edited deleted (version 23 " ROOT_ONE " 1 2 branch1/ft/F none) (version 23 " ROOT_ONE " 1 3 branch1/ft/F file)) )"
+#define I_TC_DATA "((conflict F file update edited deleted (version 22 " ROOT_ONE " 1 2 branch1/ft/F none) (version 22 " ROOT_ONE " 1 3 branch1/ft/F file)) (conflict G file update edited deleted (version 22 " ROOT_ONE " 1 2 branch1/ft/F none) (version 22 " ROOT_ONE " 1 3 branch1/ft/F file)) )"
static const char * const TESTING_DATA = (
/* Load our test data.
@@ -87,316 +87,191 @@ static const char * const TESTING_DATA =
"insert into repository values (2, '" ROOT_TWO "', '" UUID_TWO "'); "
"insert into wcroot values (1, null); "
- /* ### The file_externals column in BASE_NODE is temporary, and will be
+ /* ### The file_externals column in NODES is temporary, and will be
### removed. However, to keep the tests passing, we need to add it
### to the following insert statements. *Be sure to remove it*. */
-#ifndef SVN_WC__NODES_ONLY
- "insert into base_node values ("
- " 1, '', 1, '', null, 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', 'infinity', null, null, '()', null, 0, "
- " null); "
- "insert into base_node values ("
- " 1, 'A', null, null, '', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 10, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'B', null, null, '', 'excluded', 'symlink', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'C', null, null, '', 'absent', 'unknown', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'D', null, null, '', 'not-present', 'unknown', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'E', null, null, '', 'incomplete', 'unknown', "
- " null, null, null, "
- " null, null, null, null, null, null, null, null, null, null); "
- "insert into base_node values ("
- " 1, 'F', null, null, '', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'G', 2, 'G-alt', '', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 15, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'H', null, null, '', 'normal', 'symlink', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, 'H-target', null, '()', null, "
- " null, null); "
- "insert into base_node values ("
- " 1, 'I', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e', null, null, 'J', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e/J-e-a', null, null, 'J/J-e', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e/J-e-b', null, null, 'J/J-e', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-e/J-e-b/Jeba', null, null, 'J/J-e/J-e-b', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-f', null, null, 'J', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'J/J-f/J-f-a', null, null, 'J/J-f', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'K', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'K/K-a', null, null, 'K', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into base_node values ("
- " 1, 'K/K-b', null, null, 'K', 'normal', 'file', "
- " 1, '$md5 $" MD5_1 "', 15, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- " "
-#endif
-#ifdef SVN_WC__NODES
+
/* load the base nodes into the nodes table */
"insert into nodes values ("
- " 1, '', 0, null, 1, '', 1, 'normal', 'infinity',"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'A', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 10, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'B', 0, '', null, null, null, 'excluded', null,"
- " null, null, 'symlink', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'C', 0, '', null, null, null, 'absent', null,"
- " null, null, 'unknown', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'D', 0, '', null, null, null, 'not-present', null,"
- " null, null, 'unknown', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'E', 0, '', null, null, null, 'incomplete', null,"
- " null, null, 'unknown', null, null, null, null,"
- " null, null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'F', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'G', 0, '', 2, 'G-alt', 1, 'normal', null,"
- " null, null, 'file', 2, " TIME_2s ", '" AUTHOR_2 "', '$md5 $" MD5_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'H', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'symlink', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, 'H-target', null);"
- "insert into nodes values ("
- " 1, 'I', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e', 0, 'J', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-a', 0, 'J/J-e', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-b', 0, 'J/J-e', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-e/J-e-b/Jeba', 0, 'J/J-e/J-e-b', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-f', 0, 'J', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'J/J-f/J-f-a', 0, 'J/J-f', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K', 0, '', null, null, 1, 'normal', null,"
- " null, null, 'dir', 1, " TIME_1s ", '" AUTHOR_1 "', null,"
- " '()', null, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K/K-a', 0, 'K', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 15, null, null, null, null);"
- "insert into nodes values ("
- " 1, 'K/K-b', 0, 'K', null, null, 1, 'normal', null,"
- " null, null, 'file', 1, " TIME_1s ", '" AUTHOR_1 "', '$md5 $" MD5_1 "',"
- " '()', 15, null, null, null, null);"
+ " 1, '', 0, null, 1, '', 1, 'normal',"
+ " null, null, 'dir', '()', 'infinity', null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'A', 0, '', 1, 'A', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 10, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'B', 0, '', 1, 'B', null, 'excluded',"
+ " null, null, 'symlink', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'C', 0, '', 1, 'C', null, 'absent',"
+ " null, null, 'unknown', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'D', 0, '', 1, 'D', null, 'not-present',"
+ " null, null, 'unknown', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'E', 0, '', 1, 'E', null, 'incomplete',"
+ " null, null, 'unknown', null, null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'F', 0, '', 1, 'F', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'G', 0, '', 2, 'G-alt', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'H', 0, '', 1, 'H', 1, 'normal',"
+ " null, null, 'symlink', '()', null, null, 'H-target', 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'I', 0, '', 1, 'I', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J', 0, '', 1, 'J', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e', 0, 'J', 1, 'J/J-e', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-a', 0, 'J/J-e', 1, 'J/J-e/J-e-a', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-b', 0, 'J/J-e', 1, 'J/J-e/J-e-b', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-b/Jeba', 0, 'J/J-e/J-e-b', 1, 'J/J-e/J-e-b/Jeba', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-f', 0, 'J', 1, 'J/J-f', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-f/J-f-a', 0, 'J/J-f', 1, 'J/J-f/J-f-a', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K', 0, '', 1, 'K', 1, 'normal',"
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-a', 0, 'K', 1, 'K/K-a', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-b', 0, 'K', 1, 'K/K-b', 1, 'normal',"
+ " null, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " 15, null, null, null);"
""
-#endif
-#ifndef SVN_WC__NODES_ONLY
- "insert into working_node values ("
- " 1, 'I', '', 'normal', 'dir', "
- " null, null, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', 'immediates', null, "
- " 2, 'some/dir', 2, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J', '', 'normal', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-a', 'J', 'normal', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-b', 'J', 'normal', 'dir', "
- " null, null, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', 'infinity', null, "
- " 2, 'some/dir', 2, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-b/J-b-a', 'J/J-b', 'normal', 'dir', "
- " null, null, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', 'infinity', null, "
- " 2, 'another/dir', 2, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-b/J-b-b', 'J/J-b', 'normal', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-c', 'J', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-c/J-c-a', 'J/J-c', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-d', 'J', 'normal', 'file', "
- " '$md5 $" MD5_1 "', 10, "
- " 2, " TIME_2s ", '" AUTHOR_2 "', null, null, "
- " 2, 'moved/file', 2, 1, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e', 'J', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, 'other/place', null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e/J-e-a', 'J/J-e', 'not-present', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e/J-e-b', 'J/J-e', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-e/J-e-b/Jeba', 'J/J-e/J-e-b', 'base-deleted', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-f', 'J', 'normal', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'J/J-f/J-f-a', 'J/J-f', 'base-deleted', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'K', '', 'base-deleted', 'dir', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'K/K-a', 'K', 'base-deleted', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'K/K-b', 'K', 'base-deleted', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, 'moved/away', null, '()', 0); "
- "insert into working_node values ("
- " 1, 'L', '', 'normal', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'L/L-a', 'L', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- "insert into working_node values ("
- " 1, 'L/L-a/L-a-a', 'L', 'not-present', 'dir', "
- " null, null, "
- " null, null, null, 'immediates', null, "
- " null, null, null, 0, null, null, '()', 0); "
- " "
-#endif
-#ifdef SVN_WC__NODES
-#endif
+ /* Load data into NODES table;
+ ### op_depths have not been calculated by me yet;
+ the value 1 is just 'good enough' to make the nodes WORKING nodes. */
+ "insert into nodes values ("
+ " 1, 'I', 1, '', 2, 'some/dir', 2, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J', 1, '', null, null, null, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-a', 1, 'J', null, null, null, 'normal',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-b', 1, 'J', 2, 'some/dir', 2, 'normal',"
+ " 0, null, 'dir', '()', 'infinity', null, null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-b/J-b-a', 1, 'J/J-b', 2, 'another/dir', 2, 'normal',"
+ " 0, null, 'dir', '()', 'infinity', null, null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-b/J-b-b', 1, 'J/J-b', null, null, null, 'normal',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-c', 1, 'J', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-c/J-c-a', 1, 'J/J-c', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-d', 1, 'J', 2, 'moved/file', 2, 'normal',"
+ " 1, null, 'file', '()', null, '$md5 $" MD5_1 "', null, 2, " TIME_2s ", '" AUTHOR_2 "',"
+ " 10, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e', 1, 'J', null, null, null, 'not-present',"
+ " 0, 'other/place', 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-a', 1, 'J/J-e', null, null, null, 'not-present',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-b', 1, 'J/J-e', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-e/J-e-b/Jeba', 1, 'J/J-e/J-e-b', null, null, null, 'base-deleted',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-f', 1, 'J', null, null, null, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'J/J-f/J-f-a', 1, 'J/J-f', null, null, null, 'base-deleted',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K', 1, '', null, null, null, 'base-deleted',"
+ " 0, null, 'dir', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-a', 1, 'K', null, null, null, 'base-deleted',"
+ " 0, null, 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'K/K-b', 1, 'K', null, null, null, 'base-deleted',"
+ " 0, 'moved/away', 'file', '()', null, null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'L', 1, '', null, null, null, 'normal',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'L/L-a', 1, 'L', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'L/L-a/L-a-a', 1, 'L', null, null, null, 'not-present',"
+ " 0, null, 'dir', '()', 'immediates', null, null, null, null, null,"
+ " null, null, null, null);"
"insert into actual_node values ("
" 1, 'I', '', null, null, null, null, null, 'changelist', null, "
"'" I_TC_DATA "', null, null, null, null);"
" "
- "insert into base_node values ("
- " 1, 'M', null, null, '', 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', null, null, null, '()', null, null, "
- " null); "
- "insert into working_node values ("
- " 1, 'M/M-a', 'M', 'not-present', 'file', "
- " null, null, "
- " null, null, null, null, null, "
- " null, null, null, 0, null, null, '()', 0); "
+ "insert into nodes values ("
+ " 1, 'M', 0, '', 1, 'M', 1, 'normal', "
+ " null, null, 'dir', '()', null, null, null, 1, " TIME_1s ", '" AUTHOR_1 "', "
+ " null, null, null, null);"
+ "insert into nodes values ("
+ " 1, 'M/M-a', 0, 'M', 1, 'M/M-a', 1, 'not-present', "
+ " null, null, 'file', '()', null, null, null, 1, null, null, "
+ " null, null, null, null);"
);
@@ -410,11 +285,10 @@ static const char * const M_TESTING_DATA
"insert into repository values (2, '" ROOT_TWO "', '" UUID_TWO "'); "
"insert into wcroot values (1, null); "
- "insert into base_node values ("
- " 1, '', 1, 'M', null, 'normal', 'dir', "
- " 1, null, null, "
- " 1, " TIME_1s ", '" AUTHOR_1 "', 'infinity', null, null, '()', null, 0, "
- " null); "
+ "insert into nodes values ("
+ " 1, '', 0, null, 1, 'M', 1, 'normal',"
+ " null, null, 'dir', '()', 'infinity', null, null, 1, " TIME_1s ", '" AUTHOR_1 "',"
+ " null, null, null, null);"
);
WC_QUERIES_SQL_DECLARE_STATEMENTS(statements);
@@ -452,17 +326,13 @@ create_fake_wc(const char *subdir, int f
const char *dirpath;
const char * const my_statements[] = {
statements[STMT_CREATE_SCHEMA],
-#ifdef SVN_WC__NODES
statements[STMT_CREATE_NODES],
-#endif
TESTING_DATA,
NULL
};
const char * const M_statements[] = {
statements[STMT_CREATE_SCHEMA],
-#ifdef SVN_WC__NODES
statements[STMT_CREATE_NODES],
-#endif
M_TESTING_DATA,
NULL
};
@@ -661,7 +531,7 @@ test_access_baton_like_locking(apr_pool_
SVN_INVALID_REVNUM, NULL, NULL, NULL, NULL, pool));
SVN_ERR(svn_wc_locked(&locked, D3, pool));
SVN_TEST_ASSERT(locked);
- SVN_ERR(svn_wc_revert3(D, adm_access, -1, FALSE,
+ SVN_ERR(svn_wc_revert3(D, adm_access, svn_depth_infinity, FALSE,
NULL, NULL, NULL, NULL, NULL, pool));
SVN_ERR(svn_wc_locked(&locked, D3, pool));
SVN_TEST_ASSERT(!locked);
Modified: subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/pristine-store-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/pristine-store-test.c?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/pristine-store-test.c (original)
+++ subversion/branches/py-tests-as-modules/subversion/tests/libsvn_wc/pristine-store-test.c Thu Nov 4 20:48:21 2010
@@ -40,6 +40,8 @@
#include "svn_wc.h"
#include "svn_client.h"
+#include "utils.h"
+
#include "../../libsvn_wc/wc.h"
#include "../../libsvn_wc/wc_db.h"
#include "../../libsvn_wc/wc-queries.h"
@@ -48,18 +50,9 @@
#include "private/svn_wc_private.h"
#include "../svn_test.h"
-#include "../svn_test_fs.h"
-
-#define REPOSITORIES_WORK_DIR "svn-test-work/repositories"
-#define WCS_WORK_DIR "svn-test-work/working-copies"
-/* Create an empty repository and WC for the test TEST_NAME, and open a WC
- * DB context. Set *REPOS_URL to the URL of the new repository, *WC_ABSPATH
- * to the root path of the new WC, and *DB to a new DB context.
- *
- * Create the repository and WC in subdirectories called repos/TEST_NAME and
- * wcs/TEST_NAME respectively, within the current working directory. */
+/* Create repos and WC, and also set *DB to a new DB context. */
static svn_error_t *
create_repos_and_wc(const char **repos_url,
const char **wc_abspath,
@@ -68,41 +61,8 @@ create_repos_and_wc(const char **repos_u
const svn_test_opts_t *opts,
apr_pool_t *pool)
{
- const char *repos_path = svn_relpath_join(REPOSITORIES_WORK_DIR, test_name,
- pool);
- const char *wc_path = svn_relpath_join(WCS_WORK_DIR, test_name, pool);
-
- /* Remove the repo and WC dirs if they already exist, to ensure the test
- * will run even if a previous failed attempt was not cleaned up. */
- SVN_ERR(svn_io_remove_dir2(repos_path, TRUE, NULL, NULL, pool));
- SVN_ERR(svn_io_remove_dir2(wc_path, TRUE, NULL, NULL, pool));
-
- /* Create the parent dirs of the repo and WC if necessary. */
- SVN_ERR(svn_io_make_dir_recursively(REPOSITORIES_WORK_DIR, pool));
- SVN_ERR(svn_io_make_dir_recursively(WCS_WORK_DIR, pool));
-
- /* Create a repos and set *REPOS_URL to its path. */
- {
- svn_repos_t *repos;
-
- SVN_ERR(svn_test__create_repos(&repos, repos_path, opts, pool));
- SVN_ERR(svn_uri_get_file_url_from_dirent(repos_url, repos_path, pool));
- }
-
- /* Create a WC */
- {
- svn_client_ctx_t *ctx;
- svn_opt_revision_t head_rev = { svn_opt_revision_head, {0} };
-
- SVN_ERR(svn_client_create_context(&ctx, pool));
- /* SVN_ERR(svn_config_get_config(&ctx->config, config_dir, pool)); */
- SVN_ERR(svn_dirent_get_absolute(wc_abspath, wc_path, pool));
- SVN_ERR(svn_client_checkout3(NULL, *repos_url, *wc_abspath,
- &head_rev, &head_rev, svn_depth_infinity,
- FALSE /* ignore_externals */,
- FALSE /* allow_unver_obstructions */,
- ctx, pool));
- }
+ SVN_ERR(svn_test__create_repos_and_wc(repos_url, wc_abspath, test_name,
+ opts, pool));
/* Open a DB context */
SVN_ERR(svn_wc__db_open(db, svn_wc__db_openmode_readonly, NULL,
@@ -256,9 +216,7 @@ pristine_get_translated(const svn_test_o
SVN_ERR(svn_wc__db_wclock_obtain(wc_ctx->db, dirname, 0, FALSE, pool));
- SVN_ERR(svn_wc_add4(wc_ctx, versioned_abspath, svn_depth_empty,
- NULL, SVN_INVALID_REVNUM, NULL, NULL, NULL, NULL,
- pool));
+ SVN_ERR(svn_wc_add_from_disk(wc_ctx, versioned_abspath, NULL, NULL, pool));
SVN_ERR(svn_wc_prop_set4(wc_ctx, versioned_abspath,
"svn:keywords", svn_string_create("Rev", pool),
FALSE, NULL, NULL, pool));
Modified: subversion/branches/py-tests-as-modules/subversion/tests/svn_test_main.c
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/tests/svn_test_main.c?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/tests/svn_test_main.c (original)
+++ subversion/branches/py-tests-as-modules/subversion/tests/svn_test_main.c Thu Nov 4 20:48:21 2010
@@ -191,9 +191,12 @@ do_test_num(const char *progname,
svn_boolean_t test_failed;
const char *msg = NULL; /* the message this individual test prints out */
const struct svn_test_descriptor_t *desc;
+ const int array_size = get_array_size();
/* Check our array bounds! */
- if ((test_num > get_array_size()) || (test_num <= 0))
+ if (test_num < 0)
+ test_num += array_size + 1;
+ if ((test_num > array_size) || (test_num <= 0))
{
printf("FAIL: %s: THERE IS NO TEST NUMBER %2d\n", progname, test_num);
skip_cleanup = TRUE;
@@ -279,7 +282,6 @@ int
main(int argc, const char *argv[])
{
const char *prog_name;
- int test_num;
int i;
svn_boolean_t got_error = FALSE;
apr_pool_t *pool, *test_pool;
@@ -425,10 +427,14 @@ main(int argc, const char *argv[])
{
for (i = 1; i < argc; i++)
{
- if (svn_ctype_isdigit(argv[i][0]))
+ if (svn_ctype_isdigit(argv[i][0]) || argv[i][0] == '-')
{
+ int test_num = atoi(argv[i]);
+ if (test_num == 0)
+ /* A --option argument, most likely. */
+ continue;
+
ran_a_test = TRUE;
- test_num = atoi(argv[i]);
if (do_test_num(prog_name, test_num, FALSE, &opts, test_pool))
got_error = TRUE;
@@ -458,6 +464,5 @@ main(int argc, const char *argv[])
svn_pool_destroy(pool); /* takes test_pool with it */
apr_terminate();
- exit(got_error);
return got_error;
}
Modified: subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc-test.py
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc-test.py?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc-test.py (original)
+++ subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc-test.py Thu Nov 4 20:48:21 2010
@@ -34,6 +34,10 @@ this_dir = os.path.dirname(os.path.abspa
sys.path.insert(0, '%s/../../../subversion/tests/cmdline' % (this_dir))
import svntest
+# setup the global 'svntest.main.options' object so functions in the
+# module don't freak out.
+svntest.main._parse_options(arglist=[])
+
# calculate the top of the build tree
if len(sys.argv) > 1:
build_top = os.path.abspath(sys.argv[1])
@@ -275,6 +279,20 @@ def main():
run_svnmucc(['M /foo/bar'], #---------
'propdel', 'testprop', 'foo/bar')
+ # revision 18
+ run_svnmucc(['M /foo/z.c',
+ 'M /foo/foo',
+ ], #---------
+ 'propset', 'testprop', 'true', 'foo/z.c',
+ 'propset', 'testprop', 'true', 'foo/foo')
+
+ # revision 19
+ run_svnmucc(['M /foo/z.c',
+ 'M /foo/foo',
+ ], #---------
+ 'propsetf', 'testprop', sys.argv[0], 'foo/z.c',
+ 'propsetf', 'testprop', sys.argv[0], 'foo/foo')
+
# Expected missing revision error
xrun_svnmucc(['svnmucc: \'a\' is not a revision'
], #---------
Modified: subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc.c
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc.c?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc.c (original)
+++ subversion/branches/py-tests-as-modules/tools/client-side/svnmucc/svnmucc.c Thu Nov 4 20:48:21 2010
@@ -141,6 +141,7 @@ typedef enum {
ACTION_MKDIR,
ACTION_CP,
ACTION_PROPSET,
+ ACTION_PROPSETF,
ACTION_PROPDEL,
ACTION_PUT,
ACTION_RM
@@ -161,41 +162,60 @@ struct operation {
const char *url; /* to copy, valid for add and replace */
const char *src_file; /* for put, the source file for contents */
apr_hash_t *children; /* const char *path -> struct operation * */
- apr_table_t *props; /* const char *prop_name -> const char *prop_value */
+ apr_hash_t *prop_mods; /* const char *prop_name ->
+ const svn_string_t *prop_value */
+ apr_array_header_t *prop_dels; /* const char *prop_name deletions */
void *baton; /* as returned by the commit editor */
};
-/* State to be passed to set_props iterator */
-struct driver_state {
- const svn_delta_editor_t *editor;
- svn_node_kind_t kind;
- apr_pool_t *pool;
- void *baton;
- svn_error_t* err;
-};
-
-
/* An iterator (for use via apr_table_do) which sets node properties.
REC is a pointer to a struct driver_state. */
-static int
-set_props(void *rec, const char *key, const char *value)
+static svn_error_t *
+change_props(const svn_delta_editor_t *editor,
+ void *baton,
+ struct operation *child,
+ apr_pool_t *pool)
{
- struct driver_state *d_state = (struct driver_state*)rec;
- svn_string_t *value_svnstring
- = value ? svn_string_create(value, d_state->pool) : NULL;
-
- if (d_state->kind == svn_node_dir)
- d_state->err = d_state->editor->change_dir_prop(d_state->baton, key,
- value_svnstring,
- d_state->pool);
- else
- d_state->err = d_state->editor->change_file_prop(d_state->baton, key,
- value_svnstring,
- d_state->pool);
- if (d_state->err)
- return 0;
- return 1;
+ apr_pool_t *iterpool = svn_pool_create(pool);
+
+ if (child->prop_dels)
+ {
+ int i;
+ for (i = 0; i < child->prop_dels->nelts; i++)
+ {
+ const char *prop_name;
+
+ svn_pool_clear(iterpool);
+ prop_name = APR_ARRAY_IDX(child->prop_dels, i, const char *);
+ if (child->kind == svn_node_dir)
+ SVN_ERR(editor->change_dir_prop(baton, prop_name,
+ NULL, iterpool));
+ else
+ SVN_ERR(editor->change_file_prop(baton, prop_name,
+ NULL, iterpool));
+ }
+ }
+ if (apr_hash_count(child->prop_mods))
+ {
+ apr_hash_index_t *hi;
+ for (hi = apr_hash_first(pool, child->prop_mods);
+ hi; hi = apr_hash_next(hi))
+ {
+ const void *key;
+ void *val;
+
+ svn_pool_clear(iterpool);
+ apr_hash_this(hi, &key, NULL, &val);
+ if (child->kind == svn_node_dir)
+ SVN_ERR(editor->change_dir_prop(baton, key, val, iterpool));
+ else
+ SVN_ERR(editor->change_file_prop(baton, key, val, iterpool));
+ }
+ }
+
+ svn_pool_destroy(iterpool);
+ return SVN_NO_ERROR;
}
@@ -209,7 +229,7 @@ drive(struct operation *operation,
{
apr_pool_t *subpool = svn_pool_create(pool);
apr_hash_index_t *hi;
- struct driver_state state;
+
for (hi = apr_hash_first(pool, operation->children);
hi; hi = apr_hash_next(hi))
{
@@ -228,7 +248,7 @@ drive(struct operation *operation,
SVN_ERR(editor->delete_entry(key, head, operation->baton, subpool));
}
/* Opens could be for directories or files. */
- if (child->operation == OP_OPEN)
+ if (child->operation == OP_OPEN || child->operation == OP_PROPSET)
{
if (child->kind == svn_node_dir)
{
@@ -242,8 +262,7 @@ drive(struct operation *operation,
}
}
/* Adds and replacements could also be for directories or files. */
- if (child->operation == OP_ADD || child->operation == OP_REPLACE
- || child->operation == OP_PROPSET)
+ if (child->operation == OP_ADD || child->operation == OP_REPLACE)
{
if (child->kind == svn_node_dir)
{
@@ -288,15 +307,9 @@ drive(struct operation *operation,
then close it. */
if (file_baton)
{
- if ((child->kind == svn_node_file)
- && (! apr_is_empty_table(child->props)))
+ if (child->kind == svn_node_file)
{
- state.baton = file_baton;
- state.pool = subpool;
- state.editor = editor;
- state.kind = child->kind;
- if (! apr_table_do(set_props, &state, child->props, NULL))
- SVN_ERR(state.err);
+ SVN_ERR(change_props(editor, file_baton, child, subpool));
}
SVN_ERR(editor->close_file(file_baton, NULL, subpool));
}
@@ -308,15 +321,9 @@ drive(struct operation *operation,
|| child->operation == OP_REPLACE))
{
SVN_ERR(drive(child, head, editor, subpool));
- if ((child->kind == svn_node_dir)
- && (! apr_is_empty_table(child->props)))
+ if (child->kind == svn_node_dir)
{
- state.baton = child->baton;
- state.pool = subpool;
- state.editor = editor;
- state.kind = child->kind;
- if (! apr_table_do(set_props, &state, child->props, NULL))
- SVN_ERR(state.err);
+ SVN_ERR(change_props(editor, child->baton, child, subpool));
}
SVN_ERR(editor->close_directory(child->baton, subpool));
}
@@ -344,7 +351,8 @@ get_operation(const char *path,
child->operation = OP_OPEN;
child->rev = SVN_INVALID_REVNUM;
child->kind = svn_node_dir;
- child->props = apr_table_make(pool, 0);
+ child->prop_mods = apr_hash_make(pool);
+ child->prop_dels = apr_array_make(pool, 1, sizeof(const char *));
apr_hash_set(operation->children, path, APR_HASH_KEY_STRING, child);
}
return child;
@@ -383,7 +391,7 @@ build(action_code_t action,
const char *url,
svn_revnum_t rev,
const char *prop_name,
- const char *prop_value,
+ const svn_string_t *prop_value,
const char *src_file,
svn_revnum_t head,
const char *anchor,
@@ -434,17 +442,26 @@ build(action_code_t action,
return svn_error_createf(SVN_ERR_BAD_URL, NULL,
"cannot set properties on a location being"
" deleted ('%s')", path);
- SVN_ERR(svn_ra_check_path(session,
- copy_src ? copy_src : path,
- copy_src ? copy_rev : head,
- &operation->kind, pool));
- if (operation->kind == svn_node_none)
- return svn_error_createf(SVN_ERR_BAD_URL, NULL,
- "propset: '%s' not found", path);
- else if ((operation->kind == svn_node_file)
- && (operation->operation == OP_OPEN))
- operation->operation = OP_PROPSET;
- apr_table_set(operation->props, prop_name, prop_value);
+ /* If we're not adding this thing ourselves, check for existence. */
+ if (! ((operation->operation == OP_ADD) ||
+ (operation->operation == OP_REPLACE)))
+ {
+ SVN_ERR(svn_ra_check_path(session,
+ copy_src ? copy_src : path,
+ copy_src ? copy_rev : head,
+ &operation->kind, pool));
+ if (operation->kind == svn_node_none)
+ return svn_error_createf(SVN_ERR_BAD_URL, NULL,
+ "propset: '%s' not found", path);
+ else if ((operation->kind == svn_node_file)
+ && (operation->operation == OP_OPEN))
+ operation->operation = OP_PROPSET;
+ }
+ if (! prop_value)
+ APR_ARRAY_PUSH(operation->prop_dels, const char *) = prop_name;
+ else
+ apr_hash_set(operation->prop_mods, prop_name,
+ APR_HASH_KEY_STRING, prop_value);
if (!operation->rev)
operation->rev = rev;
return SVN_NO_ERROR;
@@ -587,7 +604,7 @@ struct action {
/* property name/value */
const char *prop_name;
- const char *prop_value;
+ const svn_string_t *prop_value;
};
static svn_error_t *
@@ -680,6 +697,9 @@ execute(const apr_array_header_t *action
action->prop_name, action->prop_value,
NULL, head, anchor, session, &root, pool));
break;
+ case ACTION_PROPSETF:
+ default:
+ SVN_ERR_MALFUNCTION_NO_RETURN();
}
}
@@ -696,6 +716,23 @@ execute(const apr_array_header_t *action
return err;
}
+static svn_error_t *
+read_propvalue_file(const svn_string_t **value_p,
+ const char *filename,
+ apr_pool_t *pool)
+{
+ svn_stringbuf_t *value;
+ apr_pool_t *scratch_pool = svn_pool_create(pool);
+ apr_file_t *f;
+
+ SVN_ERR(svn_io_file_open(&f, filename, APR_READ | APR_BINARY | APR_BUFFERED,
+ APR_OS_DEFAULT, scratch_pool));
+ SVN_ERR(svn_stringbuf_from_aprfile(&value, f, scratch_pool));
+ *value_p = svn_string_create_from_buf(value, pool);
+ svn_pool_destroy(scratch_pool);
+ return SVN_NO_ERROR;
+}
+
static void
usage(apr_pool_t *pool, int exit_val)
{
@@ -711,6 +748,7 @@ usage(apr_pool_t *pool, int exit_val)
" put SRC-FILE URL add or modify file URL with contents copied from\n"
" SRC-FILE (use \"-\" to read from standard input)\n"
" propset NAME VAL URL set property NAME on URL to value VAL\n"
+ " propsetf NAME VAL URL set property NAME on URL to value from file VAL\n"
" propdel NAME URL delete property NAME from URL\n"
"\nOptions:\n"
" -h, --help display this text\n"
@@ -907,6 +945,8 @@ main(int argc, const char **argv)
action->action = ACTION_PUT;
else if (! strcmp(action_string, "propset"))
action->action = ACTION_PROPSET;
+ else if (! strcmp(action_string, "propsetf"))
+ action->action = ACTION_PROPSETF;
else if (! strcmp(action_string, "propdel"))
action->action = ACTION_PROPDEL;
else
@@ -952,9 +992,10 @@ main(int argc, const char **argv)
insufficient(pool);
}
- /* For propset and propdel, a property name (and maybe value)
- comes next. */
+ /* For propset, propsetf, and propdel, a property name (and
+ maybe a property value or file which contains one) comes next. */
if ((action->action == ACTION_PROPSET)
+ || (action->action == ACTION_PROPSETF)
|| (action->action == ACTION_PROPDEL))
{
action->prop_name = APR_ARRAY_IDX(action_args, i, const char *);
@@ -965,11 +1006,28 @@ main(int argc, const char **argv)
{
action->prop_value = NULL;
}
+ else if (action->action == ACTION_PROPSET)
+ {
+ action->prop_value =
+ svn_string_create(APR_ARRAY_IDX(action_args, i,
+ const char *), pool);
+ if (++i == action_args->nelts)
+ insufficient(pool);
+ }
else
{
- action->prop_value = APR_ARRAY_IDX(action_args, i, const char *);
+ const char *propval_file =
+ svn_path_canonicalize(APR_ARRAY_IDX(action_args, i,
+ const char *), pool);
+
if (++i == action_args->nelts)
insufficient(pool);
+
+ err = read_propvalue_file(&(action->prop_value), propval_file, pool);
+ if (err)
+ handle_error(err, pool);
+
+ action->action = ACTION_PROPSET;
}
}
@@ -978,6 +1036,7 @@ main(int argc, const char **argv)
|| action->action == ACTION_MKDIR
|| action->action == ACTION_PUT
|| action->action == ACTION_PROPSET
+ || action->action == ACTION_PROPSETF /* shouldn't see this one */
|| action->action == ACTION_PROPDEL)
num_url_args = 1;
else
@@ -1027,9 +1086,11 @@ main(int argc, const char **argv)
svn_string_create("committed using svnmucc", pool));
}
else
- /* -F or -m specified; use that even if --with-revprop=svn:log. */
- apr_hash_set(revprops, SVN_PROP_REVISION_LOG, APR_HASH_KEY_STRING,
- svn_string_create(message, pool));
+ {
+ /* -F or -m specified; use that even if --with-revprop=svn:log. */
+ apr_hash_set(revprops, SVN_PROP_REVISION_LOG, APR_HASH_KEY_STRING,
+ svn_string_create(message, pool));
+ }
if ((err = execute(actions, anchor, revprops, username, password,
config_dir, non_interactive, base_revision, pool)))
Modified: subversion/branches/py-tests-as-modules/tools/dev/contribulyze.py
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/tools/dev/contribulyze.py?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/tools/dev/contribulyze.py (original)
+++ subversion/branches/py-tests-as-modules/tools/dev/contribulyze.py Thu Nov 4 20:48:21 2010
@@ -28,8 +28,9 @@
#
# Some Subversion project log messages include parseable data to help
# track who's contributing what. The exact syntax is described in
-# hacking.html#crediting, but here's an example, indented by three
-# spaces, i.e., the "Patch by:" starts at the beginning of a line:
+# http://subversion.apache.org/docs/community-guide/conventions.html#crediting,
+# but here's an example, indented by three spaces, i.e., the "Patch by:"
+# starts at the beginning of a line:
#
# Patch by: David Anderson <da...@calixo.net>
# <ju...@erenkrantz.com>
Modified: subversion/branches/py-tests-as-modules/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/tools/dev/unix-build/Makefile.svn?rev=1031230&r1=1031229&r2=1031230&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/py-tests-as-modules/tools/dev/unix-build/Makefile.svn Thu Nov 4 20:48:21 2010
@@ -913,9 +913,11 @@ httpd-conf:
echo " SVNParentPath /tmp" >> $(HTTPD_CHECK_CONF)
echo " Allow from all" >> $(HTTPD_CHECK_CONF)
echo "</Location>" >> $(HTTPD_CHECK_CONF)
+ echo 'RedirectMatch permanent ^/svn-test-work/repositories/REDIRECT-PERM-(.*)$$ /svn-test-work/repositories/$$1' >> $(HTTPD_CHECK_CONF)
+ echo 'RedirectMatch ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)$$ /svn-test-work/repositories/$$1' >> $(HTTPD_CHECK_CONF)
# We need this to make sure some targets below pick up the right libraries
-LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/svn-$(WC)/lib
+LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/cyrus-sasl/lib:$(PREFIX)/iconv/lib:$(PREFIX)/svn-$(WC)/lib
.PHONY: start-svnserve stop-svnserve start-httpd stop-httpd
@@ -948,30 +950,47 @@ start-svnserve: $(SVN_OBJDIR)/.compiled
stop-svnserve:
$(SVNSERVE_STOP_CMD)
+# run tests in parallel
+PARALLEL=PARALLEL=1 CLEANUP=1
+
svn-check-neon: httpd-conf $(SVN_OBJDIR)/.compiled $(SVN_OBJDIR)/.bindings-compiled
$(HTTPD_START_CMD)
cd $(svn_builddir) && make check FS_TYPE=fsfs \
- BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=neon
+ BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=neon \
+ $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_neon-fsfs
cd $(svn_builddir) && make check FS_TYPE=bdb \
- BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=neon
+ BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=neon \
+ $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_neon-bdb
$(HTTPD_STOP_CMD)
svn-check-serf: httpd-conf $(SVN_OBJDIR)/.compiled $(SVN_OBJDIR)/.bindings-compiled
$(HTTPD_START_CMD)
cd $(svn_builddir) && make check FS_TYPE=fsfs \
- BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=serf
+ BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=serf \
+ $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_serf-fsfs
cd $(svn_builddir) && make check FS_TYPE=bdb \
- BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=serf
+ BASE_URL=http://localhost:$(HTTPD_CHECK_PORT) HTTP_LIBRARY=serf \
+ $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_serf-bdb
$(HTTPD_STOP_CMD)
svn-check-local:
- cd $(svn_builddir) && make check FS_TYPE=fsfs
- cd $(svn_builddir) && make check FS_TYPE=bdb
+ cd $(svn_builddir) && make check FS_TYPE=fsfs $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_local-fsfs
+ cd $(svn_builddir) && make check FS_TYPE=bdb $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_local-bdb
svn-check-svn:
$(SVNSERVE_START_CMD)
- cd $(svn_builddir) && make check FS_TYPE=fsfs BASE_URL=svn://127.0.0.1
- cd $(svn_builddir) && make check FS_TYPE=bdb BASE_URL=svn://127.0.0.1
+ cd $(svn_builddir) && make check FS_TYPE=fsfs BASE_URL=svn://127.0.0.1 \
+ $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_svn-fsfs
+ cd $(svn_builddir) && make check FS_TYPE=bdb BASE_URL=svn://127.0.0.1 \
+ $(PARALLEL)
+ ln -f $(svn_builddir)/tests.log $(svn_builddir)/tests.log.ra_svn-bdb
$(SVNSERVE_STOP_CMD)
.PHONY: svn-check-swig-pl svn-check-swig-py svn-check-swig-rb svn-check-javahl
@@ -1000,3 +1019,42 @@ svn-check-javahl:
make check-javahl
svn-check: svn-check-local svn-check-svn svn-check-neon svn-check-serf svn-check-bindings
+
+.PHONY: sign-email
+sign-email:
+ @echo "Summary: +1 to release"
+ @echo ""
+ @echo "Tested: [bdb | fsfs] x [ra_local | ra_svn | ra_neon | ra_serf]"
+ @echo " swig bindings"
+ifeq ($(ENABLE_JAVA_BINDINGS),yes)
+ @echo " javahl bindings"
+endif
+ @echo ""
+ @echo "Test results: All passed."
+ @echo ""
+ @echo "Platform: `uname -r -s -m`"
+ @echo ""
+ @echo "Dependencies:"
+ @echo "bdb: $(BDB_VER)"
+ifeq ($(USE_APR_ICONV),yes)
+ @echo "apr-iconv: $(APR_ICONV_VER)"
+else
+ @echo "GNU-iconv: $(GNU_ICONV_VER)"
+endif
+ @echo "apr: $(APR_VER)"
+ @echo "apr-util: $(APR_UTIL_VER)"
+ @echo "httpd: $(HTTPD_VER)"
+ @echo "neon: $(NEON_VER)"
+ @echo "serf: $(SERF_VER)"
+ @echo "cyrus-sasl: $(CYRUS_SASL_VER)"
+ @echo "sqlite: $(SQLITE_VER)"
+ @echo "openssl: `openssl version | cut -d' ' -f2`"
+ @echo "swig: `swig -version | grep Version | cut -d' ' -f3`"
+ @echo "python: `python --version 2>&1 | cut -d' ' -f2`"
+ @echo "perl: `perl -version | grep ^This | cut -d' ' -f4 | sed -e 's/^v//'`"
+ @echo "ruby: `ruby --version | cut -d' ' -f2`"
+ifeq ($(ENABLE_JAVA_BINDINGS),yes)
+ @echo "java: `java -version 2>&1 | grep version | cut -d' ' -f3 | sed -e 's/\"//g'`"
+endif
+ @echo ""
+ @echo "Signatures:"