"Edward S. Marshall" <esm@logic.net> writes:
> Hi,
>
> I'm including this, since I didn't see a mention of it by anyone yet.
> The gist of it: Sleepycat have released the 4.x strain of db. Has anyone
> had a chance to look at it yet wrt compatibility issues with svn?
I have built subversion against db-4.0.14. I used the following patch,
which removes support for db-3.3.11. Other than the version number,
the change that affects subversion is the txn_XXX to DB_TXN->txn_XXX
change, and since most of these provide a compatibility function, the
minimal change is just txn_checkpoint.
It hasn't had much testing yet, but the things I have tried have
worked.
Philip
* ac-helpers/berkeley-db: switch to db-4.0.14
* configure.in: switch to db-4.0.14
* subversion/libsvn_fs/fs.c: (cleanup_fs) switch txn_checkpoint to db-4.0.14
* subversion/libsvn_fs/trail.c: (commit_trail) switch txn_checkpoint to db-4.0.14
Index: ac-helpers/berkeley-db.m4
===================================================================
--- ac-helpers/.svn/text-base/berkeley-db.m4.svn-base Sun Dec 2 05:11:47 2001
+++ ac-helpers/berkeley-db.m4 Wed Dec 5 17:24:45 2001
@@ -100,7 +100,7 @@
# Linking directly to the .la is broken with --disable-shared
# because Berkeley db does not seem to generate a .la library.
if test "$enable_shared" = "yes"; then
- SVN_DB_LIBS="$dbdir/libdb-3.3.la"
+ SVN_DB_LIBS="$dbdir/libdb-4.0.la"
else
SVN_DB_LIBS="-L$dbdir -ldb"
fi
Index: configure.in
===================================================================
--- .svn/text-base/configure.in.svn-base Tue Dec 4 17:13:15 2001
+++ configure.in Wed Dec 5 17:18:11 2001
@@ -116,9 +116,9 @@
# Build the filesystem library (and repository administration tool)
# only if we have an appropriate version of Berkeley DB.
-SVN_FS_WANT_DB_MAJOR=3
-SVN_FS_WANT_DB_MINOR=3
-SVN_FS_WANT_DB_PATCH=11
+SVN_FS_WANT_DB_MAJOR=4
+SVN_FS_WANT_DB_MINOR=0
+SVN_FS_WANT_DB_PATCH=14
SVN_LIB_BERKELEY_DB($SVN_FS_WANT_DB_MAJOR, $SVN_FS_WANT_DB_MINOR,
$SVN_FS_WANT_DB_PATCH)
Index: subversion/libsvn_fs/fs.c
===================================================================
--- subversion/libsvn_fs/.svn/text-base/fs.c.svn-base Sun Dec 2 05:11:04 2001
+++ subversion/libsvn_fs/fs.c Wed Dec 5 17:10:09 2001
@@ -131,12 +131,12 @@
/* Checkpoint any changes. */
{
- int db_err = txn_checkpoint (env, 0, 0, 0);
+ int db_err = env->txn_checkpoint (env, 0, 0, 0);
while (db_err == DB_INCOMPLETE)
{
apr_sleep (1000000L); /* microseconds, so 1000000L == 1 second */
- db_err = txn_checkpoint (env, 0, 0, 0);
+ db_err = env->txn_checkpoint (env, 0, 0, 0);
}
/* If the environment was not (properly) opened, then txn_checkpoint
Index: subversion/libsvn_fs/trail.c
===================================================================
--- subversion/libsvn_fs/.svn/text-base/trail.c.svn-base Sun Dec 2 05:11:12 2001
+++ subversion/libsvn_fs/trail.c Wed Dec 5 17:10:52 2001
@@ -102,7 +102,7 @@
The checkpoint parameters below are pretty arbitrary. Perhaps
there should be an svn_fs_berkeley_mumble function to set them. */
SVN_ERR (DB_WRAP (fs, "checkpointing after Berkeley DB transaction",
- txn_checkpoint (fs->env, 1024, 5, 0)));
+ fs->env->txn_checkpoint (fs->env, 1024, 5, 0)));
/* We don't destroy the pool; we assume it contains stuff which will
be useful beyond the transaction. */
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:51 2006