Checkout Tools
  • last updated 7 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Low-risk mass change:

All users of BDB_WRAP / svn_fs_bdb__wrap_db now use gettext macros

consistently ( from now on, use N_ ). Also, defer actual invocation

of gettext until we need the result (i.e. an actual error occurred).

* subversion/libsvn_fs_base/bdb/bdb-err.c

(svn_fs_bdb__wrap_db): take and untranslated message and translate it

when constructing an error message from it

* subversion/libsvn_fs_base/bdb/changes-table.c




svn_fs_bdb__changes_fetch_raw): update users

* subversion/libsvn_fs_base/bdb/checksum-reps-table.c



svn_fs_bdb__reserve_rep_reuse_id): update users

* subversion/libsvn_fs_base/bdb/copies-table.c




svn_fs_bdb__get_copy): update users

* subversion/libsvn_fs_base/bdb/locks-table.c




svn_fs_bdb__locks_get): update users

* subversion/libsvn_fs_base/bdb/lock-tokens-table.c



svn_fs_bdb__lock_token_get): update users

* subversion/libsvn_fs_base/bdb/miscellaneous-table.c


svn_fs_bdb__miscellaneous_get): update users

* subversion/libsvn_fs_base/bdb/node-origins-table.c


svn_fs_bdb__delete_node_origin): update users

* subversion/libsvn_fs_base/bdb/nodes-table.c




svn_fs_bdb__put_node_revision): update users

* subversion/libsvn_fs_base/bdb/reps-table.c




svn_fs_bdb__delete_rep): update users

* subversion/libsvn_fs_base/bdb/rev-table.c



svn_fs_bdb__youngest_rev): update users

* subversion/libsvn_fs_base/bdb/strings-table.c








svn_fs_bdb__string_copy): update users

* subversion/libsvn_fs_base/bdb/txn-table.c





svn_fs_bdb__get_txn_list): update users

* subversion/libsvn_fs_base/bdb/uuids-table.c


svn_fs_bdb__set_uuid): update caller

  1. … 15 more files in changeset.
Test out my new and fancy ASF commit priviledges by changing the copyright

wording in our license headers to reflect ownership by the ASF.


Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the ASF, and update the project website.

* everywhere:

Change license text to reflect ASF ownership.

  1. … 891 more files in changeset.
Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.



subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the SVN Corp, and that it contains contributions from

many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:

Relicense the SVN parts under Apache 2.0.

* everywhere:

Change copyright notices in file headers to reflect the Apache 2.0 license.

  1. … 882 more files in changeset.
Attempt to button down the BDB backend's memory usage by allowing trail

producers to tell that subsystem to discard all memory associated with

the trail.

Most of the time, this pool usage waste isn't a problem (because of

better pool practices in higher layers). But mod_dav and mod_dav_svn

have notoriously wicked pool usage behavior, and I'm tired of having

the theoretically niceties of our pool usage guidelines getting in the

way of Subversion working. Why should a simple 'svn ls -v' of a

directory with 10,000 files exhaust all the memory on my 2Gb laptop?

It shouldn't, ahd if this kind of change is what I have to do to get

that leakage back down to "only" 339Mb, I feel compelled to do it.

An arguably cleaner approach would have been to add a 'result_pool'

argument to the txn_body_* function type which is the same pool passed

to svn_fs_base__retry_txn(). That would allow the txn_body_*

functions (which already operate with 'trail' and 'trail->pool' today)

to use the 'result_pool' argument as a final destination for

returnable stuff and 'trail->pool' for scratch work. (And then

do_retry() function would, of course, always whack trail->pool when it

was finished with a trail.) I've filed issue #3395 to track this

possible future enhancement.

Reviewed by: gstein

* subversion/libsvn_fs_base/trail.h

(svn_fs_base__retry_debug, svn_fs_base__retry_txn, svn_fs_base__retry):

Add 'destroy_trail_pool' parameter.

* subversion/libsvn_fs_base/trail.c

(do_retry): Add 'destroy_trail_pool', and, if set, destroy the trail

subpool even upon successful completion of the transaction.

(svn_fs_base__retry_debug, svn_fs_base__retry_txn, svn_fs_base__retry):

Add 'destroy_trail_pool' parameter, passed to do_retry().

* subversion/libsvn_fs_base/reps-strings.c,

* subversion/libsvn_fs_base/revs-txns.c,

* subversion/libsvn_fs_base/lock.c,

* subversion/libsvn_fs_base/dag.c,

* subversion/tests/libsvn_fs_base/changes-test.c,

* subversion/tests/libsvn_fs_base/fs-base-test.c,

* subversion/tests/libsvn_fs_base/strings-reps-test.c

Update all calls to svn_fs_base__retry() and svn_fs_base__retry_txn(),

passing TRUE for the new 'destroy_trail_pool' parameter iff the

caller didn't need any allocations made by the trail subsystem to

outlive the trail itself.

* subversion/libsvn_fs_base/tree.c

Same as above, but also...

(base_node_created_path, base_node_prop, svn_fs_base__miscellaneous_get,

base_copied_from, base_file_checksum): Use a scratch pool for the

trail work.

* subversion/libsvn_fs_base/uuid.c

Same as above, but also...

(svn_fs_base__get_uuid): Use a scratch pool for the trail work.

  1. … 10 more files in changeset.
Follow-up to r35017:

Allow to specify Berkeley DB header.

(It allows to build libsvn_fs_base when APR-Util isn't built with support for Berkeley DB.)

* build/ac-macros/berkeley-db.m4


header in argument of the '--with-berkeley-db' option. Add conditional

inclusion of Berkeley DB header to 'subversion/svn_private_config.h'.

* Substitute '@SVN_DB_HEADER@' with appropriate value

in 'subversion/svn_private_config.h'.

* subversion/svn_private_config.hw: Include Berkeley DB header when

SVN_WANT_BDB is defined.

* subversion/libsvn_fs_base/bdb/bdb_compat.h:

* subversion/libsvn_fs_base/bdb/bdb-err.c:

* subversion/libsvn_fs_base/bdb/changes-table.h:

* subversion/libsvn_fs_base/bdb/dbt.c:

* subversion/libsvn_fs_base/bdb/dbt.h:

* subversion/libsvn_fs_base/bdb/env.h:

* subversion/libsvn_fs_base/bdb/nodes-table.h:

* subversion/libsvn_fs_base/bdb/reps-table.h:

* subversion/libsvn_fs_base/bdb/rev-table.h:

* subversion/libsvn_fs_base/bdb/strings-table.h:

* subversion/libsvn_fs_base/bdb/uuids-table.h:

* subversion/libsvn_fs_base/fs.c:

* subversion/libsvn_fs_base/fs.h:

* subversion/libsvn_fs_base/node-rev.c:

* subversion/libsvn_fs_base/node-rev.h:

* subversion/libsvn_fs_base/reps-strings.c:

* subversion/libsvn_fs_base/reps-strings.h:

* subversion/libsvn_fs_base/revs-txns.h:

* subversion/libsvn_fs_base/trail.c:

* subversion/libsvn_fs_base/trail.h:

* subversion/libsvn_fs_base/util/fs_skels.h: Define SVN_WANT_BDB and

include "svn_private_config.h" instead of defining APU_WANT_DB and

including <apu_want.h>.

  1. … 23 more files in changeset.
In the Subversion libraries, replace uses of "assert" and "abort" with the

new SVN_ERR_ASSERT and SVN_ERR_MALFUNCTION macros where possible. Replace

"if (cond) abort();" with "SVN_ERR_ASSERT(!cond)".

This is a like-for-like change except that the new macros allow the

application at run time to specify an alternative behaviour such as

returning an error object instead of aborting, and they are not affected by

the NDEBUG macro (so they are not compiled out in release-mode builds as

"assert" could be).

Omit libsvn_ra_serf because it uses assert and abort as placeholders for

unfinished development.

(61 files affected.)

  1. … 60 more files in changeset.
Remove dead trail undo code, as prepwork for a possible overhaul.

* subversion/libsvn_fs_base/trail.c

(struct undo, record_undo, svn_fs_base__record_undo,

svn_fs_base__record_completion): Remove.

(begin_trail): No longer set 'undo' trail_t member.

(abort_trail, commit_trail): No longer try to cycle through the 'undo' chain.

* subversion/libsvn_fs_base/trail.h

(trail_t): Remove 'undo' member.

(svn_fs_base__retry_txn): Update comment to not mention undo stuff.

(svn_fs_base__record_undo, svn_fs_base__record_completion): Remove.

  1. … 1 more file in changeset.
Reformat the code to use a consistent no-space-before-param-list-paren style.

See here for the vote that decided this:

From: "Peter N. Lundblad" <>

To: "Peter N. Lundblad" <>


Subject: Results of: [VOTE] New space-before-parens style

Date: Wed, 8 Feb 2006 12:00:35 +0100 (CET)

Message-ID: <Pine.LNX.4.55.0602080918350.10805@localhost.localdomain>

I took the opportunity to make spacing among all parens in SVN_ERR

macro calls consistent. But I did not address consistency of casts,

nor whether a function name should always appear below its return type

in declarations and definitions, nor whether there should be a space

before/after the "*" when declaring pointer return types.

* www/hacking.html

(coding-style): Document that we are no-space-before-paren now.

* everywhere: Reformat.

  1. … 365 more files in changeset.
Remove tabs that crept into the BDB back-end code through the years.

* subversion/libsvn_fs_base/bdb/bdb-err.c,

subversion/libsvn_fs_base/trail.c: Untabify. Whitespace changes only.

  1. … 1 more file in changeset.
Fixing issue #2449.

Merge BDB-4.4 and automatic database recovery support

(r17455:18143 from branches/bdb-fixes).

  1. … 17 more files in changeset.
Lose the unused trail_t 'scratchpool' member.

* subversion/libsvn_fs_base/trail.h

(struct trail_t): Lose the 'scratchpool'. Nobody is using it.

* subversion/libsvn_fs_base/trail.c

(begin_trail, commit_trail): Stop messing with the now-absent

'scratchpool' trail_t member.

  1. … 1 more file in changeset.
Some undefined symbols were being tested with "#if". Either define them

or else test whether they are defined.

* subversion/libsvn_fs_base/trail.c

Include the header that defines SVN_BDB_HAS_DB_INCOMPLETE.

* subversion/libsvn_ra_dav/commit.c

Don't bother testing APR_HAVE_STDLIB - everywhere else we just include


* subversion/svnserve/serve.c (repos_path_valid):

Test WIN32 with "#ifdef" (not "#if") like everywhere else.

  1. … 2 more files in changeset.
Merge the changes from the fs-abstraction branch. This allows the

libsvn_fs_fs filesystem to sit alongside the old BDB filesystem in the

same executable.

  1. … 89 more files in changeset.