bhuvan in subversion

COMMITTERS: Update my email address.

Fix for issue 3579. Reschedule hudson jobs to execute every 1hour.

* build/hudson/jobs/subversion-trunk-ubuntu/config.xml

* build/hudson/jobs/subversion-1.6.x-solaris/config.xml

* build/hudson/jobs/subversion-1.6.x-ubuntu/config.xml

* build/hudson/jobs/subversion-trunk-solaris/config.xml

Poll subversion repository every 1hour.

* build/hudson/README

Fix the setup notes.

Fix the checkout URLs, they are no more in


The repository is now in

Approved by: kameshj

This commit adds Hudson jobs to build API documentation including doxygen

and javadoc. The jobs are executed every day at 2300 UTC. The API

documentation are available here:



Why do we need 2 jobs? Each job can publish documentation files from only

one location. The subversion-doxygen job publish the documentation in

doc/doxygen/html directory, while subversion-javadoc job publish the

documentation in doc/javadoc directory.

* build/hudson/jobs/subversion-doxygen/config.xml

The configuration file specific to building doxygen documentation.

* build/hudson/jobs/subversion-javadoc/config.xml

The configuration file specific to building javahl documentation.

  1. /trunk/build/hudson/jobs/subversion-javadoc
  2. /trunk/build/hudson/jobs/subversion-doxygen
Fix for issue 3541. When generating junit reports, escape special

characters, if any, from test failure messages.

* tools/dev/

ASCII_TABLE: Global variable to define list of ascii characters.

CHARS_TO_REMOVE: Global variable to define list of ascii values

to remove from failure messages.

(escape_special_characters): New method to escape special characters.

(junit_testcase_fail, junit_testcase_xfail): Use

escape_special_characters() method to escape special characters in

test failure messages.

Approved by: julianfoad

Reviewed by: julianfoad



Extending Bhuvan's commit access to build/hudson area.

This commit adds the Hudson configuration files to build Subversion on

Solaris10 system.

* build/hudson/jobs/subversion-trunk-solaris/config.xml

The configuration file specific to building Subversion in trunk on

Solaris10 system.

* build/hudson/jobs/subversion-1.6.x-solaris/config.xml

The configuration file specific to building Subversion in 1.6.x branch

on Solaris10 system.

The configuration files for Hudson jobs added in Apache build farm.

* build/hudson/README

Document the configuration of Hudson jobs.

* build/hudson/jobs/subversion-trunk-ubuntu/config.xml

The configuration file specific to building Subversion in trunk on

Ubuntu system.

* build/hudson/jobs/subversion-1.6.x-ubuntu/config.xml

The configuration file specific to building Subversion in "1.6.x"

branch on Ubuntu system.

Approved by: hwright

Follow-up for r884002.

* subversion/libsvn_subr/utf.c

(fuzzy_escape): Fix a comment to denote NUL character.

Found by: Kannan R <>

Suggested by: stsp

Follow-up for r883916. Fix a typo.

* subversion/libsvn_subr/utf.c

(fuzzy_escape): Fix typo in a comment.

While running the test suite, even the microseconds are accountable.

* build/

import datetime

(_run_test): Include microseconds while printing the time taken to

execute each test. Use datetime library instead of time library.

Reviewed by: brane

Rightly process the elapsed time, including the milliseconds.

* tools/dev/

(update_stat): Use float type while calculating the time taken for

individual tests.

(main): The seconds field may contain milli seconds, do not cast as

int type. If so, do it as float.

Approved by: mphippard

New script to generate the junit reports for Subversion test cases. The

junit reports can be used by continuous integration tools like Hudson

for building and testing Subversion.

* tools/dev/

The junit reports are generated by parsing the tests log file,

tests.log. The test results, PASS, FAIL and SKIP are marked as

appropriate in the junit reports. The XFAIL tests are considered as

PASS. This script can take options: --log-file and --output-dir.

The value for --log-file option denotes the log file to parse for

generating the junit reports.

The value for --output-dir option denotes the directory to store the

junit reports. A separate file is created in this directory for each

test case.

Approved by: hwright

    • ?
* STATUS: Move r39887 from "Approved changes" section to "Candidate

changes" section.

* STATUS: Nominate r39887 for backport to 1.6.6 release. Include

nomination for Branko as well.

This fix adds the ability to print the time taken to execute each test.

The time taken is printed in the log file, if specified; otherwise in

the stdout interface.

* build/

import time

(TestHarness._run_test): Print the time taken by each test using

following format:

ELAPSED: test_name HH:MM:SS

Reviewed by: julianfoad


This is a follow-up for r29948. Rename the macro which checks if

revision kind is dependent on a WC. Use the new macro wherever it is


* subversion/include/svn_client.h


* subversion/libsvn_client/client.h

(SVN_CLIENT__REVKIND_NEEDS_WC) ... to here and rename it.

* subversion/libsvn_client/copy.c

(setup_copy): Use the macro.

* subversion/libsvn_client/log.c

(svn_client_log4): Use the new macro.

Suggested by: kfogel

Approved by: kfogel

Display a better error message, if working copy dependent revision kind

is passed for 'svn log url -rXXX' command. Add svn_opt_revision_working

to list of revision kinds we should check.

* subversion/include/svn_client.h


* subversion/libsvn_client/log.c

(svn_client_log4): Use the new macro. If start/end revision kind

is dependent on working copy, display an error message.

Approved by: kameshj

If an invalid repository path is passed to the script, display the error

message instead of a traceback.

* tools/hook-scripts/

(main): The revision number can not be determined, if an invalid

repository path is passed. If this is the case, display an error


Fix typo, under "obvious fix" rule.

* notes/test-writing: Fix typo.

* subversion/libsvn_fs_fs/fs_fs.c: Fix typo in a comment for macros

dealing with ESTALE.

In FSFS libraries, for few functions, do not pass txn_id parameter when

it is not used.

* subversion/libsvn_fs_fs/dag.h

(svn_fs_fs__dag_finalize_edits): Remove txn_id argument.

Update the comment to reflect this change.

* subversion/libsvn_fs_fs/dag.c

(svn_fs_fs__dag_finalize_edits): Remove txn_id argument.

* subversion/libsvn_fs_fs/tree.c

(update_ancestry): Remove txn_id argument.

(merge, text_stream_closer): Adjust the callers.

Patch by: bhuvan

Approved by: dlr

Fix the regression caused by r25988.

* www/faq.html: Fix a typo (obvious fix rule) in the directory name.

Do not define SVNTreeUnequal exception handler in svntest.main library.

It can be used directly from svntest.tree library, where it is

originally defined.

* subversion/tests/cmdline/svntest/

Do not import "tree" library and do not define SVNTreeUnequal exception

handler here.

* subversion/tests/cmdline/

(merge_singleton_handler): Raise tree.SVNTreeUnequal() exception.

* subversion/tests/cmdline/

(detect_extra_files): raise tree.SVNTreeUnequal() exception.

Approved by: dlr

This is a follow-up fix for r25450. As per r25450, check_prop() function

was moved to svntest.actions library. Modify the lock test case to refer

to this function.

* subversion/tests/cmdline/

Do not import check_prop() function from prop_tests library.

(enforce_lock): Refer to check_prop() function in svntest.actions


Approved by: kameshj

Move and rename set of macros from BDB and FSFS backends to

libsvn-fs-util library. In addition, convert a function in FSFS backend

as macro and move it to libsvn-fs-util library.

* subversion/libsvn_fs_fs/tree.c

(already_exists, not_txn): Remove the functions.

(NOT_FOUND): Remove the macro.

(fs_change_merge_info, fs_change_node_prop, fs_merge, fs_delete_node,

fs_revision_link, fs_make_dir, fs_make_file): Use new macros.

* subversion/libsvn_fs_base/tree.c

(ALREADY_EXISTS, NOT_TXN, NOT_FOUND): Remove the macros.

* subversion/include/private/svn_fs_util.h


new macros.

(open_path, base_node_history, base_change_merge_info,

base_change_node_prop, base_merge, base_make_dir, txn_body_delete,

copy_helper): Use new macros.

Suggested by: dlr


Approved by: kameshj

Rename "--merge-sensitive" to "--use-merge-history" in all referring


* www/svn_1.5_releasenotes.html

* www/merge-tracking/func-spec.html

Rename "--merge-sensitive" to "--use-merge-history".

Approved by: dlr

Follow-up fix for r25172. Remove unnecessary print statement and do not

tweak the revision for expected status, as it is already tweaked to that


* subversion/tests/cmdline/

(basic_rm_urls_multi_repos): Remove a print statement.

Do not tweak the revision for expected status of wc dir and other wc


Suggested by: kameshj

Move re-usable functions from err.c file in libsvn-fs-fs and

libsvn-fs-base libraries to fs-util.c file in libsvn-fs-util library.

* subversion/include/private/svn_fs_util.h

* subversion/libsvn_fs_util/fs-util.c

(svn_fs__check_fs, svn_fs__err_not_mutable,

svn_fs__err_not_directory, svn_fs__err_not_file,

svn_fs__err_no_such_lock, svn_fs__err_lock_expired,

svn_fs__err_no_user, svn_fs__err_lock_owner_mismatch,

svn_fs__err_path_already_locked): New functions, the result of a

merger from similar functions redundantly defined in both FS backend


* subversion/libsvn_fs_base/err.c

* subversion/libsvn_fs_base/err.h

(svn_fs_base__check_fs, svn_fs_base__err_not_mutable,

svn_fs_base__err_not_directory, svn_fs_base__err_not_file,

svn_fs_base__err_no_such_lock, svn_fs_base__err_lock_expired,

svn_fs_base__err_no_user, svn_fs_base__err_lock_owner_mismatch,

svn_fs_base__err_path_already_locked): Relocated to (and renamed

in) svn_fs_util.

* subversion/libsvn_fs_fs/err.c

* subversion/libsvn_fs_fs/err.h

(svn_fs_fs__check_fs, svn_fs_fs__err_not_mutable,

svn_fs_fs__err_not_directory, svn_fs_fs__err_not_file,

svn_fs_fs__err_no_such_lock, svn_fs_fs__err_lock_expired,

svn_fs_fs__err_no_user, svn_fs_fs__err_lock_owner_mismatch,

svn_fs_fs__err_path_already_locked): Relocated to (and renamed

in) svn_fs_util.

* subversion/libsvn_fs_base/tree.c,

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

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

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

* subversion/libsvn_fs_base/uuid.c,

* subversion/libsvn_fs_base/fs.c,

* subversion/libsvn_fs_base/revs-txns.c,

* subversion/libsvn_fs_base/lock.c,

* subversion/libsvn_fs_fs/tree.c,

* subversion/libsvn_fs_fs/fs_fs.c,

* subversion/libsvn_fs_fs/lock.c

Include new library "private/svn_fs_util.h". Update references to

relocated (and renamed) error-generation functions.

Approved by: cmpilato

Efficiently use the APR subpool where necessary, either by destroying

them before the successful return statement or allocating them when they

are used. In addition, bump the copyright year to 2007 where it is


* subversion/svnadmin/main.c

(subcommand_rmlocks): Destroy the APR subpool before the successful

return statement.

* subversion/svnsync/main.c

(do_synchronize): Bump the copyright year to 2007 and destroy the APR

subpool before the successful return statement.

* subversion/libsvn_repos/log.c

(get_history): If the history item predates the START revision, then

destroy the APR subpool and info->oldpool.

* subversion/libsvn_delta/path_driver.c

(svn_delta_path_driver): Bump the copyright year to 2007 and allocate

subpool, iterpool and item after the check for paths->nelts.

Approved by: cmpilato

Specify that the fs-base-test test case is dependent on libsvn_fs_util


* build.conf

(fs-base-test): Add libsvn_fs_util library as one of dependencies.

Patch by: me

Approved by: dlr