Subversion SVN Changelog

Select Changelog:

Subversion, svnLogBrowser, pysvn

Select page:

Previous Page1 2 3 66 130 193Next Page

Changes per page:

25 50 100 250

Summarize files:

On | Off

Search:

Filter by Developer:

Sort Alphabetically Sort by Commits Show/Hide Inactive Developers
Karl Fogel (4,569)
Hyrum Wright (4,001)
C. Michael Pilato (3,986)
Daniel Rall (2,646)
Greg Stein (1,867)
Julian Foad (1,586)
Bert Huijben (1,576)
Paul T. Burba (1,547)
Max Bowsher (1,308)
Stefan Sperling (1,140)
Philip Martin (1,051)
Arfrever Frehtes Taifersar Arahesis (918)
Branko Cibej (913)
Lieven Govaerts (791)
Blair Zajac (766)
Erik Hülsmann (763)
David Glasser (739)
Ben Reser (581)
Kamesh Jayachandran (557)
Justin Erenkrantz (487)
Daniel Shahaf (406)
Senthil Kumaran S (349)
Øyvind A. Holm (343)
Stefan Reichör (331)
Neels J. Hofmeyr (229)
Fabien COELHO (213)
Mark Phippard (210)
Daniel Näslund (196)
Joe Swatosh (160)
Dongsheng Song (158)
D.J. Heap (157)
Joe Orton (150)
Dongsheng Song (148)
Ivan Zhakov (147)
Ivan Zhakov (122)
User: stefan2 (100)
Stephen Butler (86)
User: artagnon (79)
Роман Донченко (64)
Bhuvaneswaran Arumugam (49)
Guo Rui (45)
Jeremy Whitlock (41)
Peter Samuelson (31)
Stefan Küng (26)
P.Marek (23)
Martin Furter (21)
Mattias Engdegård (11)
Arthur de Jong (7)
Gavin McDonald (2)
Eric S. Raymond (1)
User: joes (1)
Arfrever Frehtes Taifersar Arahesis (918)
Arthur de Jong (7)
Ben Reser (581)
Bert Huijben (1,576)
Bhuvaneswaran Arumugam (49)
Blair Zajac (766)
Branko Cibej (913)
C. Michael Pilato (3,986)
D.J. Heap (157)
Daniel Näslund (196)
Daniel Rall (2,646)
Daniel Shahaf (406)
David Glasser (739)
Dongsheng Song (148)
Dongsheng Song (158)
Eric S. Raymond (1)
Erik Hülsmann (763)
Fabien COELHO (213)
Gavin McDonald (2)
Greg Stein (1,867)
Guo Rui (45)
Hyrum Wright (4,001)
Ivan Zhakov (147)
Ivan Zhakov (122)
Jeremy Whitlock (41)
Joe Orton (150)
Joe Swatosh (160)
Julian Foad (1,586)
Justin Erenkrantz (487)
Kamesh Jayachandran (557)
Karl Fogel (4,569)
Lieven Govaerts (791)
Mark Phippard (210)
Martin Furter (21)
Mattias Engdegård (11)
Max Bowsher (1,308)
Neels J. Hofmeyr (229)
P.Marek (23)
Paul T. Burba (1,547)
Peter Samuelson (31)
Philip Martin (1,051)
Senthil Kumaran S (349)
Stefan Küng (26)
Stefan Reichör (331)
Stefan Sperling (1,140)
Stephen Butler (86)
User: artagnon (79)
User: joes (1)
User: stefan2 (100)
Øyvind A. Holm (343)
Роман Донченко (64)

This changelog reflects changes in the Subversion SVN repository, and is updated once every hour. All reported times are in UTC.

  • Legend:
  • Added (A) Added (A)
  • Deleted (D) Deleted (D)
  • Modified (M) Modified (M)
  • Copied (R) Copied (R)
  • [Branch]
  • [Tag]

Changelog for Subversion (48,243 revisions):

r995547: 2010-09-09 19:22:52 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-metadata.sql  [diff, log, file]
M  /subversion/tests/libsvn_wc/db-test.c  [diff, log, file]
M  /subversion/tests/libsvn_wc/entries-compat.c  [diff, log, file]

 Remove NODE_DATA creation statement: SVN_WC__NODE_DATA doesn't work
 anymore anyway.
 
  * subversion/libsvn_wc/wc-metadata.sql
    (STMT_CREATE_NODE_DATA): Remove.
 
  * subversion/tests/libsvn_wc/db-test.c (create_fake_wc)
  * subversion/tests/libsvn_wc/entries-compat.c (create_fake_wc):
    Remove references, replacing them with the NODES table creation
    statement and conditionals.
 

r995530: 2010-09-09 18:28:29 [pburba] Paul T. Burba

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 Fix spurious failure in test for issue #3514, this issue has been fixed for
 some time.
 
 * subversion/tests/cmdline/merge_tests.py
 
   (merge_automatic_conflict_resolution): Remove local mod to merge target
    in final merge --accept=base portion of test, this has nothing to do with
    what is being tested here. Remove comments about failure status. Change
    expectation of base value in final merge to be that of the merge source's
    base (see http://subversion.tigris.org/issues/show_bug.cgi?id=3514#desc3).
 
   (test_list): Remove XFail from merge_automatic_conflict_resolution.

r995513: 2010-09-09 17:39:53 [stsp] Stefan Sperling

M  /subversion/include/private/svn_dep_compat.h  [diff, log, file]

 * subversion/include/private/svn_dep_compat.h
   (APR_UINT16_MAX, APR_INT16_MAX, APR_INT16_MIN): Define for backwards compat
    to APR versions prior to 1.3.0.

r995508: 2010-09-09 17:32:47 [stsp] Stefan Sperling

M  /subversion/svnserve/cyrus_auth.c  [diff, log, file]

 * subversion/svnserve/cyrus_auth.c
   (cyrus_auth_request): Replace use of atoi() with svn_cstring_atoui().
    The values being parsed are supposed to be unsigned integers as per
    Cyrus-SASL documentation.

r995507: 2010-09-09 17:31:47 [hwright] Hyrum Wright

M  [performance] /subversion/libsvn_repos/dump.c  [diff, log, file]

 On the performance branch:
 Remove a superfluous function.
 
 * subversion/libsvn_repos/dump.c
   (write_hash_to_stringbuf): This function is no longer present on trunk,
     but still managed to survive on this branch.

r995502: 2010-09-09 17:23:59 [stsp] Stefan Sperling

M  /subversion/svnserve/main.c  [diff, log, file]

 Follow-up to r995501:
 * subversion/svnserve/main.c
   (main): Use the SVN_ERR_CL_ARG_PARSING_ERROR error code instead of
    SVN_ERR_INCORRECT_PARAMS for consistency with the svn client.

r995501: 2010-09-09 17:18:36 [stsp] Stefan Sperling

M  /subversion/svnserve/main.c  [diff, log, file]

 * subversion/svnserve/main.c
   (): Include svn_string.h and private/svn_dep_compat.h.
   (main): Parse the --listen-port argument with svn_cstring_strtoui64() instead
    of atoi(). Make sure the argument parses correctly as a 16 bit unsigned
    integer. Previously, any argument was accepted, e.g. --listen-port "abc"
    actually worked (PORT ended up being zero, so the OS assigned a random port).

r995498: 2010-09-09 17:11:17 [stsp] Stefan Sperling

M  /subversion/libsvn_subr/svn_string.c  [diff, log, file]

 * subversion/libsvn_subr/svn_string.c
   (svn_cstring_strtoi64, svn_cstring_strtoui64): If apr_strtoi64() reports
    the first character of the string as invalid, there is no number in the
    string, so return an error. apr_strtoi64() sets errno only to indicate
    overflow, not other error conditions, so this additional check is needed.

r995485: 2010-09-09 16:35:53 [stsp] Stefan Sperling

M  /subversion/libsvn_repos/load.c  [diff, log, file]

 * subversion/libsvn_repos/load.c
   (parse_format_version, svn_repos_parse_dumpstream2): Replace use of atoi()
    with svn_cstring_atoi().

r995484: 2010-09-09 16:28:48 [stsp] Stefan Sperling

M  /subversion/libsvn_repos/load.c  [diff, log, file]

 * subversion/libsvn_repos/load.c
   (parse_property_block): Replace two more occurrences of atoi() with
    svn_cstring_atoi64(), switching to 64bit because size_t isn't
    guaranteed to be 32bit.

r995478: 2010-09-09 15:59:00 [hwright] Hyrum Wright

Click to show all 46 changes...

 On the performance branch:
 Bring up-to-date with trunk.

r995475: 2010-09-09 15:51:34 [stsp] Stefan Sperling

M  /subversion/libsvn_repos/load.c  [diff, log, file]

 * subversion/libsvn_repos/load.c
   (parse_property_block): Use svn_cstring_atoi64() instead of atoi() (switching
    to 64bit because size_t isn't guaranteed to be 32bit).

r995472: 2010-09-09 15:46:30 [stsp] Stefan Sperling

M  /subversion/libsvn_ra_neon/util.c  [diff, log, file]

 Follow-up to r995461 to fix the build:
 * subversion/libsvn_ra_neon/util.c
   (start_err_element): Don't return an svn_error_t*, as this function
    returns an int.

r995465: 2010-09-09 15:34:35 [stsp] Stefan Sperling

M  /subversion/libsvn_ra_neon/lock.c  [diff, log, file]

 * subversion/libsvn_ra_neon/lock.c
   (): Include svn_string.h.
   (lock_from_baton): Use svn_cstring_atoi() instead of atoi().

r995461: 2010-09-09 15:28:54 [stsp] Stefan Sperling

M  /subversion/libsvn_ra_neon/util.c  [diff, log, file]

 * subversion/libsvn_ra_neon/util.c
   (start_err_element): Use svn_cstring_atoi64() instead of atoi() (switch
    to 64bit integer for consistency with serf).

r995459: 2010-09-09 15:23:19 [stsp] Stefan Sperling

M  /subversion/libsvn_ra_serf/util.c  [diff, log, file]

 Follow-up to r995455:
 * subversion/libsvn_ra_serf/util.c: Include svn_string.h.

r995455: 2010-09-09 15:19:23 [stsp] Stefan Sperling

M  /subversion/libsvn_ra_serf/util.c  [diff, log, file]

 * subversion/libsvn_ra_serf/util.c
   (start_error): Use svn_cstring_atoi64() instead of apr_atoi64().

r995450: 2010-09-09 14:51:28 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/update_tests.py  [diff, log, file]

 * subversion/tests/cmdline/update_tests.py
   (update_with_file_lock_and_keywords_property_set):
     Following up on r995441, wait a second instead of hoping that lock
     or propset wait for us.
 
 Suggested by: philip

r995447: 2010-09-09 14:41:44 [stsp] Stefan Sperling

M  /subversion/include/private/svn_skel.h  [diff, log, file]
M  /subversion/libsvn_subr/skel.c  [diff, log, file]
M  /subversion/libsvn_wc/workqueue.c  [diff, log, file]

 Make svn_skel__parse_int use svn_cstring_atoi64() instead of apr_atoi64().
 As a side-effect, make svn_skel__parse_int() return an error if conversion
 from string to a number fails.
 
 * subversion/libsvn_subr/skel.c
   (svn_skel__parse_int): Use svn_cstring_atoi64(), return errors.
 
 * subversion/include/private/svn_skel.h
   (svn_skel__parse_int): Update declaration. Drop comment saying this
    function assumes valid input.
 
 * subversion/libsvn_wc/workqueue.c
   (run_revert, run_killme, run_base_remove, run_deletion_postcommit,
    run_postcommit, run_file_install, run_record_fileinfo): Update callers.

r995441: 2010-09-09 14:19:43 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/update_tests.py  [diff, log, file]

 * subversion/tests/cmdline/update_tests.py
   (update_with_file_lock_and_keywords_property_set):
     Enable sleeping for timestamp changes to detect the mtime
     change even if the update takes less then a second.

r995407: 2010-09-09 12:51:37 [philip] Philip Martin

M  /subversion/libsvn_wc/copy.c  [diff, log, file]

 * subversion/libsvn_wc/copy.c.c
   (copy_versioned_dir, svn_wc_copy3): Remove conditional multi-db code.

r995402: 2010-09-09 12:31:57 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 Follow-up to r995383:
 
 * subversion/libsvn_fs_fs/fs_fs.c
   (read_rep_line): Wrapping svn_error_create() within svn_error_return()
    is redundant.
 
 Found by: danielsh

r995400: 2010-09-09 12:27:53 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/id.c  [diff, log, file]

 * subversion/libsvn_fs_fs/id.c
   (svn_fs_fs__id_parse): Use svn_cstring_atoi64() instead of apr_atoi64().

r995395: 2010-09-09 12:16:39 [danielsh] Daniel Shahaf

M  /subversion/tests/cmdline/copy_tests.py  [diff, log, file]

 * subversion/tests/cmdline/copy_tests.py
   (changed_data_should_match_checkout):
     Following up r961831, mark expected output unordered.

r995394: 2010-09-09 12:13:26 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (get_root_changes_offset): Use svn_cstring_atoi64() instead of apr_atoi64().
    Adjust, and ask a question in, a comment.

r995390: 2010-09-09 12:01:08 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (get_root_changes_offset): Use svn_cstring_atoi64() instead of apr_atoi64().

r995388: 2010-09-09 11:47:22 [stylesen] Senthil Kumaran S

M  /subversion/tests/cmdline/update_tests.py  [diff, log, file]

 Add a test for issue #3471: 'svn up touches file w/ lock & svn:keywords
 property'.
 
 * subversion/tests/cmdline/update_tests.py
   (update_with_file_lock_and_keywords_property_set): New test case.
   (test_list): Add the above test case and mark it as XFail.
 
 Patchy by: Vijayaguru G <vijay@...>

r995387: 2010-09-09 11:46:43 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (read_rep_line): Use svn_cstring_atoi64() instead of apr_atoi64().

r995383: 2010-09-09 11:31:12 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (read_rep_line): Properly indent the body of various if-statements.
    Use "error" instead of "err" as a goto label, because "err" is the
    conventional name for variables of type svn_error_t*.
    Use svn_error_return() when returning errors.

r995382: 2010-09-09 11:22:37 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (svn_fs_fs__read_noderev): Use svn_cstring_atoi64() instead of apr_atoi64()
    and svn_cstring_atoi() instead of atoi().

r995380: 2010-09-09 11:12:32 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (read_rep_offsets): Use svn_cstring_atoi64() instead of apr_atoi64().

r995377: 2010-09-09 10:51:50 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (get_packed_offset): Use svn_cstring_atoi64() instead of apr_atoi64().
     Also mark an error message string for translation.

r995372: 2010-09-09 10:42:10 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 * subversion/libsvn_fs_fs/fs_fs.c
   (): Include svn_string.h.
   (read_format): Use svn_cstring_atoi() instead of atoi().

r995363: 2010-09-09 09:42:32 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 Make upgrade rerunnable after an interrupt without needing to use
 pre-1.7 for cleanup.
 
 * subversion/libsvn_wc/upgrade.c
   (upgrade_to_wcng): Delete any previous partial upgrade.

r995357: 2010-09-09 09:16:45 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]
M  /subversion/tests/cmdline/upgrade_tests.py  [diff, log, file]

 Fix upgrade_tests.py 12.
 
 * subversion/libsvn_wc/upgrade.c
   (svn_wc__wipe_postupgrade): Handle an unversioned directory obstructing
    a versioned directory.
   (upgrade_working_copy): Handle an unversioned directory obstructing a
    versioned directory, destroy iterpool when skipping, remove unneeded
    comments.
 
 * subversion/tests/cmdline/upgrade_tests.py
   (missing_dirs2): Verify status.
   (test_list): Remove XFail mark.

r995260: 2010-09-08 21:27:58 [danielsh] Daniel Shahaf

A  /tools/dev/wc-format.py  [log, file]

 Add a helper script, ported to Python.
 
 * tools/dev/wc-format.py: New.
       Prints the working copy format of a given directory.

r995215: 2010-09-08 19:29:11 [dannas] Daniel Näslund

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 * subversion/libsvn_client/patch.c
   (apply_one_patch): Remove a question with an associated answer from
     the code.

r995212: 2010-09-08 19:22:29 [hwright] Hyrum Wright

Click to show all 18 changes...

 Merge r985014, r985669, and r987893 from the performance branch, which make
 use of the svn_ctype_is* functions more uniform.
 
 This also adds an include to subversion/libsvn_fs_fs/fs_fs.c which was added
 as part of r983430 on the performance branch. That revision is not related
 to the above, and so isn't being merged here.

r995210: 2010-09-08 19:18:29 [dannas] Daniel Näslund

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 In the patch code, factor out the code dealing with closing streams to
 its own function for readability.
 
 * subversion/libsvn_client/patch.c
   (close_target_streams): New. Created with code from ...
   (apply_one_patch): .. here.
 
 Suggested by: stsp

r995194: 2010-09-08 18:58:29 [dannas] Daniel Näslund

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 In the patch code, remove some unnecessary intermediate variables.
 
 * subversion/libsvn_client/patch.c
   (apply_one_patch): Use 'prop_patch_target_t' variables directly
     instead of introducing intermediate variables to hold some
     members.
 
 Suggested by: stsp

r995183: 2010-09-08 18:34:20 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]
M  /subversion/libsvn_wc/wc.h  [diff, log, file]
M  /subversion/libsvn_wc/workqueue.c  [diff, log, file]
M  /subversion/libsvn_wc/workqueue.h  [diff, log, file]

 Make interrupting the upgrade of a pre-1.7 working copy leave the
 working copy in a working state.
 
 * subversion/libsvn_wc/wc.h
   (svn_wc__wipe_postupgrade): New.
 
 * subversion/libsvn_wc/upgrade.c
   (): Include workqueue.h.
   (svn_wc__wipe_postupgrade): New.
   (upgrade_to_wcng): Put temporary db in .svn/tmp, don't remove old metadata.
   (svn_wc_upgrade): Add wq items and run the wq, close and reopen
    db handle rather than droping the root.
 
 * subversion/libsvn_wc/workqueue.h
   (svn_wc__wq_build_postupgrade): New.
 
 * subversion/libsvn_wc/workqueue.c
   (OP_POSTUPGRADE, run_postupgrade, svn_wc__wq_build_postupgrade): New.
   (dispatch_table): Add OP_POSTUPGRADE.

r995168: 2010-09-08 17:55:23 [hwright] Hyrum Wright

A  [javahl-ra] /BRANCH-README  [log, file]

 On the javahl-ra branch:
 Add a BRANCH-README file.
 
 * BRANCH-README: New.

r995156: 2010-09-08 17:05:14 [stsp] Stefan Sperling

M  /subversion/svn/main.c  [diff, log, file]

 * subversion/svn/main.c
   (svn_cl__options): Add two aliases for the --no-unlock option:
     --nul (shorter to type) and --keep-lock (no confusing double-negative).

r994957: 2010-09-08 09:59:22 [philip] Philip Martin

M  /subversion/include/private/svn_dep_compat.h  [diff, log, file]
M  /subversion/libsvn_repos/reporter.c  [diff, log, file]

 Followup to r993425, compatibility with older APR.
 
 * subversion/include/private/svn_dep_compat.h
   (APR_SIZE_MAX): Define for older APR.
 
 * subversion/libsvn_repos/reporter.c: Remove APR_SIZE_MAX definition,
    include svn_dep_compat.h

r994956: 2010-09-08 09:58:07 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Fix server crashes reported by Johan Corvelyn.
 As it turned out, find_entry used only the first 4 or 8 bytes
 of the MD5 hash as a key to identify an entry.
 
 * subversion/libsvn_subr/cache_membuffer.c
   (find_entry): compare & copy KEY_LEN bytes when dealing with keys.

r993544: 2010-09-07 22:00:57 [hwright] Hyrum Wright

M  [javahl-ra] /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNReposAccess.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.h  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java  [diff, log, file]

 On the javahl-ra branch:
 Implement the checkPath() RA method for JavaHL.
 
 [ in subversion/bindings/javahl/ ]
 * tests/org/apache/subversion/javahl/SVNRATests.java
   (testCheckPath): New.
 
 * native/SVNReposAccess.h
   (checkPath): New.
 
 * native/SVNReposAccess.cpp
   (checkPath): New.
 
 * native/org_apache_subversion_javahl_SVNReposAccess.cpp
   (Java_org_apache_subversion_javahl_SVNReposAccess_checkPath): New.
 
 * src/org/apache/subversion/javahl/ISVNReposAccess.java
   (checkPath): New.
 
 * src/org/apache/subversion/javahl/SVNReposAccess.java
   (checkPath): New.

r993504: 2010-09-07 19:49:02 [dannas] Daniel Näslund

M  /subversion/tests/cmdline/patch_tests.py  [diff, log, file]

 Add patch test for adding empty files.
 
 Such files can only be applied if the diff uses the git extensions to
 the unidiff format.
 
 * subversion/tests/cmdline/patch_tests.py
   (patch_git_add_file): New.
   (test_list): Add patch_git_add_file.

r993495: 2010-09-07 19:39:41 [hwright] Hyrum Wright

M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java  [diff, log, file]

 On the javahl-ra branch:
 Make a function private which has no need of publicity.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java
   (getCppAddr): Privatize.

r993494: 2010-09-07 19:38:09 [hwright] Hyrum Wright

M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java  [diff, log, file]

 On the javahl-ra branch:
 Ensure we inform callers that we may well throw SubversionExceptions.
 
 [ in subversion/bindings/javahl/ ]
 * src/org/apache/subversion/javahl/ISVNReposAccess.java,
   src/org/apache/subversion/javahl/SVNReposAccess.java
   (getDatedRevision, getLocks): Add throws SubversionException clause.

r993493: 2010-09-07 19:32:23 [hwright] Hyrum Wright

M  [javahl-ra] /subversion/bindings/javahl/native/CreateJ.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/CreateJ.h  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNReposAccess.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.h  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java  [diff, log, file]

 On the javahl-ra branch:
 Implement the getLocks() ra API in JavaHL.
 
 [ in subversion/bindings/javahl/ ]
 * tests/org/apache/subversion/javahl/SVNRATests.java
   (setUp): Create a working copy, because it will be useful for out tests.
   (testGetLocks): New.
 
 * native/CreateJ.cpp
   (LockMap): New.
 
 * native/SVNReposAccess.h
   (getLocks): New.
 
 * native/SVNReposAccess.cpp
   (getLocks): New.
 
 * native/org_apache_subversion_javahl_SVNReposAccess.cpp
   (Java_org_apache_subversion_javahl_SVNReposAccess_getLocks): New.
 
 * native/CreateJ.h
   (LockMap): New.
 
 * src/org/apache/subversion/javahl/ISVNReposAccess.java
   (getLocks): New.
 
 * src/org/apache/subversion/javahl/SVNReposAccess.java
   (getLocks): New.

r993427: 2010-09-07 17:00:27 [hwright] Hyrum Wright

M  [javahl-ra] /subversion/bindings/javahl/native/JNIUtil.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/JNIUtil.h  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNReposAccess.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.cpp  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.h  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java  [diff, log, file]
M  [javahl-ra] /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java  [diff, log, file]

 On the javahl-ra branch:
 Expose the getDatedRevision() RA API through Java.
 
 [ in subversion/bindings/javahl/ ]
 * tests/org/apache/subversion/javahl/SVNRATests.java
   (testDatedRev): New.
 
 * native/SVNReposAccess.h
   (getDatedRev, m_sess_pool, m_ra_session): New.
   (SVNReposAccess): Add repos url param.
 
 * native/JNIUtil.cpp
   (getDate): New.
 
 * native/SVNReposAccess.cpp
   (SVNReposAccess): Add repos url param, and create an ra_session.
   (~SVNReposAccess): Destroy the session pool.
   (getDatedRev): New.
 
 * native/JNIUtil.h
   (getDate): New.
 
 * native/org_apache_subversion_javahl_SVNReposAccess.cpp
   (Java_org_apache_subversion_javahl_SVNReposAccess_ctNative):
     Construct the C++ peer with the repos url.
   (Java_org_apache_subversion_javahl_SVNReposAccess_getDatedRevision): New.
 
 * src/org/apache/subversion/javahl/ISVNReposAccess.java
   (getDatedRevision): New.
 
 * src/org/apache/subversion/javahl/SVNReposAccess.java
   (SVNReposAccess): Pass the reposURI to the native constructor.
   (ctNative): Accept the repos URI.
   (getDatedRevision): New.

r993425: 2010-09-07 16:57:36 [stsp] Stefan Sperling

M  /subversion/libsvn_fs_base/util/fs_skels.c  [diff, log, file]

 Convert use of atoi() and apr_atoi64() in the BDB skel parsing code over
 to the new svn_cstring number parsing API.
 
 * subversion/libsvn_fs_base/util/fs_skels.c
   (svn_fs_base__parse_representation_skel): Use svn_cstring_strtoui64()
    and svn_cstring_strtoi64() instead of atoi() and svn__atoui64().
   (svn_fs_base__parse_node_revision_skel): Use svn_cstring_atoi() instead
    of atoi() and apr_atoi64().

r993419: 2010-09-07 16:33:27 [stsp] Stefan Sperling

M  /tools/dev/unix-build/Makefile.svn  [diff, log, file]

 * tools/dev/unix-build/Makefile.svn: Don't build neon with libproxy for now.
    On my system it ends up pulling -L/usr/local/lib into LDFLAGS, causing
    run-time conflicts with libraries installed by 3rd party software managed
    by OpenBSD ports. Fixes local test failures with the BDB backend.

r993390: 2010-09-07 15:10:11 [stsp] Stefan Sperling

M  /tools/dev/wc-ng/bump-to-19.py  [diff, log, file]

 * tools/dev/wc-ng/bump-to-19.py
   (move_and_shard_pristine_files): If a shard already exists, don't
    attempt to rename it into itself. Saw this error on a working copy
    which had its subdirectories at various formats, so bump-to-19.py
    errored out early. On subsequent runs, however, it kept trying to rename
    .svn/pristine/00 to .svn/pristine/00/00 within already converted
    directories, not realising the pristine directory had already been sharded.

r993368: 2010-09-07 13:59:41 [hwright] Hyrum Wright

Click to show all 53 changes...

 On the javahl-ra branch:
 Bring up-to-date with trunk.

r993358: 2010-09-07 13:47:01 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictVersion.java  [diff, log, file]

 Revert some changes to ConflictVersion.java accidentally committed in r993356
 (which was itself a revertion of r992041.)

r993356: 2010-09-07 13:42:33 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/CreateJ.cpp  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictVersion.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  [diff, log, file]

 Revert r992041, as a result of this discussion:
 http://svn.haxx.se/dev/archive-2010-09/0044.shtml
 
 Note: this revert itself accidentally included a change for ConflictVersion,
 which was reverted in r993358.

r993327: 2010-09-07 12:25:46 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/revert_tests.py  [diff, log, file]

 * subversion/tests/cmdline/revert_tests.py
   (status_of_missing_dir_after_revert_replaced_with_history_dir):
     Expect that G/pi, G/rho and G/tau are also reverted, as their
     information is not lost in single-DB. Then restore the expected
     result to be like it was in 1.6. (Revert leaves unversioned files,
     not additions). Finally expect that nodes under a missing file
     are still visible in single-db.
 
     This resolves some older concerns and fixes the test.
 
   (test_list): Remove wimp marking from
     status_of_missing_dir_after_revert_replaced_with_history_dir.

r993314: 2010-09-07 10:38:42 [rhuijben] Bert Huijben

M  /subversion/libsvn_diff/parse-diff.c  [diff, log, file]

 * subversion/libsvn_diff/parse-diff.c
   (parse_offset): Pass a apr_uint64_t * instead of a unsigned * to
     svn_cstring_strtoui64(). This fixes several patch tests on 32 bit systems.

r993310: 2010-09-07 10:09:28 [stsp] Stefan Sperling

M  /subversion/mod_dav_svn/reports/log.c  [diff, log, file]

 Follow-up to r993183:
 
 * subversion/mod_dav_svn/reports/log.c
   (dav_svn__log_report): Use svn_cstring_atoi() instead of atoi(), and
    handle conversion errors properly this time.

r993308: 2010-09-07 10:00:40 [rhuijben] Bert Huijben

M  /subversion/libsvn_subr/io.c  [diff, log, file]

 Fix another open file handle leak in one function and properly close
 files and return all errors in another function.
 
 * subversion/libsvn_subr/io.c
   (svn_io_read_version_file): Close file if svn_io_file_read() fails.
   (contents_identical_p): Properly close both files on all error conditions.
     Return all errors instead of just clearing a few.

r993281: 2010-09-07 08:47:11 [philip] Philip Martin

M  /subversion/include/private/svn_dep_compat.h  [diff, log, file]
M  /subversion/libsvn_subr/svn_string.c  [diff, log, file]

 Followup to r993183, compatibility with older APR.
 
 * subversion/include/private/svn_dep_compat.h
   (APR_UINT32_MAX, APR_INT32_MAX, APR_INT32_MIN,
    APR_UINT64_MAX, APR_INT64_MAX, APR_INT64_MIN): Define for older APR.
 
 * subversion/libsvn_subr/svn_string.c: Include svn_dep_compat.h.

r993272: 2010-09-07 08:16:35 [rhuijben] Bert Huijben

M  /subversion/libsvn_subr/io.c  [diff, log, file]

 Resolve two highly-unlikely open file handle leaks.
 
 * subversion/libsvn_subr/io.c
   (svn_io_file_create,
    svn_io_write_unique): Close file handle on writing errors.

r993258: 2010-09-07 07:32:34 [rhuijben] Bert Huijben

M  /subversion/mod_dav_svn/reports/log.c  [diff, log, file]

 * subversion/mod_dav_svn/reports/log.c
   (dav_svn__log_report): Partially revert r993246 to fix compilation.
     The malformed_element_error() function is not defined nor a public
     api.

r993253: 2010-09-07 07:28:10 [rhuijben] Bert Huijben

M  /subversion/libsvn_subr/win32_xlate.c  [diff, log, file]

 * subversion/libsvn_subr/win32_xlate.c
   (get_page_id_from_name): Revert r993183 for this function as it is
     impossible to return a svn_error_t* message via a apr status code.
     This fixes compilation of this file on Windows.

r993183: 2010-09-07 00:09:46 [stsp] Stefan Sperling

M  /subversion/include/svn_string.h  [diff, log, file]
M  /subversion/libsvn_diff/parse-diff.c  [diff, log, file]
M  /subversion/libsvn_ra_serf/serf.c  [diff, log, file]
M  /subversion/libsvn_subr/hash.c  [diff, log, file]
M  /subversion/libsvn_subr/io.c  [diff, log, file]
M  /subversion/libsvn_subr/svn_string.c  [diff, log, file]
M  /subversion/libsvn_subr/win32_xlate.c  [diff, log, file]
M  /subversion/mod_dav_svn/reports/log.c  [diff, log, file]
M  /subversion/mod_dav_svn/reports/replay.c  [diff, log, file]

 Introduce a new family of functions to parse numbers from strings.
 
 The goal is to replace direct calls to functions like atoi() and apr_atoi64(),
 which have very inconvenient error handling to the point where a lot of
 our code simply ignores conversion errors and continues operating with
 the converted data in potentially undefined state.
 The new functions, on the other hand, report conversion errors via the
 standard Subversion error handling interface, thereby not allowing callers
 to ignore conversion errors.
 
 This commit also switches selected pieces of code over to the new functions.
 More conversion to come.
 
 * subversion/include/svn_string.h
   (svn_cstring_strtoi64, svn_cstring_atoi64, svn_cstring_atoi,
    svn_cstring_strtoui64, svn_cstring_atoui64, svn_cstring_atoui): Declare.
 
 * subversion/libsvn_subr/svn_string.c
   (): Include svn_private_config.h for the _() gettext macro.
   (svn_cstring_strtoi64, svn_cstring_strtoui64, svn_cstring_atoi64,
    svn_cstring_atoi): New.
 
 * subversion/libsvn_ra_serf/serf.c
   (dirent_walker): Use svn_cstring_atoi64() instead of apr_atoi64().
 
 * subversion/libsvn_diff/parse-diff.c
   (parse_offset): Call svn_cstring_strtoui64() instead of calling
    apr_atoi64() and performing manual overflow checking.
 
 * subversion/mod_dav_svn/reports/log.c
   (dav_svn__log_report): Use svn_cstring_atoi() instead of atoi() for
    parsing CDATA of the "limit" element.
 
 * subversion/mod_dav_svn/reports/replay.c
   (dav_svn__replay_report): Use svn_cstring_strtoi64() instead of atoi() for
    parsing CDATA of the "send-deltas" element.
 
 * subversion/libsvn_subr/win32_xlate.c
   (get_page_id_from_name): Use svn_cstring_atoui() instead of atoi() to parse
    the number of a codepage.
 
 * subversion/libsvn_subr/io.c
   (svn_io_read_version_file): Use svn_cstring_atoi() instead of atoi().
 
 * subversion/libsvn_subr/hash.c
   (svn_hash_read): Use svn_cstring_atoi() instead of atoi().

r993160: 2010-09-06 21:58:04 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Convert more to SVN_WC__NODES.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_BASE_NODE_DATA_INCOMPLETE_DIR): Remove - obsolete.
 
  * subversion/libsvn_wc/wc_db.c
    (insert_base_node): Fix format string for 'changed_date'; promoting
     a NODES section to SVN_WC__NODES.
    (insert_complete_working_children): Convert SVN_WC__NODE_DATA sections
     to SVN_WC__NODES. Add SVN_WC__NODES_ONLY sections.
    (set_new_dir_to_incomplete_txn): Convert SVN_WC__NODE_DATA sections
     to SVN_WC__NODES.
 

r993149: 2010-09-06 20:45:10 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Mark more sections SVN_WC__NODES_ONLY.
 
  * subversion/libsvn_wc/wc_db.c
    (svn_wc__db_temp_op_set_file_external,
     set_new_dir_to_incomplete_txn): Enclose sections in ifndef/endif.
 

r993147: 2010-09-06 20:37:59 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Migrate some NODE_DATA sections to NODES.
 
  * subversion/libsvn_wc/wc_db.c
    (insert_base_node): Comment out SVN_WC__NODES section, because
     it seems to cause segfaults. More investigation later.
     Convert other SVN_WC__NODE_DATA sections to SVN_WC__NODES;
     mark the BASE_NODE section ifndef SVN_WC__NODES_ONLY for easier
     transition.
 

r993141: 2010-09-06 20:02:15 [hwright] Hyrum Wright

Click to show all 352 changes...

 On the performance branch:
 Bring up-to-date with trunk.

r993127: 2010-09-06 19:13:39 [hwright] Hyrum Wright

Click to show all 211 changes...

 On the performance branch:
 Merge up to trunk@970000.

r993116: 2010-09-06 18:13:32 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]

  * subversion/libsvn_wc/wc-queries.sql (STMT_INSERT_NODE): Correct column name.

r993102: 2010-09-06 17:27:59 [artagnon] User: artagnon

M  /subversion/svnrdump/svnrdump.c  [diff, log, file]

 * subversion/svnrdump/svnrdump.c
   (main): Dump only the single specified revision number when only one
   is passed to the '-r' option.
   (svnrdump__cmd_table, svnrdump__options): Track this change in the
   usage strings.
 
 Patch by: Vijayaguru G <vijay@...>

r993073: 2010-09-06 15:37:36 [stsp] Stefan Sperling

M  /tools/dev/unix-build/Makefile.svn  [diff, log, file]

 * tools/dev/unix-build/Makefile.svn: Build with SASL support.

r993041: 2010-09-06 14:28:48 [ehu] Erik Hülsmann

M  /subversion/tests/libsvn_wc/db-test.c  [diff, log, file]

 In the tests, adjust for the new NODES schema.
 
  * subversion/tests/libsvn_wc/db-test.c
    (create_fake_wc): Add statement to create NODES table.
 
 

r993039: 2010-09-06 14:24:52 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/relocate.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]
M  /subversion/tests/libsvn_wc/db-test.c  [diff, log, file]

 Remove multi-db support from wc_db.c. No functional changes.
 This leaves a few #ifdef SINGLE_DB statements that need further research.
 
 * subversion/libsvn_wc/relocate.c
   (svn_wc_relocate4): Remove single_db argument from call.
 
 * subversion/libsvn_wc/wc_db.c
   (kind_map): Remove subdir.
 
   (*): Evaluate SINGLE_DB and SVN_WC__SINGLE_DB
   (svn_wc__db_global_relocate): Remove single_db argument.
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__db_global_relocate): Remove single_db argument.
 
 * subversion/tests/libsvn_wc/db-test.c
   (test_global_relocate): Update caller.

r993037: 2010-09-06 14:15:36 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 To make Visual C++ happy, replace a conditional with a ### comment.

r993036: 2010-09-06 14:14:25 [stsp] Stefan Sperling

M  /tools/dev/unix-build/Makefile.svn  [diff, log, file]

 * tools/dev/unix-build/Makefile.svn: Use serf from 0.7.x branch.

r993033: 2010-09-06 14:01:58 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Fix typo in the name of a static function.

r993032: 2010-09-06 14:00:33 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Add NODES query.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_NODE): New.
 
  * subversion/libsvn_wc/wc_db.c (insert_base_node): Convert
     SVN_WC__NODE_DATA block to SVN_WC__NODES. Mark BASE_NODE block
     using SVN_WC__NODES_ONLY.
 

r993031: 2010-09-06 13:52:07 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]

 Cleanup some wc_db definitions for single-db, better debug and
 intellisense information for Visual Studio and easier identification
 in commit emails.
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__db_openmode_t): Give the enum a name.
   (svn_wc__db_kind_t): Name the enum and remove subdir type.
   (svn_wc__db_status_t): Name enum and remove obstructed values.
   (svn_wc__db_lock_t): Give the struct a name.

r993028: 2010-09-06 13:47:23 [rhuijben] Bert Huijben

Click to show all 14 changes...

 Remove the remaining checks for obstruction statee in libsvn_wc. These
 statee are no longer returned from the wc_db api since we switched to
 single-db. This is a a final cleanup step before removing some parts
 of the multi-db support.
 
 No functional change.
 
 * subversion/libsvn_wc/adm_crawler.c
   (report_revisions_and_depths): Disable check for obstructed.
 
 * subversion/libsvn_wc/adm_files.c
   (svn_wc__get_pristine_contents): Disable check for obstructed and
     remove base-deleted check (value is wc_db internal).
   (svn_wc__internal_ensure_adm): Disable check for obstructed.
 
 * subversion/libsvn_wc/adm_ops.c
   (process_committed_leaf,
    svn_wc__process_committed_internal,
    svn_wc_add4): Disable obstructed status checks.
 
 * subversion/libsvn_wc/copy.c
   (svn_wc_copy3): Disable obstructed check.
 
 * subversion/libsvn_wc/crop.c
   (svn_wc_exclude,
    svn_wc_crop_tree2): Disable obstructed checks.
 
 * subversion/libsvn_wc/diff.c
   (file_diff): Remove obstructed check (file couldn't be obstructed)
 
 * subversion/libsvn_wc/entries.c
   (get_base_info_for_deleted,
    read_one_entry): Disable obstructed checks.
 
 * subversion/libsvn_wc/lock.c
   (adm_available): Disable obstructed checks.
 
 * subversion/libsvn_wc/node.c
   (svn_wc__node_get_repos_info,
    svn_wc__internal_node_get_url,
    svn_wc__node_get_repos_relpath,
    svn_wc__internal_get_copyfrom_info,
    svn_wc__node_is_status_deleted,
    svn_wc__node_is_added,
    svn_wc__internal_is_replaced,
    svn_wc__node_get_commit_base_rev,
    svn_wc__internal_node_get_schedule): Disable checks for obstructed statee.
 
 * subversion/libsvn_wc/props.c
   (svn_wc__get_pristine_props): Disable check for obstructed.
 
 * subversion/libsvn_wc/revision_status.c
   (analyze_status): Disable check for obstructed status.
 
 * subversion/libsvn_wc/status.c
   (internal_status): Disable obstructed test.
 
 * subversion/libsvn_wc/update_editor.c
   (node_get_relpath_ignore_errors,
    create_tree_conflict,
    check_tree_conflict,
    add_directory): Disable obstructed checks.
 
 * subversion/libsvn_wc/workqueue.c
   (remove_base_node,
    log_do_committed): Disable obstructed checks.

r993026: 2010-09-06 13:41:15 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-metadata.sql  [diff, log, file]

 Remove ### comment answered in the comment above.

r993021: 2010-09-06 13:20:29 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 * subversion/libsvn_wc/wc_db.c
   (svn_wc__db_temp_op_delete):
   (svn_wc__db_global_relocate): Don't check for obstruction statee in
     single-db mode.

r993015: 2010-09-06 13:02:14 [ehu] Erik Hülsmann

M  /subversion/include/private/svn_sqlite.h  [diff, log, file]
M  /subversion/libsvn_subr/sqlite.c  [diff, log, file]

 Add 'n' (no binding) binding type to svn_sqlite__bindf() to allow
 delayed binding of a small subset of columns.
 
  * subversion/include/private/svn_sqlite.h
  * subversion/libsvn_subr/sqlite.c
    (svn_sqlite__bindf): Add 'n' format specifier for skipped columns.
 

r993005: 2010-09-06 12:04:33 [ehu] Erik Hülsmann

M  /subversion/include/private/svn_sqlite.h  [diff, log, file]
M  /subversion/libsvn_subr/sqlite.c  [diff, log, file]

 Add 'r' format string specifier for revision numbers.
 
  * subversion/include/private/svn_sqlite.h
  * subversion/libsvn_subr/sqlite.c
    (vbindf): Dispatch 'r' format specifier.
    (svn_sqlite__bind_revnum): New. Inverse of svn_sqlite__column_revnum().
 

r992997: 2010-09-06 11:12:01 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-metadata.sql  [diff, log, file]

 Add comment as suggested by rhuijben.

r992993: 2010-09-06 10:57:12 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-metadata.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Add schema for the (experimental) NODES table, which will eventually
 replace WORKING_NODE, BASE_NODE and NODE_DATA.
 
  * subversion/libsvn_wc/wc-metadata.sql
    (STMT_CREATE_NODES): New.
 
  * subversion/libsvn_wc/wc_db.c (create_db): Create NODES table,
     inside SVN_WC__NODES block.
 

r992967: 2010-09-06 08:12:14 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Add another NODE_DATA query.
 
  * subversion/libsvn_wc/wc_db.c
    (svn_wc__db_temp_op_set_file_external): Insert data into NODE_DATA
     when inserting into BASE_NODE.
 

r992911: 2010-09-06 00:16:51 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Fix another size conversion warning that slipped under the radar.
 Once we are at it, fix formatting of code and comments in the
 same function.
 
 * subversion/libsvn_subr/cache-membuffer.c
   (svn_cache__membuffer_cache_create): fix conversion warning
    for apr_palloc call; various formatting fixes

r992905: 2010-09-05 22:30:09 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/svn_file_handle_cache.c  [diff, log, file]

 Format fix:
 Remove spaces between function name and the opening parentheses
 
 * subversion/libsvn_subr/svn_file_handle_cache.c
   (find_first, open_entry): fix calls to assert()

r992904: 2010-09-05 22:27:48 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]
M  [performance] /subversion/libsvn_ra_svn/marshal.c  [diff, log, file]
M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]
M  [performance] /subversion/libsvn_subr/io.c  [diff, log, file]

 Fix various integer size conversion warnings.
 
 For buffer pre-allocations it is sufficient to silence the
 warning as those buffers would be expanded automatically,
 if they had to. But the system will run OOM before that.
 
 * subversion/libsvn_fs_fs/fs_fs.c
   (rep_read_get_baton): silence conversion warning
   (fulltext_size_is_cachable): reject caching for huge items
    on 32 bit systems
 * subversion/libsvn_ra_svn/marshal.c
   (read_string): silence conversion warning
 * subversion/libsvn_subr/io.c
   (svn_io_open_uniquely_named): dito
 * subversion/libsvn_ra_svn/marshal.c
   (NO_INDEX, NO_OFFSET): introduce proper unsigned defines
   (entry_t, svn_membuffer_t): adapt commentary
   (align_entry): replace
   (ALIGN_VALUE, ALIGN_POINTER): introduce alignment macros that
    avoid conversion issues
   (drop_entry, insert_entry, get_group_index, find_entry, move_entry,
    membuffer_cache_set, membuffer_cache_get): use new defines
   (ensure_data_insertable, svn_cache__membuffer_cache_create):
    use new defines; fix local variable types

r992899: 2010-09-05 22:00:40 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Improve scalability by segmenting the cache: the mutex is likely
 to experience high contention in case all data is cache.
 
 So, use an array of caches ("segments"), each segment being
 completely independent from all other segments. The hash key
 is used to unambiguously assign items to segments.
 
 * subversion/libsvn_subr/cache-membuffer.c
   improve documentary
   (CACHE_SEGMENTS): new define
   (get_group_index): select the cache segment, too
   (svn_cache__membuffer_cache_create): allocate and initialize
    CACHE_SEGMENTS cache segments instead of just one.
   (membuffer_cache_set, membuffer_cache_get,
    membuffer_cache_get_partial): adapt to signature changes
   (svn_membuffer_cache_is_cachable): max item size depends on #segments

r992893: 2010-09-05 20:57:26 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Fix conditional NODE_DATA section.
 
  * subversion/libsvn_wc/wc_db.c
    (svn_wc__db_temp_set_parent_stub_to_normal): Convert NODE_DATA
     conditional section to SVN_WC__NODE_DATA.
 
 

r992886: 2010-09-05 20:16:10 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Add another NODE_DATA query and add an invocation to a pre-existing one.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_BASE_NODE_DATA_INCOMPLETE_DIR): New query.
 
  * subversion/libsvn_wc/wc_db.c
    (svn_wc__db_temp_set_parent_stub_to_normal): Add invocation to
     STMT_INSERT_NODE_DATA accidentally skipped in an earlier round of
     conversions.
    (set_new_dir_to_incomplete_baton_txn): Use new query to update NODE_DATA.
 
 

r992884: 2010-09-05 19:59:09 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Remove SINGLE_DB conditional, now that we made the switch.
 
  * subversion/libsvn_wc/wc_db.c (insert_working_node): Remove
     conditional inside SVN_WC__NODE_DATA conditional block.
 

r992873: 2010-09-05 19:29:18 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Convert another query to NODE_DATA.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_APPLY_CHANGES_TO_BASE_NODE_DATA): New query.
 
  * subversion/libsvn_wc/wc_db.c (commit_node): Use new query inside
     SVN_WC__NODE_DATA block.
 
 

r992792: 2010-09-05 14:22:51 [dongsheng] Dongsheng Song

M  [1.6.x] /subversion/po/zh_CN.po  [diff, log, file]

 Chinese translation update on the '1.6.x' branch:
 
 * subversion/po/zh_CN.po: Update Chinese translation.

r992566: 2010-09-04 09:20:03 [rhuijben] Bert Huijben

M  /notes/wc-ng/conflict-storage  [diff, log, file]

 * notes/wc-ng/conflict-storage
   (intro): Note that we have to store the names of the conflict markers
     somewhere to keep compatibility with preserved-conflict-file-exts and
     obstructing filenames.

r992402: 2010-09-03 18:17:12 [dannas] Daniel Näslund

M  /subversion/tests/cmdline/diff_tests.py  [diff, log, file]

 Make some diff tests not depend on ordering of output.
 
 There is no guarentee that all RA layers will return the
 information in the same order.
 
 * subversion/tests/cmdline/diff_tests.py
   (diff_git_format_wc_wc,
    diff_git_format_url_wc,
    diff_git_format_url_url): Don't depend on ordering for output.

r992391: 2010-09-03 17:36:50 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/wc.h  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]

 Move the svn_wc__internal_get_copyfrom_info() prototype to the right
 header file for this kind of functions.
 
 * subversion/libsvn_wc/wc.h
   (svn_wc__internal_get_copyfrom_info): Move prototype here...
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__internal_get_copyfrom_info): ... from here.

r992390: 2010-09-03 17:34:52 [rhuijben] Bert Huijben

M  /subversion/include/private/svn_sqlite.h  [diff, log, file]
M  /subversion/libsvn_subr/sqlite.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]

 Add a few helper functions to allow experimenting with SQLite operations
 inside SAVEPOINTs. This allows taking out a shared read lock for longer than
 the duration of a single SQLite statement, which gives a huge performance
 boost in some hacky tests. (Especially with SQLite 3.7 and on Windows, where
 some of the WAL code slows down SQLite more than it used to do in 3.6)
 
 * subversion/include/private/svn_sqlite.h
   (svn_sqlite__with_lock): New function.
 
 * subversion/libsvn_subr/sqlite.c
   (svn_sqlite__with_lock): New function.
 
 * subversion/libsvn_wc/wc_db.c
   (with_sqlite_lock_baton): New struct.
   (call_sqlite_lock_cb): New function.
   (svn_wc__db_with_sqlite_lock): New function.
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__db_with_sqlite_lock): New function.

r992343: 2010-09-03 15:58:28 [philip] Philip Martin

M  /subversion/tests/cmdline/externals_tests.py  [diff, log, file]

 Add an XFail regression test for a file external bug.
 
 * subversion/tests/cmdline/externals_tests.py
   (update_modify_file_external): New.
   (test_list): Mark update_modify_file_external XFail.

r992336: 2010-09-03 15:48:16 [julianfoad] Julian Foad

M  /subversion/libsvn_subr/hash.c  [diff, log, file]

 * subversion/libsvn_subr/hash.c
   (svn_hash_keys): Simplify the code a little.

r992314: 2010-09-03 14:49:06 [pburba] Paul T. Burba

M  /subversion/libsvn_client/merge.c  [diff, log, file]

 Fix a few buglets with error creation for issue #2915 fix in r992042.
 
 * subversion/libsvn_client/merge.c
 
   (get_mergeinfo_paths): Remove shadowed declaration of iterpool. Use a
    svn_stringbuf_t rather than a C-string to to build an unbounded error
    message. Use an iterpool for temporary allocations while building the
    same, *not* for allocating the apr_hash_index_t iterator! And finally,
    remove a redundant if ().
 
 Suggested by: julianfoad, philip

r992276: 2010-09-03 12:21:34 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/update_editor.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]
M  /subversion/tests/cmdline/update_tests.py  [diff, log, file]

 Fix a bug introduced by incomplete transition to single-DB, and add a test
 for it as it wasn't found by the test suite.
 
 * subversion/libsvn_wc/update_editor.c
   (tweak_node): Assert that the caller didn't request the 'parent stub'.
   (tweak_entries): Don't special-case a call to tweak_node().
   (do_update_cleanup): Don't special-case a call to tweak_node().
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__db_temp_op_set_rev_and_repos_relpath): Note that the
     'update_stub' parameter should be removed.
 
 * subversion/tests/cmdline/update_tests.py
   (update_with_excluded_subdir): New test.
   (test_list): Add the new test.

r992125: 2010-09-02 21:45:15 [hwright] Hyrum Wright

A  [javahl-ra] /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNReposAccess.cpp  [log, file]
A  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.cpp  [log, file]
A  [javahl-ra] /subversion/bindings/javahl/native/SVNReposAccess.h  [log, file]
A  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNReposAccess.java  [log, file]
A  [javahl-ra] /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java  [log, file]
M  [javahl-ra] /subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java  [diff, log, file]
A  [javahl-ra] /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java  [log, file]

 On the javahl-ra branch:
 Add the plumbing to start wrapping the ra layer in JavaHL. This doesn't
 actually *do* anything yet, but it does create the initial interface and
 test classes.
 
 [ in subversion/bindings/javahl/ ]
 * tests/org/apache/subversion/javahl/RunTests.java
   (suite): Add the new RA test suite.
 
 * tests/org/apache/subversion/javahl/SVNRATests.java,
   src/org/apache/subversion/javahl/ISVNReposAccess.java,
   src/org/apache/subversion/javahl/SVNReposAccess.java,
   native/SVNReposAccess.h,
   native/SVNReposAccess.cpp,
   native/org_apache_subversion_javahl_SVNReposAccess.cpp:
   New.

r992114: 2010-09-02 20:56:42 [pburba] Paul T. Burba

M  /subversion/tests/cmdline/externals_tests.py  [diff, log, file]

 A new test for merge tracking and externals.
 
 See http://svn.haxx.se/dev/archive-2010-08/0088.shtml
 
 * subversion/tests/cmdline/externals_tests.py
 
   (merge_target_with_externals): New test.
 
   (test_list): Add merge_target_with_externals.

r992050: 2010-09-02 18:51:09 [pburba] Paul T. Burba

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 Follow-up to r992042, fix spurious failure on non-windows platforms.
 
 * subversion/tests/cmdline/merge_tests.py
 
   (merge_with_os_deleted_subtrees): I don't think that means what you think
    it means: os.pathsep is used by the operating system to separate search
    path components, os.sep is what we want.
 

r992042: 2010-09-02 18:10:01 [pburba] Paul T. Burba

M  /subversion/libsvn_client/merge.c  [diff, log, file]
M  /subversion/tests/cmdline/merge_authz_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/merge_tree_conflict_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/svntest/actions.py  [diff, log, file]

 Fix issue #2915 'Handle mergeinfo for subtrees missing due to removal by
 non-svn command'.
 
 With this change, if you attempt a merge-tracking aware merge to a WC
 which is missing subtrees due to an OS-level deletion, then an error is
 raised before any editor drives begin. The error message describes the
 root of each missing path.
 
 * subversion/libsvn_client/merge.c
 
  (get_mergeinfo_walk_baton): Add some new members for tracking sub-
   directories' dirents.
 
  (record_missing_subtree_roots): New function.
 
  (get_mergeinfo_walk_cb): Use new function to flag missing subtree
   roots.
 
  (get_mergeinfo_paths): Raise a SVN_ERR_CLIENT_NOT_READY_TO_MERGE error if
   any unexpectedly missing subtrees are found.
 
 * subversion/tests/cmdline/merge_authz_tests.py
 
   (skipped paths get overriding mergeinfo): Don't test the file missing via
    OS-delete scenario, this is now covered in a much clearer manner in the
    new merge_tests.py.merge_with_os_deleted_subtrees test. Also remove not
    about testing a missing directory, that is also covered in the new test.
 
 * subversion/tests/cmdline/merge_tests.py
 
  (merge_into_missing): Use --ignore-ancestry during this test's merge to
   disregard mergeinfo and preserve the original intent of the test.
 
  (skipped_files_get_correct_mergeinfo): Use a shallow WC to rather than an
   OS-level delete to test issue #3440. Remove the second part of this test
   which has no relevance now that merge tracking doesn't tolerate subtrees
   missing via OS-deletion.
 
  (merge_with_os_deleted_subtrees): New test.
 
  (test_list): Add merge_with_os_deleted_subtrees.
 
 * subversion/tests/cmdline/merge_tree_conflict_tests.py
 
   (tree_conflicts_merge_edit_onto_missing,
    tree_conflicts_merge_del_onto_missing): Use --ignore-ancestry during these
    tests' merges to disregard mergeinfo and preserve the original intent of
    the test. Don't bother with the post-merge commit either, since there is
    nothing to commit as there are no mergeinfo changes.
 
 * subversion/tests/cmdline/svntest/actions.py
 
   (deep_trees_run_tests_scheme_for_merge): Add new args allowing caller to
    use --ignore-ancestry during the merge and to skip the post merge commit
    if desired.

r992041: 2010-09-02 18:04:32 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/CreateJ.cpp  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  [diff, log, file]

 JavaHL: Make a couple of URI fields of the public java.net.URI type.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
   (getLogMessage): Retrieve the string from the commit item.
 
 * subversion/bindings/javahl/native/CreateJ.cpp
   (CommitItem): Create the URIs for the commit item.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java
   (url, copyUrl): Re-type as URIs.
   (CommitItem): Accept URI parameters.
   (getUrl, getCopyUrl): Return URIs.
 
 * subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
   (CommitItem): Update wrapper constructor.

r992028: 2010-09-02 17:34:42 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java  [diff, log, file]

 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java
   (suite): Add a few type parameterizations to satisfy the compiler.

r992024: 2010-09-02 17:14:49 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 Make upgrade a bit more user friendly.
 
 * subversion/libsvn_wc/upgrade.c
   (upgrade_working_copy): Skip if this dir is later than 1.6.
   (svn_wc_upgrade): Include path in error message.

r992019: 2010-09-02 16:55:45 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 Remove some unused upgrade code.
 
 * subversion/libsvn_wc/upgrade.c
   (get_versioned_subdirs): Remove db parameter, only support 1.6 wc.
   (upgrade_working_copy): Adjust format check to only support 1.6 wc.

r992017: 2010-09-02 16:45:33 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java  [diff, log, file]
D  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java  [old log]
A  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java  [log, file]  (copied from r992010 of /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java)

 JavaHL: Rename a test class to reflect the name change to the class it is
 testing.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java:
     Rename from this...
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java:
     ...to this.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java:
   (suite): Update reference.

r992010: 2010-09-02 16:34:58 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  [diff, log, file]

 JavaHL: Use the java.net.URI class internally in the tests. There are a few
 places we can / should use it in the public API as a more appropriate type
 than a simple String, but testing it out on the tests first is initialy safer.
 
 [ in subversion/bindings/javahl/ ]
 * tests/org/apache/subversion/javahl/SVNAdminTests.java:
   Update API calls to de-wrap the URI.
 
 * tests/org/apache/subversion/javahl/BasicTests.java:
   Same.
 
 * tests/org/apache/subversion/javahl/SVNTests.java
   (OneTest.makeReposUrl): Return a URI.
   (OneTest.url): Change from String to URI.
   (OneTest.getUrl): Return a URI.
   (OneTest.createInitialWorkingCopy): Use the URI type.

r992009: 2010-09-02 16:34:29 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 * subversion/libsvn_wc/upgrade.c
   (upgrade_to_wcng, svn_wc_upgrade: Remove SVN_WC__SINGLE_DB conditional
    code.

r992007: 2010-09-02 16:28:32 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 Implement pre-1.7 working copy root check for upgrade.
 
 * subversion/libsvn_wc/upgrade.c
   (is_old_wcroot): New.
   (svn_wc_upgrade): Check path is a working copy root.

r992004: 2010-09-02 16:18:45 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/tree_conflicts.c  [diff, log, file]

 * subversion/libsvn_wc/tree_conflicts.c
   (svn_wc__write_tree_conflicts): Remove an obsolete comment.

r991978: 2010-09-02 15:21:08 [hwright] Hyrum Wright

A  [javahl-ra] /  [log, file]  (copied from r991977 of /)

 Create javahl-ra branch, to experiment with exposing some bits of the RA
 library over JavaHL.

r991976: 2010-09-02 15:18:37 [stsp] Stefan Sperling

M  [1.6.x] /STATUS  [diff, log, file]

 * STATUS: Nominate r991973.

r991973: 2010-09-02 15:16:07 [stsp] Stefan Sperling

M  [1.6.x-issue3700] /subversion/libsvn_client/commit.c  [diff, log, file]

 On the 1.6.x-issue3700 branch:
 
 Prevent svn_wc_process_committed_queue() from trying to lock working copy
 paths which are beyond the depth of the commit operation.
 Fixes the working copy corruption bug tracked by issue #3700.
 
 * subversion/libsvn_client/commit.c
   (post_commit_baton): Remember the commit depth here.
   (post_process_commit_item): Do not tell svn_wc_queue_committed2 to recurse
    if doing so will exceed the depth of the commit operation.
   (svn_client_commit4): Store depth of the commit in the post_commit_baton.

r991972: 2010-09-02 15:14:48 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/svntest/sandbox.py  [diff, log, file]

 * subversion/tests/cmdline/svntest/sandbox.py
   (_set_name): Use shutil.move() instead of os.rename() to allow replacing
     files on Windows.

r991970: 2010-09-02 15:12:29 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java  [diff, log, file]

 JavaHL: Privatize a method.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (getCppAddr): Make private.
 
 * subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
   (SVNClient): Use a bogus value for the cppAddr, since there is no C++
     proxy object for this class anymore.

r991967: 2010-09-02 15:11:10 [stsp] Stefan Sperling

A  [1.6.x-issue3700] /  [log, file]  (copied from r991966 of [1.6.x] /)

 Create backport branch for issue #3700 patch.

r991958: 2010-09-02 14:50:30 [rhuijben] Bert Huijben

M  /subversion/mod_dav_svn/util.c  [diff, log, file]

 Following up on r991239, fix a missing variable initialization error which
 made it impossible to start httpd on Windows when compiling in debug mode.
 (In debug/maintainer mode the compiler adds some assertion code, which
 crashed httpd)
 
 * subversion/mod_dav_svn/util.c
   (request_body_to_string): Make sure content_length is always initialized.

r991941: 2010-09-02 14:05:58 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Don't create ACTUAL_NODE records to only insert NULL values in three
 wc_db calls.
 
 * subversion/libsvn_wc/wc_db.c
   (set_props_txn): Don't create actual row to set changed properties to
     NULL.
   (svn_wc__db_temp_op_set_text_conflict_marker_files,
    svn_wc__db_temp_op_set_property_conflict_marker_file):
      Don't create ACTUAL row to clear conflict data.

r991894: 2010-09-02 11:33:45 [julianfoad] Julian Foad

M  /subversion/include/private/svn_wc_private.h  [diff, log, file]

 * subversion/include/private/svn_wc_private.h
   (svn_wc__node_is_status_obstructed, svn_wc__temp_mark_missing_not_present):
     Delete, to fix the Windows build. (Limitation of 'extractor.py'.)

r991887: 2010-09-02 10:59:27 [julianfoad] Julian Foad

M  /subversion/include/private/svn_wc_private.h  [diff, log, file]
M  /subversion/libsvn_client/commit.c  [diff, log, file]
M  /subversion/libsvn_client/commit_util.c  [diff, log, file]
M  /subversion/libsvn_client/merge.c  [diff, log, file]

 To make it easier to do a multi-DB build, define SVN_WC__SINGLE_DB in the WC
 private header so the client code can see it, and replace "#if 0" with
 "#ifndef SVN_WC__SINGLE_DB" in the client code.
 
 * subversion/include/private/svn_wc_private.h
   Define SVN_WC__SINGLE_DB, unconditionally. Add a comment that it's also
   defined in "wc.h". Replace "#if 0" with "#ifndef SVN_WC__SINGLE_DB".
 
 * subversion/libsvn_client/merge.c
   subversion/libsvn_client/commit_util.c,
   subversion/libsvn_client/commit.c
     Replace "#if 0" with "#ifndef SVN_WC__SINGLE_DB".

r991856: 2010-09-02 08:43:01 [julianfoad] Julian Foad

M  /subversion/site/publish/roadmap.html  [diff, log, file]

 * roadmap.html: Note that single-DB upgrade is in progress.

r991732: 2010-09-01 22:12:19 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/status.c  [diff, log, file]

 * subversion/libsvn_wc/status.c
   (assemble_status): Following up on r991723, make sure has_props is
     always initialized.

r991723: 2010-09-01 21:58:57 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/status.c  [diff, log, file]

 * subversion/libsvn_wc/status.c
   (assemble_status): Simplify the has properties check to avoid some
     expensive checks. We don't have to check actual properties as these
     must have the same value or we would have seen property changes.

r991717: 2010-09-01 21:52:45 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/props.c  [diff, log, file]

 * subversion/libsvn_wc/props.c
   (load_actual_props): Remove function that only wrapped
     svn_wc__db_read_props.
 
   (svn_wc__get_actual_props,
    svn_wc__internal_propset,
    svn_wc__internal_propdiff): Update callers.

r991716: 2010-09-01 21:50:57 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/props.c  [diff, log, file]

 * subversion/libsvn_wc/props.c
   (load_pristine_props): Remove function that only wraps
     svn_wc__db_read_pristine_props.
 
   (immediate_install_props,
    svn_wc__get_pristine_props,
    svn_wc__internal_propdiff): Update callers.

r991705: 2010-09-01 21:03:50 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/CommitMessage.cpp  [diff, log, file]

 Followup to r991703 by updating a reference to the new class.
 
 * subversion/bindings/javahl/native/CommitMessage.cpp
   (getCommitMessage): Reference the updated class name.

r991703: 2010-09-01 20:58:58 [hwright] Hyrum Wright

D  /subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitMessage.java  [old log]
A  /subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/CommitMessageCallback.java  [log, file]  (copied from r991698 of /subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitMessage.java)
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  [diff, log, file]

 JavaHL: For consistency, rename the CommitMessage interface to
 CommitMessageCallback, and move it to the callback package.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java,
   subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java,
   subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java,
   subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java:
   Update references.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitMessage.java:
   Move from here...
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/CommitMessageCallback.java:
   ...to here.

r991698: 2010-09-01 20:44:39 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  [diff, log, file]

 Finish making the CommitMessage callbacks part of the public API.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java:
   Update tests.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
   (SVNTests): Don't set a default handler.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (commitMessageHandler, messageHandler, ConstMsg): Remove.
   (copy, move, mkdir, remove): Remove wrappers, update public API.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
   (commitMessageHandler): Remove.
   (copy, move, mkdir, remove): Update public API.
 
 * subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
   (commitMessageHandler): Don't call the proxy version of this method.
   (copy, move, mkdir, remove): Update wrappers.

r991679: 2010-09-01 20:12:00 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/update_tests.py  [diff, log, file]

 Add regression test on the update receives file with property conflict issue
 experienced by cmpilato when he converted to single-db.
 
 * subversion/tests/cmdline/update_tests.py
   (add_moved_file_has_props2): Add new test, based upon
     add_moved_file_has_props, but extended with an extra property
     change after the move.
   (test_list): Add add_moved_file_has_props2 as XFail test.
 
 Found by: cmpilato

r991663: 2010-09-01 19:20:13 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]

 Followup to r991656, this time with commit() and remove() APIs.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java:
   Update tests.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (remove, commit): Remove Java wrappers, and change the public API.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
   (remove, commit): Update the public API to take a commit message callback.
 
 * subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
   (remove, commit): Update wrappers.

r991662: 2010-09-01 19:18:33 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/svntest/wc.py  [diff, log, file]

 * subversion/tests/cmdline/svntest/wc.py
   (text_base_path): Verify if wc.db exists, to make sure we don't create
     a new per directory wc.db. This fixes a few upgrade tests on Windows.

r991656: 2010-09-01 19:10:15 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  [diff, log, file]

 JavaHL: Remove the native wrapper for doImport() by updating the public API
 to accept a commit message handler.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
   (testBasicImport, testBasicImportIgnores): Update tests.
   (ConstMsg): New helper class.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
   (setUp): Update the import API.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (doImport): Update the public API to add a log message callback.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
   (doImport): Same.
 
 * subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
   (commitMessageHandler): Update wrapper.
   (cachedHandler): New.
   (doImport): Update wrapper.
   (ConstMsg): New.

r991645: 2010-09-01 18:37:43 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java  [diff, log, file]

 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java
   (check): Improve test failure message.

r991642: 2010-09-01 18:34:26 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Fix some compatibility with the old entries world that was broken by using
 the SINGLE_DB define in wc_db.c. After this patch the generic flush_entries
 code is extended to automatically flush the parent stub entry (if that
 exists) if a directory is modified.
 
 * subversion/libsvn_wc/wc_db.c
   (flush_entries): Return svn_error_t and by looking at the local_abspath
     check if the parent nodes entries must also be flushed. We need a db
     and scratch pool to do this work and the pdh can't be seen as read only.
 
   (svn_wc__db_base_add_directory,
    svn_wc__db_base_add_file,
    svn_wc__db_base_add_symlink,
    svn_wc__db_base_add_absent_node,
    svn_wc__db_temp_base_add_subdir,
    svn_wc__db_op_copy_dir,
    svn_wc__db_op_copy_file,
    svn_wc__db_op_copy_symlink,
    svn_wc__db_op_add_directory,
    svn_wc__db_op_add_file,
    svn_wc__db_op_add_symlink): Update callers.
 
   (svn_wc__db_op_set_changelist): Update caller. No need to flush stubs.
 
   (svn_wc__db_op_set_tree_conflict,
    svn_wc__db_temp_op_remove_entry,
    svn_wc__db_temp_op_remove_working): Update callers.
 
   (update_depth_values): Update caller. Add some arguments to pass to
     flush_entries().
 
   (svn_wc__db_temp_op_set_dir_depth,
    db_working_update_presence
    db_working_actual_remove,
    db_working_insert,
    svn_wc__db_temp_set_keep_local,
    svn_wc__db_temp_op_set_base_incomplete,
    svn_wc__db_temp_op_start_directory_update,
    make_copy_txn,
    svn_wc__db_temp_set_parent_stub_to_normal,
    svn_wc__db_temp_op_set_rev_and_repos_relpath,
    svn_wc__db_temp_op_set_new_dir_to_incomplete): Update callers.

r991638: 2010-09-01 18:28:15 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/status.c  [diff, log, file]

 * subversion/libsvn_wc/status.c
   (assemble_status): Remove an old fallback from when svn_wc__db_read_info()
     didn't get the tree conflict status on versioned nodes.

r991631: 2010-09-01 18:11:34 [philip] Philip Martin

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java  [diff, log, file]

 Fix javahl testBasicRevert by adjusting the expected outcome to match
 the new single-db behaviour.
 
 * subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
 * subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
    (testBasicRevert): Children of a deleted/removed directory show up as
    status deleted, revert restores the tree.

r991619: 2010-09-01 17:44:41 [julianfoad] Julian Foad

M  /subversion/include/private/svn_wc_private.h  [diff, log, file]
M  /subversion/libsvn_client/commit.c  [diff, log, file]
M  /subversion/libsvn_client/commit_util.c  [diff, log, file]
M  /subversion/libsvn_client/merge.c  [diff, log, file]
M  /subversion/libsvn_wc/entries.c  [diff, log, file]
M  /subversion/libsvn_wc/node.c  [diff, log, file]

 Stop using svn_wc__node_is_status_obstructed(), as this kind of obstruction
 can no longer occur in single-DB mode.
 
 * subversion/libsvn_client/commit.c
   (post_process_commit_item): Don't handle an obstructed admin dir.
 
 * subversion/libsvn_client/commit_util.c
   (harvest_committables): Don't handle an obstructed admin dir.
 
 * subversion/libsvn_client/merge.c
   (obstructed_or_missing, get_mergeinfo_walk_cb): Don't handle an obstructed
     admin dir.
 
 * subversion/libsvn_wc/entries.c
   (svn_wc__temp_mark_missing_not_present): Remove.
 
 * subversion/libsvn_wc/node.c
   (svn_wc__node_is_status_obstructed): Remove.
 
 * subversion/include/private/svn_wc_private.h
   (svn_wc__node_is_status_obstructed): Remove.
   (svn_wc__temp_mark_missing_not_present): Remove.

r991618: 2010-09-01 17:36:47 [hwright] Hyrum Wright

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Don't interleave a #define inside another macro. (The windows build doesn't
 like this too much.)
 
 * subversion/libsvn_wc/wc_db.c
   (temp_cross_db_copy): As above.

r991599: 2010-09-01 16:46:10 [philip] Philip Martin

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 Fix merge_tests 29. When merge adds a directory its children no longer
 show as status 'A', and so when committing such a directory the children
 are no longer explicitly added. So the status output has changed but it's
 doing the right thing and so should be a PASS.
 
  * subversion/tests/cmdline/merge_tests.py
    (merge_dir_replace): Adjust expected outputs.
    (test_list): Mark merge_dir_replace PASS.

r991581: 2010-09-01 16:02:52 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]

 * subversion/libsvn_wc/wc_db.h,
   subversion/libsvn_wc/wc_db.c
   (svn_wc__db_temp_remove_subdir_record): Remove in single-DB mode.

r991570: 2010-09-01 15:21:40 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]

 Remove an unused struct definition.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (log_msg_baton): Remove.

r991569: 2010-09-01 15:18:10 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/ClientContext.h  [diff, log, file]
M  /subversion/bindings/javahl/native/CommitMessage.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/CommitMessage.h  [diff, log, file]
M  /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.h  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]

 JavaHL: First part of an effort to simplify the commit message callback
 handling. In C++-land, don't hold a global reference to a commit message
 callback, but instead require each commit-y API to provide a commit message
 callback.
 
 * subversion/bindings/javahl/native/CommitMessage.h
   (makeCCommitMessage): Remove.
   (callback): New.
   (getCommitMessage): Make protected.
   (CommitMessage): Make public.
 
 * subversion/bindings/javahl/native/SVNClient.h
   (doImport, mkdir, commit, remove, move, copy): Replace the message param
     with the commit callback.
 
 * subversion/bindings/javahl/native/SVNClient.cpp
   (remove, commit, copy, move, doImport, mkdir): Same.
 
 * subversion/bindings/javahl/native/CommitMessage.cpp
   (~CommitMessage): Don't destory the reference (no need).
   (callback): New.
   (makeCCommitMessage): Remove.
   (getCommitMessage): Return the log message through output params.
 
 * subversion/bindings/javahl/native/ClientContext.h
   (m_commitMessage, getCommitMessage, getCommitMessageBaton): Remove.
   (getContext): Accept a commit message handler, rather than a message.
   (commitMessageHandler): Remove.
 
 * subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
   (Java_org_apache_subversion_javahl_SVNClient_commitMessageHandler): Remove.
   (Java_org_apache_subversion_javahl_SVNClient_remove,
    Java_org_apache_subversion_javahl_SVNClient_commit,
    Java_org_apache_subversion_javahl_SVNClient_copy,
    Java_org_apache_subversion_javahl_SVNClient_move,
    Java_org_apache_subversion_javahl_SVNClient_mkdir,
    Java_org_apache_subversion_javahl_SVNClient_doImport):
     Convert to use an explicit commit message handler, rather than just a
     commit message.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (ClientContext): Don't initialize the global commit message value,
     but do initialize the log message func.
   (~ClientContext): Don't destroy the global commit message value.
   (getContext): Set the log message baton as the provided message handler.
   (getCommitMessage, getCommitMessageBaton, commitMessageHandler): Remove.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (commitMessageHandler): Add a native implementation.
   (remove, commit, copy, move, mkdir, doImport): Implement the public API as
     wrappers around the update C++ APIs.
   (ConstMsg): New helper class to implement the above wrappers.

r991563: 2010-09-01 15:10:17 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]

 Remove 'svn_wc__db_kind_subdir' and disable some more 'parent stub' handling
 as none of this is required in single-DB mode.
 
 * subversion/libsvn_wc/wc_db.c
   (kind_map): Remove 'svn_wc__db_kind_subdir'.
   (svn_wc__db_base_add_absent_node): Don't add a parent stub.
   (svn_wc__db_temp_base_add_subdir): Delete, as it was unused.
   (svn_wc__db_base_get_info, svn_wc__db_base_get_info_from_parent,
    svn_wc__db_read_info): Don't handle 'svn_wc__db_kind_subdir'.
   (svn_wc__db_scan_addition): Don't check 'svn_wc__db_kind_subdir'.
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__db_kind_t): Remove 'svn_wc__db_kind_subdir'.
   (svn_wc__db_temp_base_add_subdir): Delete, as it was unused.
 Index: subversion/libsvn_wc/wc_db.c
 ===================================================================
 --- subversion/libsvn_wc/wc_db.c (revision 991548)
 +++ subversion/libsvn_wc/wc_db.c (working copy)
 @@ -2058,30 +2005,34 @@ svn_wc__db_base_get_info(svn_wc__db_stat
      {
        svn_wc__db_kind_t node_kind = svn_sqlite__column_token(stmt, 3,
                                                               kind_map);
 
        if (kind)
          {
 +#ifndef SVN_WC__SINGLE_DB
            if (node_kind == svn_wc__db_kind_subdir)
              *kind = svn_wc__db_kind_dir;
            else
 +#endif
              *kind = node_kind;
          }
        if (status)
          {
            *status = svn_sqlite__column_token(stmt, 2, presence_map);
 
 +#ifndef SVN_WC__SINGLE_DB
            if (node_kind == svn_wc__db_kind_subdir
                && *status == svn_wc__db_status_normal)
              {
                /* We're looking at the subdir record in the *parent* directory,
                   which implies per-dir .svn subdirs. We should be looking
                   at the subdir itself; therefore, it is missing or obstructed
                   in some way. Inform the caller. */
                *status = svn_wc__db_status_obstructed;
              }
 +#endif
          }
        if (revision)
          {
            *revision = svn_sqlite__column_revnum(stmt, 4);
          }
        if (repos_relpath)
 @@ -2241,30 +2192,34 @@ svn_wc__db_base_get_info_from_parent(svn
      {
        svn_wc__db_kind_t node_kind = svn_sqlite__column_token(stmt, 3,
                                                               kind_map);
 
        if (kind)
          {
 +#ifndef SVN_WC__SINGLE_DB
            if (node_kind == svn_wc__db_kind_subdir)
              *kind = svn_wc__db_kind_dir;
            else
 +#endif
              *kind = node_kind;
          }
        if (status)
          {
            *status = svn_sqlite__column_token(stmt, 2, presence_map);
 
 +#ifndef SVN_WC__SINGLE_DB
            if (node_kind == svn_wc__db_kind_subdir
                && *status == svn_wc__db_status_normal)
              {
                /* We're looking at the subdir record in the *parent* directory,
                   which implies per-dir .svn subdirs. We should be looking
                   at the subdir itself; therefore, it is missing or obstructed
                   in some way. Inform the caller. */
                *status = svn_wc__db_status_obstructed;
              }
 +#endif
          }
        if (revision)
          {
            *revision = svn_sqlite__column_revnum(stmt, 4);
          }
        if (repos_relpath)
 @@ -2981,13 +2936,16 @@ temp_cross_db_copy(svn_wc__db_t *db,
    svn_sqlite__stmt_t *stmt;
    svn_boolean_t have_row;
    svn_depth_t depth;
 
    SVN_ERR_ASSERT(kind == svn_wc__db_kind_file
                   || kind == svn_wc__db_kind_dir
 - || kind == svn_wc__db_kind_subdir);
 +#ifndef SVN_WC__SINGLE_DB
 + || kind == svn_wc__db_kind_subdir
 +#endif
 + );
 
    SVN_ERR(svn_wc__db_read_info(NULL /* status */,
                                 NULL /* kind */,
                                 NULL /* revision */,
                                 NULL /* repos_relpath */,
                                 NULL /* repos_root_url */,
 @@ -5122,22 +5080,24 @@ svn_wc__db_read_info(svn_wc__db_status_t
                   ### both set to 'incomplete'. */
                SVN_ERR_ASSERT((*status != svn_wc__db_status_absent
                                && *status != svn_wc__db_status_excluded
                                /* && *status != svn_wc__db_status_incomplete */)
                               || !*have_work);
 
 +#ifndef SVN_WC__SINGLE_DB
                if (node_kind == svn_wc__db_kind_subdir
                    && *status == svn_wc__db_status_normal)
                  {
                    /* We should have read a row from the subdir wc.db. It
                       must be obstructed in some way.
 
                       It is also possible that a WORKING node will override
                       this value with a proper status. */
                    *status = svn_wc__db_status_obstructed;
                  }
 +#endif
              }
 
            if (*have_work)
              {
                svn_wc__db_status_t work_status;
 
 @@ -5161,43 +5121,49 @@ svn_wc__db_read_info(svn_wc__db_status_t
                         || work_status == svn_wc__db_status_base_deleted)
                  {
                    /* The caller should scan upwards to detect whether this
                       deletion has occurred because this node has been moved
                       away, or it is a regular deletion. Also note that the
                       deletion could be of the BASE tree, or a child of
 - something that has been copied/moved here.
 + something that has been copied/moved here. */
 
 - If we're looking at the data in the parent, then
 +#ifndef SVN_WC__SINGLE_DB
 + /* If we're looking at the data in the parent, then
                       something has obstructed the child data. Inform
                       the caller. */
                    if (node_kind == svn_wc__db_kind_subdir)
                      *status = svn_wc__db_status_obstructed_delete;
                    else
 +#endif
                      *status = svn_wc__db_status_deleted;
                  }
                else /* normal */
                  {
                    /* The caller should scan upwards to detect whether this
                       addition has occurred because of a simple addition,
 - a copy, or is the destination of a move.
 + a copy, or is the destination of a move. */
 
 - If we're looking at the data in the parent, then
 +#ifndef SVN_WC__SINGLE_DB
 + /* If we're looking at the data in the parent, then
                       something has obstructed the child data. Inform
                       the caller. */
                    if (node_kind == svn_wc__db_kind_subdir)
                      *status = svn_wc__db_status_obstructed_add;
                    else
 +#endif
                      *status = svn_wc__db_status_added;
                  }
              }
          }
        if (kind)
          {
 +#ifndef SVN_WC__SINGLE_DB
            if (node_kind == svn_wc__db_kind_subdir)
              *kind = svn_wc__db_kind_dir;
            else
 +#endif
              *kind = node_kind;
          }
        if (revision)
          {
            if (*have_work)
              *revision = SVN_INVALID_REVNUM;
 @@ -5269,13 +5235,16 @@ svn_wc__db_read_info(svn_wc__db_status_t
            else
              *last_mod_time = svn_sqlite__column_int64(stmt_base, 12);
          }
        if (depth)
          {
            if (node_kind != svn_wc__db_kind_dir
 - && node_kind != svn_wc__db_kind_subdir)
 +#ifndef SVN_WC__SINGLE_DB
 + && node_kind != svn_wc__db_kind_subdir
 +#endif
 + )
              {
                *depth = svn_depth_unknown;
              }
            else
              {
                const char *depth_str;
 @@ -6616,23 +6585,25 @@ svn_wc__db_scan_addition(svn_wc__db_stat
              return svn_error_createf(SVN_ERR_WC_PATH_UNEXPECTED_STATUS,
                                       svn_sqlite__reset(stmt),
                                       _("Expected node '%s' to be added."),
                                       svn_dirent_local_style(local_abspath,
                                                              scratch_pool));
 
 +#ifndef SVN_WC__SINGLE_DB
            /* ### in per-dir operation, it is possible that we just fetched
               ### the parent stub. examine the KIND field.
               ###
               ### scan_addition is NOT allowed for an obstructed_add status
               ### from read_info. there may be key information in the
               ### subdir record (eg. copyfrom_*). */
            {
              svn_wc__db_kind_t kind = svn_sqlite__column_token(stmt, 1,
                                                                kind_map);
              SVN_ERR_ASSERT(kind != svn_wc__db_kind_subdir);
            }
 +#endif
 
            /* Provide the default status; we'll override as appropriate. */
            if (status)
              *status = svn_wc__db_status_added;
          }
 

r991559: 2010-09-01 15:00:47 [pburba] Paul T. Burba

M  /subversion/tests/cmdline/merge_authz_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/switch_tests.py  [diff, log, file]

 Remove some cruft still kicking around from "The Merge Kluge".
 
 * subversion/tests/cmdline/merge_authz_tests.py
   (mergeinfo_and_skipped_paths):
 * subversion/tests/cmdline/switch_tests.py
   (mergeinfo_switch_elision):
   Don't record the cwd when we are not going to change it.
 

r991546: 2010-09-01 14:03:11 [hwright] Hyrum Wright

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 * subversion/libsvn_wc/wc_db.c
   (navigate_to_parent): Wrap a couple of variable decls in a #define.

r991543: 2010-09-01 14:00:33 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.h  [diff, log, file]
M  /subversion/libsvn_wc/workqueue.c  [diff, log, file]

 Disable some 'parent stub' handling as it's not required in single-DB mode.
 
 * subversion/libsvn_wc/wc_db.h
   (svn_wc__db_temp_set_parent_stub_to_normal): Remove this function.
 
 * subversion/libsvn_wc/wc_db.c
   (navigate_to_parent): Don't allow verifying a parent stub.
   (svn_wc__db_op_copy_dir, svn_wc__db_op_add_directory): Don't add a parent
     stub.
   (svn_wc__db_temp_set_parent_stub_to_normal): Remove this function.
 
 * subversion/libsvn_wc/workqueue.c
   (log_do_committed): Don't set the parent stub to normal.

r991534: 2010-09-01 13:38:51 [philip] Philip Martin

M  /subversion/tests/cmdline/svntest/sandbox.py  [diff, log, file]

 Fix some transient authz failures when running the dav tests in parallel.
 
  * subversion/tests/cmdline/svntest/sandbox.py
    (Sandbox._set_name): Use an atomic operation to update the authz file.

r991512: 2010-09-01 12:27:59 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/upgrade_tests.py  [diff, log, file]
A  /subversion/tests/cmdline/upgrade_tests_data/wc-delete.tar.bz2  [log, file]

 Add regression test for 2 variants of upgrading directories with status
 deleted. One with --keep-local and one without.
 
 Currently this test fails for a different reason: Upgrades fail for working
 copies without any files (only directories).
 
 * subversion/tests/cmdline/upgrade_tests.py
   (delete_and_keep_local): New function.
   (test_list): Add delete_and_keep_local as XFail test.
 
 * subversion/tests/cmdline/upgrade_tests_data/wc-delete.tar.bz2
   New test working copy.

r991509: 2010-09-01 12:11:44 [julianfoad] Julian Foad

M  /tools/dev/wc-ng/bump-to-19.py  [diff, log, file]

 * tools/dev/wc-ng/bump-to-19.py
   Remove a TODO about skipping other-WC dirs.
   Add a TODO about deleting to-be-deleted directories.

r991508: 2010-09-01 12:11:33 [dannas] Daniel Näslund

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 Enable empty files to be added with svn patch.
 
 This only works if the diff uses the git extension format. The extra
 logic is for allowing us to create added empty files for paths that
 has property changes, be the patch in the git format or not. If we only allowed
 git diffs to create empty files, the code could be simplified.
 
 * subversion/libsvn_client/patch.c
   (init_patch_target): Mark the target as added if the patch has recorded
     it as <to be added>.
   (apply_one_patch): Don't skip paths that should be added according to the
     git diff information.
   (install_patched_prop_targets): Check if the path is already added before
     trying to add that was not existing when the patching process began.
   (apply_patches): Allow added paths to be installed even if they are empty.

r991504: 2010-09-01 11:29:33 [rhuijben] Bert Huijben

M  /subversion/include/private/svn_wc_private.h  [diff, log, file]
M  /subversion/libsvn_wc/node.c  [diff, log, file]

 Following up on r989189, remove unused temp function.
 
 * subversion/include/private/svn_wc_private.h
   (svn_wc__temp_get_keep_local): Remove function.
 
 * subversion/libsvn_wc/node.c
   (svn_wc__temp_get_keep_local): Remove function.

r991503: 2010-09-01 11:09:07 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 Remove Wimp/XFail marking from a test that passes since switching to
 single-db.
 
 * subversion/tests/cmdline/merge_tests.py
   (is_fs_case_insensitive): Remove import.
 
   (test_list): Following up on the switch to single-db, remove Wimp marking
     from committed_case_only_move_and_revert as this test succeeds on case
     insensitive filesystems now.

r991499: 2010-09-01 10:40:22 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/adm_ops.c  [diff, log, file]

 * subversion/libsvn_wc/adm_ops.c
   (verify_revert_depth): Following up on r991158, notice that deleted child
     nodes won't be impacted by just reverting an ancestor.

r991474: 2010-09-01 08:44:08 [julianfoad] Julian Foad

M  /tools/dev/wc-ng/bump-to-19.py  [diff, log, file]

 * tools/dev/wc-ng/bump-to-19.py
   (migrate_wc_subdirs): If errors occur while deleting old .svn dirs,
     report the errors and continue, instead of quitting.

r991470: 2010-09-01 08:38:38 [julianfoad] Julian Foad

M  /subversion/tests/cmdline/authz_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/basic_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/copy_tests.py  [diff, log, file]
M  /subversion/tests/cmdline/schedule_tests.py  [diff, log, file]

 Remove Wimp status from the tests that need single-DB.
 
 * subversion/tests/cmdline/copy_tests.py
 * subversion/tests/cmdline/basic_tests.py
 * subversion/tests/cmdline/schedule_tests.py
 * subversion/tests/cmdline/authz_tests.py
   (test_list): Remove Wimp status from the tests that need single-DB.

r991459: 2010-09-01 07:44:13 [dannas] Daniel Näslund

M  /subversion/libsvn_diff/parse-diff.c  [diff, log, file]
M  /subversion/tests/libsvn_diff/parse-diff-test.c  [diff, log, file]

 Fix the diff parser to look for the correct first line of a git diff.
 
 The change that is beeing applied is s/git --diff/diff --git/.
 
 * subversion/libsvn_diff/parse-diff.c
   (parse_next_hunk,
    git_start,
    svn_diff_parse_next_patch): Check for 'diff --git' as first line of a
     git diff header.
 
 * subversion/libsvn_diff/parse-diff-test.c
   (git_unidiff,
    git_tree_and_text_unidiff,
    bad_git_diff_header,
    path_with_spaces_unidiff): Use 'diff --git as first line of git
     diff headers.
 
 Found by: stsp

r991396: 2010-08-31 23:40:02 [pburba] Paul T. Burba

M  /subversion/tests/cmdline/input_validation_tests.py  [diff, log, file]

 Follow-up to r991384.
 
 * subversion/tests/cmdline/input_validation_tests.py
 
   (invalid_merge_args): The dangers of multiple WCs: Tested the change in
    one, committed from another, forget something along the way.
 

r991384: 2010-08-31 23:02:35 [pburba] Paul T. Burba

M  /subversion/libsvn_client/merge.c  [diff, log, file]
M  /subversion/tests/cmdline/input_validation_tests.py  [diff, log, file]

 Return to "1.6.x-esque" behavior and prevent merges from proceeding if the
 merge target doesn't exist!
 
 * subversion/libsvn_client/merge.c
 
   (merge_locked,
    merge_reintegrate_locked,
    merge_peg_locked): Raise an error if the merge target doesn't exist on
    disk. With the advent of wcng we get comically far along, before we
    have other problems.
 
 * subversion/tests/cmdline/input_validation_tests.py
 
   (invalid_merge_args): Tweak expected failure message.
 

r991353: 2010-08-31 21:54:46 [gstein] Greg Stein

M  /subversion/libsvn_wc/questions.c  [diff, log, file]

 * subversion/libsvn_wc/questions.c:
   (svn_wc__internal_versioned_file_modcheck): clarify a param

r991352: 2010-08-31 21:52:47 [gstein] Greg Stein

M  /subversion/libsvn_wc/wc.h  [diff, log, file]

 * subversion/libsvn_wc/wc.h:
   (SVN_WC__VERSION): clarify some history around the 1.4.x series

r991348: 2010-08-31 21:50:02 [gstein] Greg Stein

M  /notes/wc-ng/conflict-storage  [diff, log, file]

 * notes/wc-ng/conflict-store:
   (): some changes to how patch rejects are recorded

r991342: 2010-08-31 21:43:54 [gstein] Greg Stein

M  /build/generator/extractor.py  [diff, log, file]

 * build/generator/extractor.py:
   (): remove an obsolete import of the 'string' module

r991297: 2010-08-31 19:15:09 [stsp] Stefan Sperling

M  /subversion/include/svn_diff.h  [diff, log, file]
M  /subversion/libsvn_client/patch.c  [diff, log, file]
M  /subversion/libsvn_diff/parse-diff.c  [diff, log, file]

 * subversion/libsvn_diff/parse-diff.c
   (svn_diff_close_patch): Also close hunks from property patches, if any.
    Requires a new SCRATCH_POOL argument to loop over the prop hash table.
 
 * subversion/include/svn_diff.h
   (svn_diff_close_patch): Update declaration.
 
 * subversion/libsvn_client/patch.c
   (apply_patches): Adjust caller.

r991291: 2010-08-31 18:54:50 [stsp] Stefan Sperling

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 * subversion/libsvn_client/patch.c
   (get_hunk_info, apply_one_patch, install_patched_prop_targets): Don't
    leak errors returned from svn_stream_close().

r991282: 2010-08-31 18:28:46 [markphip] Mark Phippard

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java  [diff, log, file]

 JavaHL: Remove the testBasicNodeKind test. The test seems a bit silly in
 that it was just asserting some specific SVN behaviors and did not seem
 particularly relevant to testing that the bindings are working. The main
 issue is that the test was mostly asserting behavior that was changed for
 the better by WC-NG. So I could not figure out a reason for it to still
 exist.
 
 [ in subversion/bindings/javahl/ ]
 
 * tests/org/apache/subversion/javahl/BasicTests.java
 * tests/org/tigris/subversion/javahl/BasicTests.java
   (testBasicNodeKind) - removed test

r991273: 2010-08-31 17:48:52 [stsp] Stefan Sperling

M  /subversion/site/publish/roadmap.html  [diff, log, file]

 * site/publish/roadmap.html: Note upgrade to single-db.

r991263: 2010-08-31 17:06:57 [markphip] Mark Phippard

M  /subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java  [diff, log, file]
M  /subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java  [diff, log, file]

 JavaHL: Fix a test assumption for SINGLE_DB
 
 [ in subversion/bindings/javahl/ ]
 
 * tests/org/apache/subversion/javahl/BasicTests.java:
 * tests/org/tigris/subversion/javahl/BasicTests.java:
   (testBasicDelete): Do not expect a deleted folder to be on disk

r991262: 2010-08-31 17:06:45 [philip] Philip Martin

M  /tools/dev/wc-ng/bump-to-19.py  [diff, log, file]

 Make bump-to-19.py only descend into versioned subdirs.
 
 * subversion/tools/dev/bump-to-19.py
   (STMT_SELECT_SUBDIR, select_subdir): New.
   (migrate_wc_subdirs): Skip directories that are not versioned subdirs.

r991239: 2010-08-31 16:47:22 [cmpilato] C. Michael Pilato

M  /build.conf  [diff, log, file]
M  /subversion/include/svn_dav.h  [diff, log, file]
M  /subversion/libsvn_ra_serf/commit.c  [diff, log, file]
M  /subversion/mod_dav_svn/dav_svn.h  [diff, log, file]
A  /subversion/mod_dav_svn/posts  [log, file]
A  /subversion/mod_dav_svn/posts/create_txn.c  [log, file]
M  /subversion/mod_dav_svn/repos.c  [diff, log, file]
M  /subversion/mod_dav_svn/util.c  [diff, log, file]

 Add code to parse skel-type request bodies in mod_dav_svn (honoring
 the LimitRequestBody Apache configuration directive), and start using
 it to create commit transactions.
 
 NOTE: Clients using ra_serf to perform commits against older 1.7-to-be
       HTTP servers will fail. I'd prefer to close the gap of "any old
       POST request we can't figure out should create a commit
       transaction" now before we release 1.7. ra_neon doesn't have
       this problem because it never used the new POST approach.
 
 * subversion/include/svn_dav.h
   (SVN_SKEL_MIME_TYPE): New.
 
 * subversion/mod_dav_svn/dav_svn.h
   (dav_svn__parse_request_skel, dav_svn__post_create_txn): New prototypes.
   (dav_svn__posts_list): New static list.
 
 * subversion/mod_dav_svn/util.c
   (request_body_to_string, dav_svn__parse_request_skel): New functions.
 
 * subversion/mod_dav_svn/posts/,
 * subversion/mod_dav_svn/posts/create_txn.c
   New.
 
 * subversion/mod_dav_svn/repos.c
   (handle_post_request): New function.
   (dav_svn__method_post): Tweak this thing to expect skel-type POST
     requests, which are handed off to a dispatcher function.
 
 * subversion/libsvn_ra_serf/commit.c
   (create_txn_post_body): New body delegate function.
   (open_root): Register create_txn_post_body() as a body delegate when
     issuing the POST request to create a new transaction.
 
 * build.conf
   (mod_dav_svn): Add posts/*.c to the sources list.

r991238: 2010-08-31 16:41:47 [cmpilato] C. Michael Pilato

M  /tools/dev/svnraisetreeconflict  [diff, log, file]

 * tools/dev/svnraisetreeconflict
   Add 'svnraisetreeconflict' to svn:ignore.

r991237: 2010-08-31 16:40:43 [cmpilato] C. Michael Pilato

M  /tools/server-side  [diff, log, file]

 * tools/server-side
   Add 'svn-rep-sharing-stats' to svn:ignore.

r991236: 2010-08-31 16:39:49 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/wc.h  [diff, log, file]

 Enable single-DB mode.
 
 * subversion/libsvn_wc/wc.h
   (SVN_WC__SINGLE_DB, SINGLE_DB): Define if SVN_WC__VERSION >= 19. Move to
     after the definition of SVN_WC__VERSION.
   (SVN_WC__VERSION): Bump to 19 and document the change.

r991231: 2010-08-31 16:23:47 [julianfoad] Julian Foad

M  /tools/dev/wc-ng/bump-to-19.py  [diff, log, file]

 In bump-to-19.py, delete the old subdirectory '.svn' dirs. Also shorten the
 progress messages.
 
 * tools/dev/wc-ng/bump-to-19.py
   (dotsvn_path, tmp_path): New functions.
   (migrate_wc_subdirs): Keep track of which dirs we've migrated, and delete
     their .svn's afterwards. Only print one line of progress info per dir.

r991229: 2010-08-31 16:12:52 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/CommitMessage.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/CreateJ.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/CreateJ.h  [diff, log, file]

 JavaHL: Move more "create a Java object" code to the CreateJ class.
 
 * subversion/bindings/javahl/native/CreateJ.cpp
   (CommitItem): New.
 
 * subversion/bindings/javahl/native/CommitMessage.cpp
   (getCommitMessage): Remove the code to create Java commit items, and call the
     CreateJ function instead.
 
 * subversion/bindings/javahl/native/CreateJ.h
   (CommitItem): New.

r991225: 2010-08-31 15:58:55 [philip] Philip Martin

M  /subversion/tests/cmdline/stat_tests.py  [diff, log, file]

 Make stat_tests.py 6 pass for single-db. In single-db status shows
 children of obstructed directories.
 
 * subversion/tests/cmdline/stat_tests.py
   (status_type_change_to_symlink): Adjust expected output.

r991223: 2010-08-31 15:47:19 [julianfoad] Julian Foad

M  /tools/dev/wc-ng/bump-to-19.py  [diff, log, file]

 In bump-to-19.py, don't fail on missing pristine dir, as that's a legitimate
 state if there are no versioned files that have bases in this WC dir. Also
 make sure to delete the pristine dir; previously it was only deleted if any
 files had been moved from it.
 
 * tools/dev/wc-ng/bump-to-19.py
   (move_and_shard_pristine_files): If there is no 'pristine' dir, just
     return successfully.
   (shard_pristine_files): Remove, as we can use move_and_shard_pristine_files()
     instead.
   (migrate_wc_subdirs): Remove the old pristine dir if it still exists.
   (__main__): Use move_and_shard_pristine_files() instead of
     shard_pristine_files(), for simplicity.

r991212: 2010-08-31 15:01:01 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.h  [diff, log, file]

 JavaHL: Protect a few class functions.
 
 * subversion/bindings/javahl/native/ClientContext.h
   (notify, progress, resolve, javaResultToC): Make protected.

r991211: 2010-08-31 14:56:27 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/ClientContext.h  [diff, log, file]
D  /subversion/bindings/javahl/native/ConflictResolverCallback.cpp  [old log]
D  /subversion/bindings/javahl/native/ConflictResolverCallback.h  [old log]
M  /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.h  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]

 JavaHL: Move more complexity out of C++ and into Java-land. (See r990952)
 
 * subversion/bindings/javahl/native/ConflictResolverCallback.cpp:
   Remove.
 
 * subversion/bindings/javahl/native/ConflictResolverCallback.h:
   Remove.
 
 * subversion/bindings/javahl/native/SVNClient.h:
   Remove obsolete forward class declaration.
 
 * subversion/bindings/javahl/native/SVNClient.cpp:
   Remove obsolete header inclusion.
 
 * subversion/bindings/javahl/native/ClientContext.h
   (m_conflictResolver): Remove.
   (setConflictResolver): Remove.
   (resolve, javaResultToC): New.
 
 * subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
   (Java_org_apache_subversion_javahl_SVNClient_setConflictResolver): Remove.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (ClientContext): Don't initialize the member object, but do initialize the
     persistent conflict baton and function.
   (~ClientContext): Don't delete the conflict resolver.
   (getContext): Don't set the conflict function or baton.
   (setConflictResolver): Remove.
   (resolve): New.
   (javaResultToC): New.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (setConflictResolver): Add a Java implementation.
   (ClientContext.resolver): New.
   (ClientContext.resolve): New.

r991206: 2010-08-31 14:27:26 [julianfoad] Julian Foad

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 * subversion/libsvn_wc/upgrade.c
   (svn_wc__upgrade_sdb): Issue a friendly error if the WC format is 18.

r991192: 2010-08-31 13:52:37 [philip] Philip Martin

M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 Allow single-db upgrade to complete on Windows.
 
 * subversion/libsvn_wc/upgrade.c
   (svn_wc_upgrade): Close the db handle.

r991188: 2010-08-31 13:42:08 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/status.c  [diff, log, file]

 Don't check missing files for text changes in the status walker. This fixes
 a few errors on not-Windows, that were invisible for me through a Windows
 specific access denied test
 
 * subversion/libsvn_wc/status.c
   (assemble_status): Don't check text status for missing nodes.
 
 Found by: philip
           julianfoad

r991182: 2010-08-31 13:11:40 [julianfoad] Julian Foad

M  /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 For issue #3696 "FSFS error - Can't open file 'db/transactions/props'"
 <http://subversion.tigris.org/issues/show_bug.cgi?id=3696>, use a normal
 error report instead of an assertion. We should trace and fix the cause,
 but that's proving difficult and as long as the error is known to occur in
 real life we want to report it. A follow-up to r980046.
 
 * subversion/libsvn_fs_fs/fs_fs.c
   (get_txn_proplist): Replace an assertion with a regular error report.

r991175: 2010-08-31 12:31:28 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/adm_ops.c  [diff, log, file]

 * subversion/libsvn_wc/adm_ops.c
   (verify_revert_depth): Following up on r991158, resolve const warning.
 
 Found by: philip

r991171: 2010-08-31 12:30:19 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/adm_ops.c  [diff, log, file]
M  /subversion/libsvn_wc/workqueue.c  [diff, log, file]
M  /subversion/tests/cmdline/revert_tests.py  [diff, log, file]

 Fix another regression in the revert code: The WORKING_NODE record
 shouldn't just be removed for any addition, but only if the node is not
 an operation root. This fixes revert_tests.py 22: "revert a child of a
 copied directory does nothing"
 
 * subversion/libsvn_wc/adm_ops.c
   (revert_entry): Determine if the node is an add_root, instead of if it
     is just added. Read BASE information in one place. Allow different kinds
     for BASE and WORKING nodes.
 
 * subversion/libsvn_wc/workqueue.c
   (run_revert): Only remove the WORKING_NODE if the node is the operation
     root.
 
 * subversion/tests/cmdline/revert_tests.py
   (test_list): Remove XFail marking from revert_child_of_copy.

r991160: 2010-08-31 11:50:01 [philip] Philip Martin

M  /subversion/libsvn_wc/entries.c  [diff, log, file]
M  /subversion/libsvn_wc/entries.h  [diff, log, file]
M  /subversion/libsvn_wc/upgrade.c  [diff, log, file]

 Make single-db upgrades write to a temporary admin directory. This is
 a work-in-progress and the code is ugly, but it passes the tests.
 
 * subversion/libsvn_wc/entries.h
   (svn_wc__write_upgraded_entries): Rename two parameters.
 
 * subversion/libsvn_wc/entries.c
   (entries_write_baton): Rename two members.
   (entries_write_new_cb): Adjust relpath calculation to handle
    temporary admin dir.
   (svn_wc__write_upgraded_entries): Rename two parameters.
 
 
 * subversion/libsvn_wc/upgrade.c
   (migrate_node_props, migrate_props): Rename a parameter, adjust relpath
    calculation.
   (migrate_text_bases): Rename a parameter for consistency with other
    functions.
   (upgrade_to_wcng): Construct db in temporary dir.
   (svn_wc_upgrade): Move db and pristine to final location.

r991158: 2010-08-31 11:13:08 [rhuijben] Bert Huijben

M  /subversion/include/svn_error_codes.h  [diff, log, file]
M  /subversion/libsvn_wc/adm_ops.c  [diff, log, file]
M  /subversion/svn/revert-cmd.c  [diff, log, file]
M  /subversion/tests/cmdline/revert_tests.py  [diff, log, file]

 Fix revert_tests.py 21 by making svn_wc_revert4 check if a revert is
 possible with only impact at the specified depth.
 
 Before WC-NG libsvn_client didn't take a recursive lock if the specified
 depth was less than infinity and some revert operations then failed on
 not having a lock. But this didn't fix that you could do a depth empty
 revert on a directory which then removes an added (child-of-copy) file.
 
 As far as I can see there is no sane way to keep the original behavior or
 reimplement the old behavior inside one of the deprecated wrappers.
 
 svn_wc_revert3 receives an access baton and a depth and failed the revert
 if the lock in the access baton wasn't deep enough. (Not on a depth value).
 
 svn_client_revert2 doesn't document it's error behavior, so I think it is
 safe to return a different error here, but this might need a later update
 to wrap the error with SVN_ERR_WC_NOT_LOCKED to fix clients that handle
 this error like we did in svn before this patch.
 
 See also
 http://svn.haxx.se/dev/archive-2010-08/0763.shtml
 
 * subversion/include/svn_error_codes.h
   (SVN_ERR_WC_INVALID_OPERATION_DEPTH): New error code.
 
 * subversion/libsvn_wc/adm_ops.c
   (verify_revert_depth): New function.
   (revert_internal): Add depth verification step.
 
 * subversion/svn/revert-cmd.c
   (svn_cl__revert): Update error code check.
 
 * subversion/tests/cmdline/revert_tests.py
   (test_list): Remove XFail marking from revert_added_tree.

r991155: 2010-08-31 11:04:16 [stsp] Stefan Sperling

M  /subversion/libsvn_subr/svn_string.c  [diff, log, file]

 * subversion/libsvn_subr/svn_string.c: Fix filename in introductory comment.

r990956: 2010-08-30 22:03:31 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/ClientContext.h  [diff, log, file]
M  /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp  [diff, log, file]
D  /subversion/bindings/javahl/native/ProgressListener.cpp  [old log]
D  /subversion/bindings/javahl/native/ProgressListener.h  [old log]
M  /subversion/bindings/javahl/native/SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.h  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]

 JavaHL: Move more complexity out of C++ and into Java-land. (See r990952)
 
 * subversion/bindings/javahl/native/ProgressListener.h:
   Remove.
 
 * subversion/bindings/javahl/native/SVNClient.h:
   Remove some obsolete forward class declarations.
 
 * subversion/bindings/javahl/native/SVNClient.cpp:
   Remove obsolete included header reference.
 
 * subversion/bindings/javahl/native/ClientContext.h:
   Remove obsolete forward class declarations.
   (m_progressListener): Remove.
   (setProgressListener): Remove.
   (progress): New.
 
 * subversion/bindings/javahl/native/ProgressListener.cpp:
   Remove.
 
 * subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
   (Java_org_apache_subversion_javahl_SVNClient_setProgressCallback): Remove.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (ClientContext): Initialize the baton, but no the listener member object.
   (~ClientContext): Don't bother deleting the member listener object.
   (getContext): Don't set the progress baton here.
   (setProgressListener): Remove.
   (progress): New.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (setProgressCallback): Implement as a Java method.
   (ClientContext): Add a progress listener member and method.

r990952: 2010-08-30 21:29:19 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/ClientContext.h  [diff, log, file]
D  /subversion/bindings/javahl/native/ClientNotifyCallback.cpp  [old log]
D  /subversion/bindings/javahl/native/ClientNotifyCallback.h  [old log]
M  /subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/SVNClient.h  [diff, log, file]
M  /subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  [diff, log, file]

 JavaHL: In an attempt to push as much functionality up into the Java layers
 as possible, add a private client context proxy Java object, and just call it
 for all notifications. Let the proxy object handle calling whatever
 notifier the API consumer actually wants called.
 
 * subversion/bindings/javahl/native/SVNClient.h
   (SVNClient): Accept jthis as a constructor paramater.
 
 * subversion/bindings/javahl/native/SVNClient.cpp
   (SVNClient): Same, and pass it along to the member context.
 
 * subversion/bindings/javahl/native/ClientNotifyCallback.cpp:
   Remove.
 
 * subversion/bindings/javahl/native/ClientContext.h
   (m_jctx): New.
   (m_notify2): Remove.
   (ClientContext): Add a new jsvnclient param.
   (notification2): Remove.
   (notify): New.
 
 * subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
   (Java_org_apache_subversion_javahl_SVNClient_ctNative): Update call.
   (Java_org_apache_subversion_javahl_SVNClient_notification2): Remove.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (ClientContext): Grab a global reference to the client context proxy.
   (~ClientContext): Delete the global reference.
   (getContext): Don't set the notify baton here (it is set in the ctor instead).
   (notification2): Remove.
   (notify): New.
 
 * subversion/bindings/javahl/native/ClientNotifyCallback.h:
   Remove.
 
 * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
   (clientContext): New.
   (notification2): Implement as a Java method, rather than a native one.
   (ClientContext): New class.

r990921: 2010-08-30 19:47:50 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]

 JavaHL: When creating the client context, set the more immutable members in
 the constructor, rather than every time the context is requested.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (ClientContext): Set some members here...
   (getContext): ...instead of here.

r990919: 2010-08-30 19:43:52 [hwright] Hyrum Wright

M  /Makefile.in  [diff, log, file]

 Remove the separate target for invoking the JavaHL compat tests, and fold
 them into the standard JavaHL test target. Run the standard tests before
 the compat ones.
 
 * Makefile.in
   (check-javahl): Run both compat and standard tests.
   (check-javahl-compat): Remove.

r990916: 2010-08-30 19:37:05 [hwright] Hyrum Wright

M  /subversion/bindings/javahl/native/ClientContext.cpp  [diff, log, file]
M  /subversion/bindings/javahl/native/ClientContext.h  [diff, log, file]

 JavaHL: Create a persistent C client context, in order to reuse the working
 copy context between client API invocations.
 
 Note: This introduces a test failure which I believe to be a manifestation of
 a bug in wc-ng.
 
 * subversion/bindings/javahl/native/ClientContext.h
   (persistentCtx): New.
 
 * subversion/bindings/javahl/native/ClientContext.cpp
   (ClientContext): Populate the persistentCtx in the global pool on
     construction.
   (getContext): Reuse the persistent context, rather than create a new one.

r990858: 2010-08-30 16:49:05 [cmpilato] C. Michael Pilato

M  /subversion/site/publish/roadmap.html  [diff, log, file]

 * site/publish/roadmap.html
   Note some finished WC-NG tasks, too, so the picture doesn't look
   quite so dire.

r990855: 2010-08-30 16:43:37 [cmpilato] C. Michael Pilato

A  /subversion/site/publish/images/green-light.gif  [log, file]
A  /subversion/site/publish/images/orange-light.gif  [log, file]
A  /subversion/site/publish/images/red-light.gif  [log, file]
A  /subversion/site/publish/images/yellow-light.gif  [log, file]
M  /subversion/site/publish/roadmap.html  [diff, log, file]
M  /subversion/site/publish/style/site.css  [diff, log, file]

 Rework release status table to avoid a visual bludgeoning and allow
 for nested tasks.
 
 * site/publish/style/site.css
   Add/tweak styles used for task/status tables.
 
 * site/publish/images/red-light.gif,
 * site/publish/images/orange-light.gif,
 * site/publish/images/yellow-light.gif,
 * site/publish/images/green-light.gif
   New images.
 
 * site/publish/roadmap.html
   Mostly style-related tweaks.

r990830: 2010-08-30 15:50:46 [dannas] Daniel Näslund

M  /subversion/tests/cmdline/diff_tests.py  [diff, log, file]

 Revert r990772 and r990774. "Adjust diff tests to include copied paths".
 
 It turns out that determing copyfrom information is more involved
 than I first anticipated. We first need a proper definition of
 what kind of information the server should send.

r990826: 2010-08-30 15:46:37 [dannas] Daniel Näslund

Click to show all 17 changes...

 Revert r990790 and r990804. "Make the diff editor able to receive
 copyfrom info"
 
 It turns out that determing copyfrom information is more involved
 than I first anticipated. We first need a proper definition of
 what kind of information the server should send.

r990824: 2010-08-30 15:32:14 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 * subversion/tests/cmdline/merge_tests.py
   (global): Import Wimp.
   (test_list): Mark committed_case_only_move_and_revert as Wimp, because
     it passes on case sensitive filesystems with single-db.

r990818: 2010-08-30 15:03:22 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/status.c  [diff, log, file]
M  /subversion/tests/cmdline/stat_tests.py  [diff, log, file]

 Following up on r990798, for consistency with missing directories and '-u'
 also recurse below obstructed directories in single db mode when performing
 a non '-u' status call.
 
 * subversion/libsvn_wc/status.c
   (handle_dir_entry): Recurse if the node specifies an obstructed directory.
 
 * subversion/tests/cmdline/stat_tests.py
   (status_type_change): Update expected single-db output to match new
     behavior.

r990812: 2010-08-30 14:30:38 [hwright] Hyrum Wright

M  /subversion/svnsync/main.c  [diff, log, file]

 Remove some deprecated calls to svn_ra_open3().
 
 * subversion/svnsync/main.c
   (do_initialize, initialize_cmd, open_source_session, synchronize_cmd,
    copy_revprops_cmd, info_cmd): Use svn_ra_open4().

r990804: 2010-08-30 13:48:18 [dannas] Daniel Näslund

M  /subversion/tests/cmdline/diff_tests.py  [diff, log, file]

 Follow-up to r990790.
 
 Skip a diff test unless we're using ra_neon. For some reason,
 ra_local and ra_svn does not call apply_textdelta() for copied
 paths with no text changes while ra_neon does.
 
 * subversion/tests/cmdline/diff_tests.py
   (test_list): Mark diff_backward_repos_wc_copy() with SkipUnless.

r990801: 2010-08-30 13:39:22 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 * subversion/tests/cmdline/merge_tests.py
   (merge_into_missing): Fix test to assume that missing nodes are still
     known when running in single_db mode. (Requires r990798)
   

r990798: 2010-08-30 13:26:58 [rhuijben] Bert Huijben

M  /subversion/libsvn_wc/status.c  [diff, log, file]

 Resolve a regression in the working copy status walker that made missing
 directories invisible when using 'svn status -u' in single-db mode.
 
 Before single-db we reported missing directories as deleted to the
 repository in the crawler step to receive them as changes. But we
 stopped doing that as we still have all their information. But when
 walking the status we still skipped these paths from their parent
 directory as we assumed that they would be reported via the repository
 status.
 
 This patch allows fixing merge_tests.py 16 in a followup commit.
 
 * subversion/libsvn_wc/status.c
   (make_dir_baton,
    handle_statii): Don't skip missing or obstructed directories when
      checking children in single-db.

r990790: 2010-08-30 12:54:46 [dannas] Daniel Näslund

Click to show all 17 changes...

 Make the diff editor able to receive copyfrom information. Involves
 passing down a 'send_copyfrom_args' to all RA implemtations.
 
 The copyfrom information is needed when creating diffs with the git
 unidiff extension for copied paths.
 
 Note that this commit merely allows the copyfrom args to be passed to
 the client. They copyfrom information is not yet stored and used.
 
 * subversion/libsvn_ra/ra_loader.c
   (svn_ra_do_diff4): New.
   (svn_ra_do_diff3): Move from here ..
 
 * subversion/libsvn_ra/deprecated.c
   (svn_ra_do_diff3): .. To here.
   (svn_ra_do_diff2): Call svn_ra_do_diff3() instead of the vtable
     callback since the signature has changed.
 
 * subversion/libsvn_ra/wrapper_template.h
   (compat_do_diff): Track the new 'send_copyfrom_args' parameter.
 
 * subversion/libsvn_ra/ra_loader.h
   (svn_ra__vtable_t): Add 'send_copyfrom_args' parameter.
 
 * subversion/libsvn_ra_local/ra_plugin.c
   (svn_ra_local__do_diff): Add 'send_copyfrom_args' parameter.
 
 * subversion/tests/cmdline/diff_tests.py
   (test_list): Mark diff_backward_repos_wc_copy() as XFailing.
     The tested code currently does not handle copied paths
     with no text changes. Will be fixed in a follow-up.
 
 * subversion/libsvn_ra_svn/protocol
   (...) Update the diff command description.
 
 * subversion/libsvn_ra_svn/client.c
   (ra_svn_diff): Add 'send_copyfrom_args' to the command to be written.
 
 * subversion/include/svn_ra.h
   (svn_ra_do_diff4): New.
   (svn_ra_do_diff3): Deprecate.
 
 * subversion/libsvn_wc/diff.c
   (add_file): Add TODO about recording the copyfrom info and checking
     that the copyfrom revision is within the span of the diff operation.
 
 * subversion/libsvn_client/repos_diff.c
   (add_file): Add TODO about recording the copyfrom info and checking
     that the copyfrom revision is within the span of the diff operation.
 
 * subversion/libsvn_client/diff.c
   (diff_repos_repos,
    diff_repos_wc,
    diff_summarize_repos_repos): Replace svn_ra_do_diff3() with
     svn_ra_do_diff4().
 
 * subversion/libsvn_ra_neon/ra_neon.h
   (svn_ra_neon__do_diff): Add 'send_copyfrom_args' parameter.
 
 * subversion/libsvn_ra_neon/fetch.c
   (svn_ra_neon__do_diff): Add 'send_copyfrom_args' parameter.
 
 * subversion/libsvn_ra_serf/update.c
   (svn_ra_serf__do_diff): Add 'send_copyfrom_args' parameter.
 
 * subversion/libsvn_ra_serf/ra_serf.h
   (svn_ra_serf__do_diff): Add 'send_copyfrom_args' parameter.
 
 * subversion/svnserve/serve.c
   (diff): Parse the parameters for send_copyfrom_param.
 

r990774: 2010-08-30 11:32:12 [dannas] Daniel Näslund

M  /subversion/tests/cmdline/diff_tests.py  [diff, log, file]

 Adjust diff test for URL->URL to include copied paths.
 
 Since the server does not send copyfrom args for diff
 operations we do not yet handle copied paths.
 
 * subversion/tests/cmdline/diff_tests.py
   (diff_git_format_url_wc): Remove TODO about to test for copied paths.
     We do that.
   (diff_git_format_url_url): Start testing copied paths.
   (test_list): Mark diff_git_format_url_url() as XFailing.

r990772: 2010-08-30 11:22:47 [dannas] Daniel Näslund

M  /subversion/tests/cmdline/diff_tests.py  [diff, log, file]

 Adjust diff test for URL->WC to include copied paths.
 
 Since the server does not send copyfrom args for diff
 operations we do not yet handle copied paths.
 
 * subversion/tests/cmdline/diff_tests.py
   (diff_git_format_url_wc): Add copied paths.
   (test_list): Mark diff_git_format_url_wc() as XFailing.

r990760: 2010-08-30 10:46:19 [rhuijben] Bert Huijben

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 * subversion/tests/cmdline/merge_tests.py
   (mergeinfo_inheritance): Skip the last part of the test when running as
     single-db, because copying a subdir doesn't create a disconnected/
     detached working copy.

r990759: 2010-08-30 10:38:47 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Non-API functions should be local / static. There was one in
 the membuffer code that violated this principle.
 
 * subversion/libsvn_subr/cache-membuffer.c
   (membuffer_cache_get_partial): make this a static function
 
 Found by: Lieven Govaerts <svnlgo_at_mobsol.be>

r990730: 2010-08-30 08:40:45 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]

 Change query for consistency.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_UPDATE_NODE_WORKING_EXCLUDED): Use LIMITed nested query,
    just as STMT_UPDATE_NODE_WORKING_PRESENCE does.
 

r990729: 2010-08-30 08:38:39 [stsp] Stefan Sperling

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 * subversion/libsvn_client/patch.c
   (install_patched_prop_targets): In r987735, I suggested skipping targets
    which are trying to patch invalid properties (e.g. create svn:executable
    on a directory). A better approach would be to reject any offending
    property hunks, but apply the rest. Update my comment to that effect.

r990634: 2010-08-29 19:19:54 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (diff_repos_wc): We only need to figure out the working copy root directory
    when producing git diffs, so don't do it in normal diff mode.

r990600: 2010-08-29 16:58:14 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Minor typo / grammar fix in commentary.
 
 * subversion/libsvn_subr/cache-membuffer.c
   (svn_cache__membuffer_cache_create, membuffer_cache_set): typo

r990594: 2010-08-29 15:28:54 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/entries.c  [diff, log, file]
M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]

 Create two more queries to fill NODE_DATA.
 
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_WORKING_NODE_DATA_1,
     STMT_INSERT_WORKING_NODE_DATA_2): New queries.
 
  * subversion/libsvn_wc/entries.c
    (insert_working_node): Use the new queries
      inside an SVN_WC__NODE_DATA block.

r990587: 2010-08-29 14:44:21 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/adm_ops.c  [diff, log, file]

 Add a NODE_DATA note where OP_DEPTH should be recorded.

r990576: 2010-08-29 13:01:46 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/entries.c  [diff, log, file]
M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]

 Create two more queries to fill NODE_DATA.
 
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_BASE_NODE_DATA_FOR_ENTRY_1,
     STMT_INSERT_BASE_NODE_DATA_FOR_ENTRY_2): New queries.
 
  * subversion/libsvn_wc/entries.c
    (insert_base_node): Use the new queries inside an SVN_WC__NODE_DATA block.

r990575: 2010-08-29 12:37:39 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_fs_fs/fs_fs.c  [diff, log, file]

 Fix compiler warnings about potentially uninitialized variables.
 In the current implementation, they will not be used when uninitialized
 but better be safe than sorry.
 
 [I only fix that warning in sections touched by the performance branch.]
 
 * subversion/libsvn_fs_fs/fs_fs.c
   (svn_fs_fs__rev_get_root): initialize root_id to NULL
   (svn_fs_fs__rep_contents_dir): initialize unparsed_id to NULL

r990574: 2010-08-29 12:33:39 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-inprocess.c  [diff, log, file]

 Fix a crash when membuffer caching has been disabled (svnserve -M0):
 the get_partical implementation for inprocess_cache used an outdated
 callback API where the size could be 0 for non-empty entries in certain cases.
 
 * subversion/libsvn_subr/cache-inprocess.c
   (inprocess_cache_get_partial): actually pass the size parameter to func

r990572: 2010-08-29 12:00:11 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Optimize cache data transfers, especially on x86/x64. Memory copies
 are most efficient when they transfer an aligned amount of data (i.e.
 multiple of 16) from aligned memory locations to aligned memory
 locations.
 
 Locations within the cache data buffer already are aligned. This patch
 aligns the copy sizes and output buffer allocated in get(). The overhead
 is easily justified by the gains from copying the relatively large entries
 (average is 4+kB).
 
 * subversion/libsvn_subr/cache-membuffer.c
   (move_entry): allow for copying in 16-byte chunks
   (membuffer_cache_get): dito; align copy target as well

r990568: 2010-08-29 11:39:11 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Harden the caching strategy. Flooding the cache with large entries (e.g. full texts)
 will soon sweep the smaller, more cache-efficient entries. It also prevents earlier
 large entries from survival and getting actual hits.
 
 This is fixed using two additional rules:
 (1) entries much smaller than the *current* average are kept unconditionally
 (2) new entries may only push out small amounts of data and thus may get
     rejected if not enough room could be made that way
 
 * subversion/libsvn_subr/cache-membuffer.c
   (let_entry_age): extract the entry "aging" code and give it its own function
   (find_entry, move_entry): simplify using let_entry_age
   (ensure_data_insertable): refine entry eviction code; allow for rejecting entries
   (membuffer_cache_set): insert data only if room is available / could be made

r990541: 2010-08-29 11:01:02 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/cache-membuffer.c  [diff, log, file]

 Ensure that very large membuffers don't cause internal overflows
 due to large items being added (4GB limit could be reached with
 64+GB caches) and large number of entries in the dictionary (4G
 entry limit would be reached with 3.2TB caches).
 
 * subversion/libsvn_subr/cache-membuffer.c
   (get_entry): change parameter type to be consistent with the index
    type used everywhere else in this file
   (get_index): explicitly cast the result to the correct index type
   (svn_cache__membuffer_cache_create): limit the dictionary size
    such that entries can be safely addressed using the index type
   (svn_membuffer_cache_is_cachable): also, entry sizes must be
    representable in 32 bits

r990537: 2010-08-29 10:32:08 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/svn_temp_serializer.c  [diff, log, file]

 Looking for the cause of Johan Corveleyn's crash (see
 http://svn.haxx.se/dev/archive-2010-08/0652.shtml), it
 seems that wrong / corrupted data contains backward
 pointers, i.e. negative offsets. That cannot happen if
 everything works as intended.
 
 * subversion/libsvn_subr/svn_temp_serializer.c
   (svn_temp_deserializer__resolve): add assertion

r990536: 2010-08-29 10:27:49 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_subr/svn_temp_serializer.c  [diff, log, file]

 Minor improvement of the serialization API implementation: slightly faster
 and with fixed comments.
 
 * subversion/libsvn_subr/svn_temp_serializer.c
   (store_current_end_pointer): calculate the target offset only if we actually need it;
   improve commentary
   (svn_temp_serializer__set_null): improve commentary

r990535: 2010-08-29 10:07:25 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_fs_fs/id.c  [diff, log, file]
M  [performance] /subversion/libsvn_fs_fs/temp_serializer.c  [diff, log, file]

 Although this is not likely to actually change the tool behavior
 on any platform, it is technically correct to check NULL pointers
 only after de-serializing ("resolving") them. Their serialized
 representation may be (or become in future) different from (int)0.
 
 * subversion/libsvn_fs_fs/temp_serializer.c
   (deserialize_svn_string, deserialize_checksum,
    deserialize_representation, svn_fs_fs__noderev_deserialize):
   check for NULL pointers only after they got resolved from their
   serialized representation
 
 * subversion/libsvn_fs_fs/id.c
   (svn_fs_fs__id_deserialize): dito

r990533: 2010-08-29 09:42:42 [stefan2] User: stefan2

M  [performance] /subversion/libsvn_fs_fs/dag.c  [diff, log, file]

 Since the data buffer passed to de-serialization callbacks is already a
 private copy in pool, we don't need to create another copy in the DAG
 de-serialization code. For all other objects, this has already been done
 in r986832.
 
 * subversion/libsvn_fs_fs/dag.c
   (svn_fs_fs__dag_deserialize): directly fix up the content in DATA

r990385: 2010-08-28 15:49:52 [stsp] Stefan Sperling

M  /subversion/libsvn_client/patch.c  [diff, log, file]

 * subversion/libsvn_client/patch.c
   (try_stream_write): Remove a question I put into a comment, not realising
    that try_stream_write() is there to catch errors like "disk is full".

r990381: 2010-08-28 15:16:33 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (adjust_relative_to_repos_root): Tidy up comments.

r990380: 2010-08-28 15:12:05 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (adjust_relative_to_repos_root): Simplify this even more. We can handle
    the repos-repos and repos-wc cases in one fell swoop.
    The IS_REPOS_REPOS_DIFF parameter, and its associated special-case handling,
    isn't needed, because the same information is implicitly encoded as
    ra_session != NULL && wc_root_abspath == NULL -- which makes the code
    handling the repos-wc case handle the repos-repos case just fine.
   (print_git_diff_header, display_prop_diffs): Adjust callers.

r990372: 2010-08-28 14:16:34 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (print_git_diff_header): Remove forward declaration of this function,
    it is not necessary anymore.

r990371: 2010-08-28 14:14:37 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (display_prop_diffs): Move this function down, below print_git_diff_header().
    This way we can get rid of a forward declaration. I've left the forward
    declaration in place for now, because otherwise the diff for this commit
    looks very awkward (it would probably look nicer with the Patience Diff
    algorithm).

r990370: 2010-08-28 14:09:41 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (adjust_relative_to_repos_root): Fix typo in a comment.

r990367: 2010-08-28 14:02:17 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (adjust_relative_to_repos_root): It turns out that the path we're adjusting
    is never a URL, so we can simplify this function even more.

r990363: 2010-08-28 13:48:22 [stsp] Stefan Sperling

M  /subversion/libsvn_wc/diff.c  [diff, log, file]
M  /subversion/tests/cmdline/diff_tests.py  [diff, log, file]

 Make copies modified after being copied show up correctly in git diffs.
 
 * subversion/tests/cmdline/diff_tests.py
   (make_git_diff_header): In git diff headers for copies with modifications,
    show the REPOS_RELPATH, which is relative to the repository root,
    not the PATH_AS_SHOWN which comes from the command line.
   (diff_git_format_wc_wc): Expand test to cover copies with modifications.
 
 * subversion/libsvn_wc/diff.c
   (file_diff): Move the MODIFIED local variable and related calls back into
    a tighter scope, as we don't need it elsewhere anymore.
    When generating git diffs, always report copies via the file_added()
    callback, never through the file_changed() one. We used to show copies
    with modifications via file_changed(), but that does not cause git diff
    copy headers to be generated.

r990359: 2010-08-28 13:16:05 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (print_git_diff_header): Pass both path1 and path2 to
    print_git_diff_header_modified() instead of passing path2 twice. The paths
    are the same in this case so this is not a functional change, just cosmetic.

r990358: 2010-08-28 12:59:32 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 Re-implement the horrid adjust_relative_to_repos_root() diff helper function.
 
 * subversion/libsvn_client/diff.c
   (adjust_relative_to_repos_root): Rewrite in a way that's a lot easier
    to follow. Add a new parameter WC_ROOT_ABSPATH which is needed to handle
    the repos-wc diff case.
   (print_git_diff_header, display_prop_diffs): Likewise, add new parameter
    WC_ROOT_ABSPATH and pass it on to adjust_relative_to_repos_root().
   (diff_cmd_baton): New member WC_ROOT_ABSPATH.
   (diff_content_changed, diff_props_changed): Adjust callers.
   (find_wc_root): A helper function to find the root directory of a working
    copy. Could probably be promoted to become part of some API if needed.
   (diff_repos_wc): Store the absolute path of the working copy root directory
    in the diff baton for later use.
   (svn_client_diff5, svn_client_diff_peg5): Initialise new member.
 

r990330: 2010-08-28 09:23:16 [lgo] Lieven Govaerts

M  [performance] /subversion/libsvn_subr/cache-memcache.c  [diff, log, file]

 Fix GCC build by removing C++ specific syntax.
 
 * subversion/libsvn_subr/cache-memcache.c
   (memcache_is_cachable): Name and fake use of the first function parameter.

r990325: 2010-08-28 08:51:40 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 In git diff headers, make the paths shown after "a/" and "b/" always
 reflect the left and right side of the diff, respectively.
 
 Before this change, a 2-URL diff between ^/trunk and ^/branch would show
 paths like "a/branch/foo.c b/branch/foo.c". Now, the paths shown reflect
 the nature of the diff more accurately: "a/trunk/foo.c b/branch/foo.c".
 
 Sometimes both paths are equal, sometimes they aren't. But that really
 depends on the global diff operation, not on the individual changes the
 git diff headers are printing. Yet a few of the git header printing functions
 were only receiving one path.
 
 * subversion/libsvn_client/diff.c
   (print_git_diff_header_added, print_git_diff_header_deleted,
    print_git_diff_header_copied, print_git_diff_header_added,
    print_git_diff_header_modified): Expect two paths, and print the first one
     after "a/" and the second one after "b/". Also, swap argument order of
     the _copied() function from (path, copyfrom_path) to the more natural-
     looking order (copyfrom_path, path).
   (print_git_diff_header_moved): Rename to ...
   (print_git_diff_header_renamed): ... this, because the header also says
    "rename to/from". Also, same kind of change as above, including the
    path/copyfrom_path swap.
   (print_git_diff_header): Adjust caller.

r990282: 2010-08-27 21:49:13 [hwright] Hyrum Wright

M  /subversion/libsvn_client/copy.c  [diff, log, file]

 Shuffle around some verification code shared by the copy/move implementation.
 
 * subversion/libsvn_client/copy.c
   (verify_wc_srcs_and_dsts): New.
   (wc_to_wc_copy): Remove.
   (try_copy): Move conditional on is_move to here.

r990248: 2010-08-27 20:12:24 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Create four more queries to update NODE_DATA.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_WORKING_NODE_DATA_COPY_FROM_BASE_1,
     STMT_INSERT_WORKING_NODE_DATA_COPY_FROM_BASE_2,
     STMT_INSERT_WORKING_NODE_DATA_COPY_FROM_WORKING_1,
     STMT_INSERT_WORKING_NODE_DATA_COPY_FROM_WORKING_2): New queries.
 
  * subversion/libsvn_wc/wc_db.c
    (svn_wc__db_op_copy): Use the new queries in an SVN_WC__NODE_DATA block.

r990214: 2010-08-27 17:42:50 [ehu] Erik Hülsmann

M  /subversion/libsvn_wc/wc-queries.sql  [diff, log, file]
M  /subversion/libsvn_wc/wc_db.c  [diff, log, file]

 Create two more wc db statements replacing a single WORKING_NODE table update
 for WORKING_NODE and NODE_DATA updating.
 
  * subversion/libsvn_wc/wc-queries.sql
    (STMT_INSERT_WORKING_NODE_DATA_NOT_PRESENT_FROM_BASE_NODE_1,
     STMT_INSERT_WORKING_NODE_DATA_NOT_PRESENT_FROM_BASE_NODE_2):
       New statements.
 
  * subversion/libsvn_wc/wc_db.c
    (make_copy_txn): Use new statements inside SVN_WC__NODE_DATA blocks.

r990203: 2010-08-27 16:33:00 [pburba] Paul T. Burba

M  /subversion/tests/cmdline/merge_tests.py  [diff, log, file]

 * subversion/tests/cmdline/merge_tests.py
   (immediate_depth_merge_creates_minimal_subtree_mergeinfo): Remove trailing
    whitespace from test description.
 

r990202: 2010-08-27 16:32:55 [pburba] Paul T. Burba

M  /subversion/libsvn_client/merge.c  [diff, log, file]

 A tiny optimization to the issue #3642 fix.
 
 * subversion/libsvn_client/merge.c
 
   (record_mergeinfo_for_dir_merge): Don't make a needless function call if
    we know it will be inoperative.

r990193: 2010-08-27 16:20:11 [stsp] Stefan Sperling

M  /subversion/libsvn_client/diff.c  [diff, log, file]

 * subversion/libsvn_client/diff.c
   (display_prop_diffs): Remove a wrongly placed call to
    adjust_paths_for_diff_labels(), it was committed by accident in r990172.