Sander Rijken <sander@open.collab.net>


Found Patch
r876901, r873824, r873817, r873676, r873521 r873851, r873850, r873846

r873521 | rhuijben | 2008-10-04 23:08:22 +0000 (Sat, 04 Oct 2008)

Remove Windows specific side effects from svn_dirent_get_absolute. Passing
the flag APR_FILEPATH_TRUENAME to apr_filepath_merge made it check and alter
the casing of the passed path to the actual on-disk path. This makes the call
several orders slower on windows than on other operating systems that don't
check the path at all. This without actual profit as a case-changed path would 
fail on further processing.

Subversion fixes the casing of all user provided paths in 
svn_opt__arg_canonicalize_path, so we shouldn't check it again when we make
a path absolute.

This patch saves several seconds on typical branch merges on Windows. (Removes
a few thousand FindFirstFile calls on my test set involving only 21 file
changes on our 1.5.x branch.). The result is that it increases the merge 
performance on Windows by over 30%.

* subversion/libsvn_subr/dirent_uri.c
  (svn_dirent_get_absolute): Don't pass APR_FILEPATH_TRUENAME for just making
    a path absolute. This could change all parts of the passed path and makes it
    the absolute version of another path.

Found by: Sander Rijken <sander@open.collab.net>
          me


r873676 | rhuijben | 2008-10-12 10:48:03 +0000 (Sun, 12 Oct 2008)

Stop sleeping after each individual merge when batching several merges in 
a single command (Cherry picking)

Implement this by passing a svn_boolean_t* use_sleep to all function that
require a sleep for timestamp integrity. The calling function will then call
svn_sleep_for_timestamps() when use_sleep is set to TRUE.

* subversion/libsvn_client/merge.c
  (drive_merge_report_editor, do_file_merge): Add use_sleep parameter and set
    its value to TRUE instead of calling svn_sleep_for_timestamps().  
  (do_directory_merge, do_merge, merge_cousins_and_supplement_mergeinfo): 
    Add use_sleep parameter and pass it to functions now requiring this
    parameter.
  (svn_client_merge3, svn_client_merge_reintegrate, svn_client_merge_peg3):
    Pass use_sleep parameters to functions and call svn_sleep_for_timestamps() if
    this value is TRUE. Also check for use_sleep if the function returns
    an error.
  
Found by: Sander Rijken <sander@open.collab.net>
(and the 'very sleepy' profiler)


r873817 | rhuijben | 2008-10-18 23:24:08 +0000 (Sat, 18 Oct 2008)

* build.conf
  (libsvn_subr): Following up to r33730, add private\svn_sqlite.h to
    msvc-export to fix the windows build.

Found by: Sander Rijken <sander@open.collab.net>


r873824 | rhuijben | 2008-10-19 12:53:39 +0000 (Sun, 19 Oct 2008)

* subversion/libsvn_wc/lock.c
  (do_open): Following up on r33676, skip writing to the now read only missing
  instance. This should fix several testcases on the Windows buildbot.

Found by: Sander Rijken <sander@open.collab.net>


r873846 | rhuijben | 2008-10-20 09:54:24 +0000 (Mon, 20 Oct 2008)

* subversion/tests/cmdline/merge_tests.py
  (del_differing_file): Build paths used for checking subversion output using
    platform defined separator. This fixes merge test 103 on Windows.

Patch by: Sander Rijken <sander@open.collab.net>
(log message by: me)


r873850 | rhuijben | 2008-10-20 12:41:11 +0000 (Mon, 20 Oct 2008)

Fix some issues in the xml verification code in info_tests.py

* subversion/tests/cmdline/info_tests.py
  (verify_xml_elements): Use unmatched_exprs instead of expr_remaining,
    because the latter is not defined
  (match_xml_element): Allow regular expression search for the text content
    to allow more expressive checks in the future. Fixes obvious bug that
    sets exprs to 'None' after the first pass.

Patch by: Sander Rijken <sander@open.collab.net>


r873851 | rhuijben | 2008-10-20 12:51:25 +0000 (Mon, 20 Oct 2008)

Add two tests checking the basic information on added files and directories.

* subversion/tests/cmdline/info_tests.py
  (info_on_added_file): New testcase, verify that repository root and
    uuid are set on added file.
  (info_on_mkdir): New testcase, verify that repository root and
    uuid are set on new directory created using 'svn mkdir'.
  (test_list): Add above tests as XFails, they fail because there is no 
    repository uuid in these specific cases.

Found by: me
Patch by: Sander Rijken <sander@open.collab.net>


r876901 | rhuijben | 2009-03-28 21:05:52 +0000 (Sat, 28 Mar 2009)

* subversion/libsvn_fs_fs/fs_fs.c
  (write_config): Fix typo in default config.

Found by: Sander Rijken <sander@open.collab.net>