Kamesh Jayachandran <kamesh@collab.net>


Found Patch Review Suggested
r22621, r22318, r21916, r21856, r21853, r21851, r21842, r21589, r21511, r21384, r21047, r20810, r20759, r20484, r20464, r20359, r20187, r18538 r22679, r22669, r22622, r22537, r22518, r22516, r22511, r22509, r22507, r22503, r22404, r22391, r22376, r22369, r22345, r22334, r22319, r22309, r22307, r22303, r22191, r22184, r22160, r22154, r22146, r22145, r22138, r22137, r22057, r22048, r21990, r21886, r21878, r21866, r21852, r21844, r21843, r21689, r21673, r21671, r21605, r21604, r21577, r21567, r21556, r21553, r21528, r21525, r21498, r21459, r21370, r21356, r21338, r21335, r21327, r21323, r21322, r21321, r21258, r21108, r20924, r20923, r20893, r20852, r20570, r20485, r20471, r20381, r20375, r20370, r20342, r20240, r20223, r20222, r20220, r19635, r19498, r19309, r19227, r18700, r18686, r18382, r18110, r18005, r17993, r17664 r22402, r22131, r22119, r22020 r22412, r22371, r22360, r22130, r21900, r21585, r21563, r21262, r20809, r18761, r18372

r22679 | dlr | 2006-12-12 19:01:15 -0600 (Tue, 12 Dec 2006)

Correct the built '.jar', '.so', and '.dll' file names.

* subversion/bindings/java/javahl/README
  (Build system): 
  'libsvnjavahl.so' -> 'libsvnjavahl-1.so'
  'libsvnjavahl.dll' -> 'libsvnjavahl-1.dll'
  'svnjavahl.jar' -> 'svn-javahl.jar'

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)
Review by: malcolm
           pmayweg


r22669 | blair | 2006-12-12 15:32:23 -0600 (Tue, 12 Dec 2006)

Replace tabs with spaces.

* subversion/bindings/java/javahl/native/SVNBase.cpp
* subversion/bindings/java/javahl/native/JNIThreadData.cpp
* subversion/bindings/java/javahl/native/SVNClient.cpp
* subversion/bindings/java/javahl/native/libsvnjavahl.la.c
* subversion/bindings/java/javahl/native/SVNAdmin.cpp
* subversion/bindings/java/javahl/native/JNIStackElement.cpp
* subversion/bindings/java/javahl/native/JNIUtil.h
* subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
* subversion/bindings/java/javahl/native/JNIThreadData.h
* subversion/bindings/java/javahl/native/SVNClient.h
* subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.cpp
* subversion/bindings/java/javahl/native/JNIUtil.cpp
* subversion/bindings/java/javahl/native/SVNAdmin.h
* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/DirEntry.java
* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Notify.java
* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/NodeKind.java
  Replace tabs with spaces.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22622 | dlr | 2006-12-08 20:00:59 -0600 (Fri, 08 Dec 2006)

Only supply output parameters for desired values to retrieve from
apr_hash_this().  Pass NULL for unnecessary parameters.

* subversion/libsvn_wc/props.c
  (svn_wc__wcprops_write): Key is not needed.

* subversion/libsvn_wc/entries.c
  (walker_helper): Key-len is not needed.

* subversion/libsvn_wc/log.c
  (log_do_committed): Key-len is not needed.

* subversion/libsvn_client/copy.c
  (remove_tmpfiles): Key-len and Val are not needed.

* subversion/libsvn_client/commit_util.c
  (look_up_committable): Key is not needed.
  (svn_client__do_commit): Key and Key-len are not needed.

* subversion/svnlook/main.c
  (print_tree): Key and Key-len are not needed.

* subversion/bindings/java/javahl/native/SVNClient.cpp
  Bump up the copyright year.
  (SVNClient::propertyGet): Key is not needed.

* subversion/bindings/java/javahl/native/SVNAdmin.cpp
  Bump up the copyright year.
  (SVNAdmin::lslocks): Key is not needed.

* subversion/mod_dav_svn/repos.c
  (deliver): Key-len is not needed.

* subversion/mod_dav_svn/reports/get-locks.c
  (dav_svn__get_locks_report): Key is not needed.

* subversion/tests/svn_test_fs.c
  Bump up the copyright year.
  (get_dir_entries): Key and Key-len are not needed.
  (svn_test__validate_tree): Val is not needed.

* subversion/libsvn_repos/dump.c
  (write_hash_to_stringbuf): Val is not needed.

* subversion/libsvn_repos/load.c
  Bump up the copyright year.
  (remove_node_props): Key-len and Val are not needed.

* subversion/libsvn_repos/delta.c
  (delta_dirs): Key and Key-len are not needed.

* subversion/libsvn_ra_dav/props.c
  (svn_ra_dav__do_stat): Key is not needed. Val is not needed.

* subversion/libsvn_ra_dav/fetch.c
  (svn_ra_dav__get_dir): Val is not needed.
  (start_element): Key is not needed.

* subversion/svnserve/serve.c
  (get_locks): Key is not needed.

* subversion/libsvn_fs_fs/fs_fs.c
  (write_final_changed_path_info): Key-len is not needed.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22621 | dlr | 2006-12-08 19:46:53 -0600 (Fri, 08 Dec 2006)

A follow-up to r22601, fixing some formatting and doc string wording.

[ in subversion/bindings/java/javahl/ ]

* native/SVNClient.cpp
  (SVNClient::diffSummarize): Remove tabs.

* native/org_tigris_subversion_javahl_SVNClient.cpp
  (Java_org_tigris_subversion_javahl_SVNClient_diffSummarize): Remove
   tabs.

* src/org/tigris/subversion/javahl/SVNClientInterface.java
* src/org/tigris/subversion/javahl/SVNClient.java
* src/org/tigris/subversion/javahl/SVNClientSynchronized.java
  (diffSummarize): Fix wording for RECEIVER @param JavaDoc.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r22537 | dlr | 2006-12-01 15:29:26 -0600 (Fri, 01 Dec 2006)

On the merge-tracking branch: Fix svnserve's handling of the
'get-merge-info' command.

* subversion/svnserve/serve.c
  (get_merge_info): Properly handle the incoming 'paths' tuple (an
   array of 'svn_ra_svn_item_t', with each of kind
   'SVN_RA_SVN_STRING'), validating the data type of and
   canonicalizing each path, adding them to a new list where each
   element is of type 'char *'.  Write the result as a list of (path
   mergeinfo) tuple.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r22518 | dlr | 2006-11-30 12:13:32 -0600 (Thu, 30 Nov 2006)

Tweak wording.

* subversion/libsvn_ra_svn/protocol
  (Syntactic structure): 'optional value' -> 'optional tuple'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22516 | lgo | 2006-11-30 09:05:52 -0600 (Thu, 30 Nov 2006)

Follow up r22510: update the testcase to check for the added 'eol' in the
conflict description in the '.prej' files.

* subversion/tests/cmdline/merge_tests.py
  (simple_property_merges): 
   Append '\n' to expected '*.prej' contents.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me).

r22511 | dlr | 2006-11-29 18:57:11 -0600 (Wed, 29 Nov 2006)

On the merge-tracking branch: Implement merge info retrieval API for
ra_serf.

(Note: All merge_tests.py are failing for me with this patch due to a
segfault.  Local problems not yet ruled out...)

* subversion/libsvn_ra_serf/serf.c
  (svn_ra_serf__get_merge_info): Remove stub.

* subversion/libsvn_ra_serf/mergeinfo.c
  New file implementing svn_ra_serf__get_merge_info().

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__get_merge_info): Declare API.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22509 | dlr | 2006-11-29 16:48:31 -0600 (Wed, 29 Nov 2006)

On the merge-tracking branch: Fix the vague error message "Unknown
command 'Log'" produced by 'svn cp svn://host/path1 svn://host/path2'.

* subversion/libsvn_client/copy.c
  (repos_to_repos_copy): 'svnserve' gets confused when 'readonly
   actions' like 'log', 'get-merge-info' are invoked over a ra_session
   with a active commit_editor.  Move the 'log' and 'get_merge_info'
   (calculate_target_merge_info) actions ahead of acquiring
   commit_editor (svn_ra_get_commit_editor2).

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r22507 | dlr | 2006-11-29 16:27:00 -0600 (Wed, 29 Nov 2006)

On the merge-tracking branch: Add an XFAIL test verifying that we
avoid repeated merges on a sub-tree of a merge target when the
sub-tree has its own merge info.

* subversion/tests/cmdline/merge_tests.py
  (create_deep_trees): New helper function with a code factored out of
   avoid_repeated_merge_using_inherited_merge_info() to reuse in the
   new test case.

  (avoid_repeated_merge_using_inherited_merge_info): Use the new
   create_deep_trees() helper.

  (avoid_repeated_merge_on_subtree_having_merge_info): New test case.

  (test_list): Include avoid_repeated_merge_on_subtree_having_merge_info()
   as XFail.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me


r22503 | dlr | 2006-11-29 12:21:36 -0600 (Wed, 29 Nov 2006)

Use 'svntest.main.file_write' rather than explicitly performing an
open/write/close.

* subversion/tests/cmdline/svntest/main.py
  (create_config_dir, Sandbox._set_name): Use file_write().

* subversion/tests/cmdline/svntest/actions.py
  (setup_pristine_repository): Use file_write().

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22412 | hwright | 2006-11-23 10:36:26 -0600 (Thu, 23 Nov 2006)

Improve a test to make sure the copy actually worked.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/tests/cmdline/copy_tests.py:
  (copy_multiple_repo_wc): After doing the copy, commit the changes to verify
  the copy worked.



r22404 | dlr | 2006-11-22 15:44:10 -0600 (Wed, 22 Nov 2006)

On the merge-tracking branch: Fix 'merge_tests 39' to work with recent
'svntest parallelization' effort.

* subversion/tests/cmdline/merge_tests.py
  (avoid_repeated_merge_using_inherited_merge_info): Use sbox.repo_url
   instead of svntest.main.current_repo_url.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22402 | dlr | 2006-11-22 15:32:15 -0600 (Wed, 22 Nov 2006)

JavaHL: A follow-up to r22385 cleaning up some stylistic and copyright
issues.

[ in subversion/bindings/java/javahl/ ]

* src/org/tigris/subversion/javahl/SVNClient.java
* src/org/tigris/subversion/javahl/SVNClientSynchronized.java
* native/SVNClient.h
* native/org_tigris_subversion_javahl_SVNClient.cpp
  Update copyright year.

* native/ProgressListener.cpp
  Kill stray tab characters.

Review by: Kamesh Jayachandran <kamesh@collab.net>


r22391 | dlr | 2006-11-22 11:22:23 -0600 (Wed, 22 Nov 2006)

On the merge-tracking branch: Remove unnecessary code.

* subversion/libsvn_subr/mergeinfo.c
  (svn_mergeinfo_sort): Remove local variable 'key', as we don't need
   it.  (It was being passed to apr_hash_this(), then not used.)

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22376 | dlr | 2006-11-21 11:57:52 -0600 (Tue, 21 Nov 2006)

On the merge-tracking branch: A follow-up to r22369, accumulating
merge info (which may be broken over multiple lines) in a
memory-efficient manner.

* subversion/libsvn_ra_dav/mergeinfo.c
  (struct mergeinfo_baton): Change type of "curr_info" from "const
   char *" to "svn_stringbuf_t".

  (start_element): Set BATON->curr_info to empty.

  (end_element): Update for change of BATON->curr_info type.

  (cdata_handler): Fix for "curr_info" type change.

  (svn_ra_dav__get_merge_info): Initialize the members of "struct
   mergeinfo_baton" only once, accounting for the change in the type
   of its "curr_info" member by initializing it to an empty buffer.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r22371 | dlr | 2006-11-20 17:03:17 -0600 (Mon, 20 Nov 2006)

Formatting fix.

* subversion/libsvn_ra_serf/replay.c
  (start_replay, end_replay, cdata_replay): Properly align function
   parameters.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>


r22369 | dlr | 2006-11-20 12:33:10 -0600 (Mon, 20 Nov 2006)

On the merge-tracking branch: Fix potential loss of merge info data
due to line-by-line handling of SAX CDATA stream.

* subversion/libsvn_ra_dav/mergeinfo.c
  (cdata_handler): Concatenate any current data with the previously
   accumulated data.

  (svn_ra_dav__get_merge_info): Initialize the fields in our local
   "struct mergeinfo_baton" to NULL.

Patch by: me
          Kamesh Jayachandran <kamesh@collab.net>


r22360 | dlr | 2006-11-20 01:35:19 -0600 (Mon, 20 Nov 2006)

On the merge-tracking branch: Stub out the merge info retrieval RA
vtable callback for ra_serf to avoid a segfault.

* subversion/libsvn_ra_serf/serf.c
  (svn_ra_serf__get_merge_info): Return NULL for the *MERGEINFO
   parameter.

  (serf_vtable): Add svn_ra_serf__get_merge_info to the list in
   ra_loader.h's get_merge_info field.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>


r22345 | lgo | 2006-11-19 09:25:22 -0600 (Sun, 19 Nov 2006)

Cleanup the commit tests code a bit: remove unused variables, merge some
tree setup code and correct some comments.

* subversion/tests/cmdline/commit_tests.py
  (global): Update copyright year.
  (get_standard_state): Tweak items with similar changes together.
  (commit_multiple_targets, 
   commit_multiple_targets_2: Comment corrections.
  (commit_inclusive_dir, commit_top_dir,
   merge_mixed_revisions):
   Remove the unused variables.
  (commit_add_file_twice):
   Add proper values to expected_status directly rather than tweaking 
   them later.
   Remove the unused variable.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
------------------------------------------------------------------------

r22334 | dlr | 2006-11-18 01:31:16 -0600 (Sat, 18 Nov 2006)

Verify the output of 'revert', and the post 'revert' status.

* subversion/tests/cmdline/revert_tests.py
  (revert_replacement_with_props): Set local variables expected_status
   and expected_output to the correct post-'revert' values, and
   actually start using them for verification of the 'revert'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Suggested by: lgo


r22319 | dionisos | 2006-11-17 02:05:05 -0600 (Fri, 17 Nov 2006)

Update docstring.

* subversion/libsvn_ra_svn/client.c
  (open_session): Fix docstring as per current code.


Patch by: Kamesh Jayachandran <kamesh@collab.net>
Tweaked by: me




r22318 | dionisos | 2006-11-17 02:00:18 -0600 (Fri, 17 Nov 2006)

Followup to r22294 and r22295: Copyright updates and potential-crash fix.

* subversion/include/svn_ra.h
* subversion/libsvn_client/ra.c
  Update copyright year.

* subversion/libsvn_ra_dav/util.c
  Update copyright year.
  (parse_spool_file): Add NULL check.

Found by: Kamesh Jayachandran <kamesh@collab.net>



r22309 | dlr | 2006-11-15 12:42:32 -0600 (Wed, 15 Nov 2006)

On the merge-tracking branch: Optimize away one sqlite query in the
merge info index, simplifying the code.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (parse_mergeinfo_from_db): Rename REV paremter to LASTMERGED_REV,
   allowing us to avoid the need to deduce the "last changed rev" (as
   it's now an explicit parameter).  Adjust doc string accordingly
   (and fix some discrepancies with it).

  (get_merge_info_for_path): Instead of getting the count of records,
   get the lastmerged_rev itself.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r22307 | dlr | 2006-11-15 11:54:51 -0600 (Wed, 15 Nov 2006)

On the merge-tracking branch: Refactor for code clarity.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (parse_mergeinfo_from_db): Change "while" loop to "do...while",
   since we know this block is exercised iff we have atleast one
   record.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Suggested by: me


r22303 | dlr | 2006-11-14 14:45:11 -0600 (Tue, 14 Nov 2006)

On the merge-tracking branch: Correct memory management while
iterating over records returned by sqlite (which re-uses its memory
across cursor locations).  Also, actually return the correct the merge
info in every case.  These problems show up if you have merge info
from two or more different merge sources.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (parse_mergeinfo_from_db): Copy the "mergedfrom" value procured from
   sqlite into our own pool.  Set "lastmergedfrom" as the key for our
   *RESULT hash to get the correct set of revision ranges for each
   merge source.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22191 | lgo | 2006-11-01 07:14:14 -0600 (Wed, 01 Nov 2006)

No need to tweak repos_rev for commit tests, repos_rev isn't used
anywhere in the verification of the commit result.

* subversion/tests/cmdline/copy_tests.py
  (copy_replace, copy_replace_with_props,
   force_move): remove repos_rev tweaks
* subversion/tests/cmdline/revert_tests.py
  (global): Bump up the copyright year.
  (revert_replacement_with_props): remove repos_rev tweaks

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me (found another location where repos_rev was tweaked)
------------------------------------------------------------------------

r22184 | dlr | 2006-10-31 15:20:00 -0600 (Tue, 31 Oct 2006)

On the merge-tracking branch: Fix retrieval of inherited merge info
for the following cases:

1) For the path "/a/b/c/d/e" when the repos only has the merge info
for "/a/b/c" and no direct mergeinfo for "/a/b/c/d".

2) For the path "/a/b/c/d/e" when the repos explicitly has no merge
info (meaning a record in the mergeinfo_changed table, but no record
in the mergeinfo table) for "/a/b/c", and no direct merge info for
"/a/b/c/d". The moment "no merge info" is encountered, eliding has to
stop.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (get_merge_info_for_path): Improve doc string.  Replace use of local
   variable "has_no_mergeinfo" with NEGATIVE_CACHE_RESULT for the PATH
   in the CACHE hash.  Replace use of local variables "cacheresult"
   and "pathresult" with "path_mergeinfo".  Avoid recursing further up
   the path hierarchy once we hit an explicit absence of merge info.
   Irrespective of RESULT, translate the hash keys of the "elided
   parent->path", and record it in CACHE, so that we don't lose the
   merge info of "/a/b/c" during unwinding phase of recursion with
   path "/a/b/c/d".

* subversion/tests/cmdline/merge_tests.py
  (avoid_repeated_merge_using_inherited_merge_info): New function.

  (tests_list): Add avoid_repeated_merge_using_inherited_merge_info().

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r22160 | lgo | 2006-10-30 13:02:54 -0600 (Mon, 30 Oct 2006)

Cleanup in copy_tests.py: 
  Remove unused variables.
  Consistent usage of 'wc_dir' rather than 'sbox.wc_dir'.

* subversion/tests/cmdline/copy_tests.py
  (basic_copy_and_move_files, receive_copy_in_update,
   repos_to_wc, double_uri_escaping_1814,
   mixed_wc_to_url): 
   Remove the unused variables.
  (wc_copy_parent_into_child, wc_copy_dir_to_itself,
   force_move):
   Consistent usage of 'wc_dir'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
------------------------------------------------------------------------

r22154 | lgo | 2006-10-29 02:39:21 -0600 (Sun, 29 Oct 2006)

Remove used code.

* subversion/tests/cmdline/copy_tests.py
  (copy_replace_with_props): Remove unused expected_status.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
------------------------------------------------------------------------

r22146 | lgo | 2006-10-28 12:12:36 -0500 (Sat, 28 Oct 2006)

Across our testsuite we could see code of the following nature
  expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, some_rev)
  expected_status.tweak(wc_rev=some_other_rev)
which is functionally equivalent to
  expected_status = svntest.actions.get_virginal_state(sbox.wc_dir,
                                                       some_other_rev)
This equivalent form avoids one loop over greek tree.

* subversion/tests/cmdline/basic_tests.py
  (basic_commit, basic_update,
   basic_corruption, basic_merging_update,
   basic_conflict, basic_checkout_deleted,
   basic_node_kind_change):
    Get the expected_status tree directly with the correct revision, instead
    of getting a wrong rev and tweaking it afterwards.
* subversion/tests/cmdline/commit_tests.py
  (commit_multiple_targets, commit_multiple_targets_2,
   nested_dir_replacements, hudson_part_1,
   hudson_part_1_variation_1, hudson_part_1_variation_2,
   hudson_part_2, hudson_part_2_1,
   merge_mixed_revisions, commit_uri_unsafe,
   commit_deleted_edited, commit_out_of_date_deletions, 
   commit_same_folder_in_targets):
    Same as above.
* subversion/tests/cmdline/copy_tests.py
  (basic_copy_and_move_files, receive_copy_in_update,
   copy_copied_file_and_dir, move_copied_file_and_dir,
   move_moved_file_and_dir, move_file_within_moved_dir,
   move_file_out_of_moved_dir, move_dir_within_moved_dir,
   move_dir_out_of_moved_dir, move_file_back_and_forth,
   copy_move_added_paths):
    Same as above.
* subversion/tests/cmdline/diff_tests.py
  (dont_diff_binary_file, diff_base_to_repos,
   diff_deleted_in_head, diff_force):
    Same as above.
* subversion/tests/cmdline/export_tests.py
  (export_with_state_deleted):
    Same as above.
* subversion/tests/cmdline/history_tests.py
  (cat_traces_renames):
    Same as above.
* subversion/tests/cmdline/lock_tests.py
  (commit_file_keep_lock, commit_file_unlock,
   commit_propchange, lock_status,
   stolen_lock_status, broken_lock_status,
   revert_lock, commit_xml_unsafe_file_unlock):
    Same as above.
* subversion/tests/cmdline/revert_tests.py
  (revert_replaced_file_without_props):
    Same as above.
* subversion/tests/cmdline/special_tests.py
  (general_symlink, copy_tree_with_symlink,
   replace_symlink_with_file, remove_symlink):
    Same as above.
* subversion/tests/cmdline/stat_tests.py
  (status_update_with_nested_adds):
    Same as above.
* subversion/tests/cmdline/svnlook_tests.py
  (test_misc, delete_file_in_moved_dir):
    Same as above.
* subversion/tests/cmdline/svnversion_tests.py
  (svnversion_test):
    Same as above.
* subversion/tests/cmdline/switch_tests.py
  (relocate_deleted_missing_copied, failed_anchor_is_target,
   obstructed_switch, refresh_read_only_attribute,
   relocate_and_propset):
    Same as above.
* subversion/tests/cmdline/trans_tests.py
  (update_modified_with_translation, cat_keyword_expansion,
   propset_commit_checkout_nocrash):
    Same as above.
* subversion/tests/cmdline/update_tests.py
  (update_binary_file, update_binary_file_2,
   receive_overlapping_same_change, update_to_resolve_text_conflicts,
   update_after_add_rm_deleted, update_replace_dir,
   update_single_file, prop_update_on_scheduled_delete,
   update_deleted_missing_dir, another_hudson_problem,
   update_deleted_targets, non_recursive_update,
   nested_in_read_only, update_xml_unsafe_dir,
   forced_update, forced_update_failures,
   update_wc_on_windows_drive):
    Same as above.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22145 | lgo | 2006-10-27 17:46:48 -0500 (Fri, 27 Oct 2006)

Across our testsuite we could see code of the following nature
  expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, some_rev)
  expected_status.tweak(wc_rev=some_other_rev)
which is functionally equivalent to 
  expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 
                                                       some_other_rev)
This equivalent form avoids one loop over greek tree.

* subversion/tests/cmdline/merge_tests.py
  (textual_merges_galore, add_with_history,
   delete_file_and_dir, merge_catches_nonexistent_target,
   merge_one_file_helper, merge_with_implicit_target_helper,
   merge_with_prev, merge_binary_file, 
   three_way_merge_add_of_existing_binary_file,
   merge_skips_obstructions, merge_dir_replace,
   merge_dir_branches, merge_add_over_versioned_file_conflicts): 
    Get the expected_status tree directly with the correct revision, instead
    of getting a wrong rev and tweaking it afterwards.
   
Patch by: Kamesh Jayachandran <kamesh@collab.net>
------------------------------------------------------------------------

r22138 | dlr | 2006-10-27 11:52:03 -0500 (Fri, 27 Oct 2006)

Remove C-style statement delimiter.

* subversion/tests/cmdline/merge_tests.py
  (merge_add_over_versioned_file_conflicts): Remove ';' character from
   the end of a line.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22137 | dlr | 2006-10-27 11:50:14 -0500 (Fri, 27 Oct 2006)

Test suite code simplification.

* subversion/tests/cmdline/merge_tests.py
  (textual_merges_galore): Retrieve the expected_status tree at rev 1,
   rather than retrieving it at rev 2 and tweaking it to rev 1.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r22131 | dlr | 2006-10-26 17:38:10 -0500 (Thu, 26 Oct 2006)

On the merge-tracking branch: For repos to repos copy, record
inherited/direct merge info known to the repository for copy sources
on the copy destination.

* subversion/libsvn_client/copy.c
  (calculate_target_merge_info): Improved doc string.  Renamed local variable
   "copyfrom_mergeinfo" to "implied_mergeinfo".  Changed calculation of
   "copyfrom_path".  Implemented TODOs of retrieving and using merge info
   from the repository.

Patch by: madanus
(Tweaked by me.)
Review by: Kamesh Jayachandran <kamesh@collab.net>


r22130 | dlr | 2006-10-26 17:16:04 -0500 (Thu, 26 Oct 2006)

On the merge-tracking branch: Add a new helper API for retrieving
merge info for a single path.  Currently, this API only retrieves
information from the repository.  However, as 'copy' handles more
Merge Tracking cases (e.g. WC -> repos), we'll likely need to start
accounting for merge info stored in the WC as well.

* subversion/libsvn_client/client.h
  (svn_client__get_merge_info_for_path): Add function declaration.

* subversion/libsvn_client/util.c
  (svn_client__get_merge_info_for_path): Add function definition.

* subversion/libsvn_client/diff.c
  (get_wc_target_merge_info): Leverage the new
   svn_client__get_merge_info_for_path() API.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>


r22119 | dlr | 2006-10-25 18:13:45 -0500 (Wed, 25 Oct 2006)

On the merge-tracking branch: Record implied merge info for copy
sources for repos to repos copy.

* subversion/libsvn_client/copy.c
  (copyfrom_revision_receiver): New log callback to obtain the
   copyfrom revision.
  (get_implied_mergeinfo): New function which gets the implied merge
   info of the specified path.
  (calculate_target_mergeinfo): New function which calls
   get_implied_mergeinfo() to obtain the copyfrom mergeinfo of the
   copy's source path.
  (repos_to_repos_copy): Modified to use calculate_target_mergeinfo() to get
   cb_baton.mergeinfo.

* subversion/tests/cmdline/switch_tests.py
  (delete_subdir): Add property update of A (from the copy of A to A2)
   when performing the switch.
  (refresh_read_only_attribute): Add property update of A (from the
   copy of A to A-branch) when performing the switch.

* subversion/tests/cmdline/merge_tests.py
  (simple_property_merges, safe_property_merge,
   property_merge_from_branch): Update to account for copy's
   propogation of implied merge info from a copy source to target.
  (three_way_merge_add_of_existing_binary_file): Note why failure is
   now occurring.
  (test_list): Mark three_way_merge_add_of_existing_binary_file() as
   XFail.

Patch by: madanus
          me
Review by: Kamesh Jayachandran <kamesh@collab.net>


r22057 | dlr | 2006-10-20 14:49:23 -0500 (Fri, 20 Oct 2006)

On the merge-tracking branch: During 'merge', inherit any merge info
stored in the repository which is not indicated by the "svn:mergeinfo"
property in the WC.

* subversion/libsvn_client/diff.c
  (get_wc_target_merge_info): Get any merge info which may have been
   elided into a parent path by passing the repository-relative path
   of the merge target (or its "copy from" path, if is the result of a
   copy/move).

Patch by: me
          Kamesh Jayachandran <kamesh@collab.net>


r22048 | dlr | 2006-10-19 18:17:25 -0500 (Thu, 19 Oct 2006)

On the merge-tracking branch: Implement 'txn-mergeinfo' change,
storage and retrieval for 'bdb' repositories.

Store the transaction merge info as a temporary transaction property
(svn:txn-mergeinfo) with a value as serialized form of apr_hash_t.

* subversion/libsvn_fs_base/dag.h
  (svn_fs_base__dag_commit_txn): Change the signature to accept 
   "svn_fs_txn_t *" (needed by svn_fs_merge_info__update_index()).
   From "svn_fs_txn_t *", derive "svn_fs_t *" and "const char
   *txn_id" rather than passing them explicitly.

* subversion/libsvn_fs_base/tree.c
  Include "svn_mergeinfo.h".
  (struct change_merge_info_args): New structure used as the baton for
   txn_body_change_merge_info().
  (txn_body_change_merge_info): New helper function for
   base_change_merge_info()'s usage of the svn_fs_base__retry_txn()
   callback parameter.
  (base_change_merge_info): New hook function implementing root_vtable_t's 
   "change_merge_info" hook.
  (change_txn_merge_info): New function to update the transaction
   merge info upon modification of the "svn:mergeinfo" property.
  (txn_body_change_node_prop): Call change_txn_merge_info() if the
   property getting modified is "svn:mergeinfo".
  (txn_body_commit): Update for API change to svn_fs_base__dag_commit_txn().
  (root_vtable): Set the "change_merge_info" hook to "base_change_merge_info".

* subversion/libsvn_fs_base/tree.h
  Include "svn_props.h"
  (SVN_FS_PROP_TXN_MERGEINFO): New macro.

* subversion/libsvn_fs_base/revs-txns.c
  Include "svn_hash.h" "svn_io.h" for serializing the mergeinfo.
  (svn_fs_base__set_txn_merge_info): New function to record the
   transaction merge info.
  (base_txn_merge_info): New function that retrieves the stored 
   transaction mergeinfo implementing txn_vtable_t->get_mergeinfo hook.
  (txn_vtable): Set 'get_mergeinfo' hook to 'base_txn_merge_info'.
 
* subversion/libsvn_fs_base/revs-txns.h
  (svn_fs_base__set_txn_merge_info): Add prototype.

* subversion/libsvn_fs_base/dag.c
  Include "tree.h" and "private/svn_fs_merge_info.h".
  (svn_fs_base__dag_commit_txn): Changed function signature.  Record
   merge info by calling svn_fs_merge_info__update_index().

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r22020 | lgo | 2006-10-18 12:01:44 -0500 (Wed, 18 Oct 2006)

The output of svn status -u is unordered so compare the output accordingly
with the expected output.

Patch by: me
Reviewed by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/tests/cmdline/stat_tests.py
  (global): import SVNAnyOutput.
  (status_dash_u_missing_dir): Allow for the output lines of the status to 
   be in any order by using svntest.main.compare_unordered_output.

r21990 | dlr | 2006-10-16 22:23:47 -0500 (Mon, 16 Oct 2006)

ra_dav: Remove an unnecessary field from an internal baton.

* subversion/libsvn_ra_dav/fetch.c
  (struct get_locks_baton_t): Remove the "err" field.

  (svn_ra_dav__get_locks): Adjust for the above change.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21916 | pburba | 2006-10-13 11:18:00 -0500 (Fri, 13 Oct 2006)

Follow-up to new JavaHL test in r21908, remove unused variables.

* subversion/bindings/java/javahl/src/org/tigris/
  subversion/javahl/tests/BasicTests.java
  (testOODStatus): Remove Cinfo and Ginfo, neither is required
  to determine parent's expected OOD info since parents' other
  children have subsequent changes.

Found by: kamesh@collab.net
------------------------------------------------------------------------

r21900 | glasser | 2006-10-12 10:18:11 -0500 (Thu, 12 Oct 2006)

Little cleanups from r21887.

* subversion/libsvn_client/prop_commands.c
  (propset_on_url): Remove an unused array and move two baton structs
   to the stack.

* subversion/svn/propedit-cmd.c
  (svn_cl__propedit): Don't print the "Set new value for property" message
   for URLs if you didn't actually commit it.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>


r21886 | dlr | 2006-10-11 11:27:03 -0500 (Wed, 11 Oct 2006)

On the merge-tracking branch: Align function parameters for correct
formatting.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (util_sqlite_exec): Align parameters.
   
* subversion/libsvn_subr/mergeinfo.c
  (svn_rangelist_to_string): Align parameters.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21878 | dlr | 2006-10-10 21:46:11 -0500 (Tue, 10 Oct 2006)

On the merge-tracking branch: Signal get_merge_info_for_path() whether
to set RESULT by passing it as NULL, rather than also passing in a
redundant SETRESULT parameter.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (get_merge_info_for_path): Update doc string.  Remove SETRESULT.

  (svn_fs_merge_info__get_merge_info): Call get_merge_info_for_path()
   with the new API signature.
   
Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21866 | dlr | 2006-10-10 11:05:28 -0500 (Tue, 10 Oct 2006)

On the merge-tracking branch: A follow-up to r21852 fixing a
compilation error, and removing an extraneous inline comment.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  Remove outdated comment (which should have been removed in r21852).
  (path_mergeinfo_db): Change reference to SVN_FS_MERGE_INFO_DB_NAME
   to SVN_FS_MERGE_INFO__DB_NAME.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21856 | kfogel | 2006-10-09 15:19:12 -0500 (Mon, 09 Oct 2006)

On the incomplete-directories branch:

Finish revving some client diff code, as should have done in r21710.

Found by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_client/diff.c
  (diff_repos_wc): Call svn_wc_get_diff_editor4, which takes depth
    instead of recurse.

* subversion/include/svn_ra.h
  (svn_ra_do_diff3): Take depth instead of recurse in the declaration,
    as the definition already does, and leave a documentation flare.


r21853 | kfogel | 2006-10-09 12:52:34 -0500 (Mon, 09 Oct 2006)

On the incomplete-directories branch:

Correctly rev the peg diff API, as should have done in r21825.

Found by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/include/svn_client.h
  (svn_client_diff_peg4): Rev to this name.

* subversion/libsvn_client/diff.c
  (svn_client_diff_peg4): Implement, using body of old svn_client_diff_peg3.
  (svn_client_diff_peg3): Reimplement as wrapper around svn_client_diff_peg4.


r21852 | dlr | 2006-10-09 12:46:50 -0500 (Mon, 09 Oct 2006)

Consolidate definition of a constant for the sqlite merge info
database name to a single place, and handle copying of the merge info
database during 'svnadmin hotcopy' for BerkeleyDB.

* subversion/include/private/svn_fs_merge_info.h
  (SVN_FS_MERGE_INFO__DB_NAME): New #define'd constant.

* subversion/libsvn_fs_fs/fs_fs.c
  (PATH_MERGEINFO_DB): Remove #define.
  (svn_fs_fs__hotcopy): Adjust constant name.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (PATH_MERGEINFO_DB): Remove #define.
  (path_mergeinfo_db): Adjust constant name.

* subversion/libsvn_fs_base/fs.c
  (base_hotcopy): Copy the sqlite database SVN_FS_MERGE_INFO__DB_NAME
   to the destination.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r21851 | kfogel | 2006-10-09 12:39:57 -0500 (Mon, 09 Oct 2006)

On the incomplete-directories branch:

* subversion/tests/cmdline/checkout_tests.py
  subversion/tests/cmdline/depth_tests.py: Remove duplicate XFails
    declarations resulting from the combination of r21179 with the
    merge of trunk:21257-21306 in r21307.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r21844 | dlr | 2006-10-09 11:35:31 -0500 (Mon, 09 Oct 2006)

Reduce memory usage and complexity of libsvn_fs_util's
get_merge_info_for_path() routine.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (get_merge_info_for_path): Avoid duplicating the component dir as it
   is never modified by its consumer (the append_component_to_paths()
   routine).

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Reviewed by: malcolm


r21843 | dlr | 2006-10-09 11:26:29 -0500 (Mon, 09 Oct 2006)

Cleanup the documentation and implementation of the
append_component_to_paths() API in libsvn_fs_util.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (append_component_to_paths): Improve doc string and formatting.
   Avoid retrieving key lengths when iterating over paths in the merge
   info (the keys here are APR_HASH_KEY_STRING).

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r21842 | kfogel | 2006-10-09 03:08:20 -0500 (Mon, 09 Oct 2006)

On the incomplete-directories branch:

* subversion/tests/cmdline/depth_tests.py: Fix copyright year, and
    don't import modules we're not currently using.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r21689 | dlr | 2006-09-27 19:18:31 -0500 (Wed, 27 Sep 2006)

On the merge-tracking branch: Fix compiler warning from missing header
include.

* subversion/libsvn_fs_base/fs.c
  Include "private/svn_fs_merge_info.h".

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21673 | dlr | 2006-09-26 19:18:14 -0500 (Tue, 26 Sep 2006)

Move merge info sqlite indexing code out of libsvn_fs_fs, and into
libsvn_fs_util (a new module) so that it can be reused by the BDB
backend (while prototyping, at least).

1. Expose indexing-related APIs from libsvn_fs_util for use by the
libsvn_fs_base and libsvn_fs_fs modules.

2. Move the relevant merge info-related FS functions from
libsvn_fs_fs/tree.c and libsvn_fs_fs/fs_fs.c to
libsvn_fs_util/merge-info-sqlite-index.c.


* build.conf
  (libsvn_fs_fs, libsvn_fs_base): Depend on libsvn_fs_util, rather
   than sqlite.
  (libsvn_fs_util): New module.

* subversion/libsvn_fs_fs/fs.h
  Remove the inclusion of sqlite3.h header.
  (fs_fs_data_t): Remove the member "mtd".
  (fs_txn_data_t): Remove.
  (fs_sqlite_exec): Moved to the new libsvn_fs_util module, and
   renamed to "util_sqlite_exec".
  (SQLITE_ERR): Moved to merge-info-sqlite-index.c.

* subversion/libsvn_fs_fs/tree.c
  (NEGATIVE_CACHE_RESULT, parse_mergeinfo_from_db,
   append_component_to_paths, get_merge_info_for_path): Moved to
   merge-info-sqlite-index.c.
  (fs_get_merge_info): Moved to merge-info-sqlite-index.c, and renamed
   to "svn_fs_merge_info__get_merge_info".
  (root_vtable): Set the "get_merge_info" hook to
   "svn_fs_merge_info__get_merge_info".

* subversion/libsvn_fs_fs/fs_fs.c
  Remove the inclusion of sqlite3.h header.
  (path_mergeinfo_db, sqlite_tracer, index_path_merge_info,
   index_txn_merge_info, SVN_MTD_CREATE_SQL): Moved to
   merge-info-sqlite-index.c.
  (svn_fs_fs__create_txn): Don't populate the "fs_txn_data_t" field of
   txn vtable.
  (update_merge_info_index): Moved to merge-info-sqlite-index.c, and
   renamed to the public function "svn_fs_merge_info__update_index".
  (commit_body): Call "svn_fs_merge_info__update_index".
  (fs_sqlite_exec): Move to the new libsvn_fs_util module, renamed to
   "util_sqlite_exec", and made static.
  (svn_fs_fs__create): Call "svn_fs_merge_info__create_index" to
   create the sqlite DB.
  (svn_fs_fs__open_txn): Don't populate the "fsap_data" member.

* subversion/libsvn_fs_base/tree.c
  (root_vtable): Set the "get_merge_info" hook to
   "svn_fs_merge_info__get_merge_info".

* subversion/libsvn_fs_base/fs.c
  (base_create): Call "svn_fs_merge_info__create_index" to create the 
   sqlite DB.

* subversion/libsvn_fs_util
  New module.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  New source file with APIs from subversion/libsvn_fs_fs/tree.c and
  subversion/libsvn_fs_fs/fs_fs.c.

* subversion/include/private/svn_fs_merge_info.h
  New file.
  (svn_fs_merge_info__create_index): Create a sqlite DB for the merge
   info index.
  (svn_fs_merge_info__update_index): Update the merge info index.
  (svn_fs_merge_info__get_merge_info): Get the merge info for a
   committed revision and set of paths

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)
Reviewed by: me
             malcolm
             ghudson
             dberlin
             Marcus Rueckert <darix@web.de>


r21671 | dlr | 2006-09-26 15:51:26 -0500 (Tue, 26 Sep 2006)

Use "svn_lib__func" naming convention to separate API library prefixes
from functions for internal interfaces which are not part of
Subversion's public API.

* subversion/include/svn_hash.h
* subversion/libsvn_subr/hash.c
  (svn_hash__clear): Rename from svn_hash_clear().

* subversion/libsvn_client/repos_diff.c
  (close_directory): Adjust for API rename.

* subversion/include/private/svn_atomic.h
* subversion/libsvn_subr/atomic.c
  (svn_atomic__init_once): Rename from svn_atomic_init_once().

* subversion/libsvn_fs_base/bdb/env.c
  (svn_fs_bdb__init): Adjust for API rename.

* subversion/libsvn_ra_svn/sasl_auth.c
  (global): Fix comment to adjust for API rename.
  (svn_ra_svn__sasl_init): Adjust for API rename.

* subversion/svnserve/sasl_auth.c
  (sasl_init): Adjust for API rename.

Patch by: me
          Kamesh Jayachandran <kamesh@collab.net>


r21605 | dlr | 2006-09-22 11:49:01 -0500 (Fri, 22 Sep 2006)

On the merge-tracking branch: For 3-way merges, handle the fact that a
svn_merge_range_t's "start" and "end" are inclusive.  This is likely
only a temporary "fix", since the actual merge logic for 3-way merges
needs to change significantly in light of Merge Tracking.

* subversion/libsvn_client/diff.c
  (grok_range_info_from_opt_revisions): For 3-way merges, handle the
   fact that a svn_merge_range_t's "start" and "end" are inclusive.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21604 | bhuvan | 2006-09-21 22:41:56 -0500 (Thu, 21 Sep 2006)

If path is a copy/move, add '+' character to the log message displayed
in SVN_EDITOR.

Patch by: djames
          Kamesh Jayachandran <kamesh@collab.net>
          dlr
          me

subversion/svn/util.c:
  * (svn_cl__get_log_message): If path is a copy/move, add '+' character
    to the log message displayed in SVN_EDITOR.


r21589 | dlr | 2006-09-21 11:35:10 -0500 (Thu, 21 Sep 2006)

* subversion/tests/cmdline/merge_tests.py
  (merge_skips_obstructions): Remove extraneous "return" statement
   added while debugging which slipped in accidentally in r21567.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r21585 | rooneg | 2006-09-21 09:44:00 -0500 (Thu, 21 Sep 2006)

Add a FAQ about changing revprops on the master repository.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>

* notes/svnsync.txt
  (FAQ): New faq.


r21577 | dlr | 2006-09-20 19:51:02 -0500 (Wed, 20 Sep 2006)

On the merge-tracking branch: Fix merge test #24 by beginning to
account for the differences between typical and 3-way (two URL)
merges.

* subversion/libsvn_client/diff.c
  (grok_range_info_from_opt_revisions): Accept URL1 and URL2
   parameters to make a meaningful comparison of RANGE->start and
   RANGE->end.

  (do_merge, do_single_file_merge): Update for new
   grok_range_info_from_opt_revisions() parameters.  In do_merge(),
   also note the area where we'll need to fork to correctly handle
   3-way merges.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)
Reviewed by: me
             djames


r21567 | dlr | 2006-09-20 13:35:48 -0500 (Wed, 20 Sep 2006)

On the merge-tracking branch: Fix merge test #36 to acount for the
Merge Tracking housekeeping property.

(This commit also accidentally included a stray "return" statement
which was subsequently removed in r21589.)

* subversion/tests/cmdline/merge_tests.py
  (merge_conflict_markers_matching_eol): Expect to have 'prop
   modified' at target root.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21563 | dlr | 2006-09-19 19:45:04 -0500 (Tue, 19 Sep 2006)

On the merge-tracking branch: A follow-up to r21504, with slightly
improved handling for skip notifications encountered while performing
a merge.

* subversion/libsvn_client/diff.c
  (notification_receiver_baton_t): Change the data type of the
   nbr_notifications field from apr_int32_t to apr_uint32_t, and
   skipped_paths from apr_array_header_t to apr_hash_t.

  (notification_receiver, do_merge, do_single_file_merge): Update for
   change in skipped_paths data type, leveraging the new
   svn_hash_clear() API.

  (determine_merges_performed): Update for change in skipped_paths
   data type, and fix handling of recording any merge info for the WC
   target.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>


r21556 | dlr | 2006-09-19 13:35:49 -0500 (Tue, 19 Sep 2006)

On the merge-tracking branch: Update the APIs for some XML handler
callbacks to align with rooneg's changes from the recent merge from
trunk, and fix some other compilation warnings.

* subversion/libsvn_ra_dav/mergeinfo.c
  (start_element): Return svn_error_t *, adhering to
   svn_ra_dav__startelm_cb_t's prototype.  Add ELEM parameter, used by
   Neon to decide whether to proceed with parsing.  Ignore the element
   if it is unknown by setting *ELEM to NE_XML_DECLINE, and proceed
   with parsing by returning SVN_NO_ERROR.  For invalid XML, use
   UNEXPECTED_ELEMENT to signal the error, or to abort the XML
   parsing, return svn_error_t *.  Set *ELEM with the element ID.

  (end_element): Return svn_error_t *, adhering to
   svn_ra_dav__endelm_cb_t's prototype.  For invalid XML, use
   UNEXPECTED_ELEMENT to signal the error.  If svn_mergeinfo_parse()
   fails, pass on its error.  Remove the fail block.

  (cdata_handler): Return svn_error_t *, adhering to
   svn_ra_dav__cdata_cb_t's prototype.  To abort the XML parsing,
   return svn_error_t *.  Use local variable "nlen".

  (svn_ra_dav__get_merge_info): Remove used local variable "err".

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me


r21553 | rooneg | 2006-09-19 09:27:36 -0500 (Tue, 19 Sep 2006)

On the merge tracking branch:

This file does not seem to need 'strcmp, strcat, strcpy' functions.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_ra_dav/mergeinfo.c
  Removing the inclusion of "apr_want.h", stop defining APR_WANT_STRFUNC.


r21528 | dlr | 2006-09-18 12:38:24 -0500 (Mon, 18 Sep 2006)

Expose a transaction merge info retrieval API so that the newborn
libsvn_fs_util module can consume and index the merge info.

* subversion/libsvn_fs/fs-loader.h
  (struct txn_vtable_t): Add 'get_mergeinfo' hook.

* subversion/libsvn_fs_base/revs-txns.c
  (txn_vtable): Set 'NULL' as placeholder for 'get_mergeinfo' hook.

* subversion/libsvn_fs_fs/fs_fs.c
  (txn_vtable): Set 'svn_fs_fs__txn_mergeinfo' for the 'get_mergeinfo' hook.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r21525 | dlr | 2006-09-17 21:04:01 -0500 (Sun, 17 Sep 2006)

On the merge-tracking branch: Fix test case #35 by accounting for
merge info.

* subversion/tests/cmdline/merge_tests.py
  (merge_add_over_versioned_file_conflicts): Expect the svn:mergeinfo
   property to be modified by the merge (even by a conflict).

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)
Review by: me



r21511 | dlr | 2006-09-15 13:34:59 -0500 (Fri, 15 Sep 2006)

On the merge-tracking branch: A follow-up to r21504 fixing merge tests
7 and 8.

* subversion/tests/cmdline/merge_tests.py
  (merge_catches_nonexistent_target, merge_tree_deleted_in_target):
   Revert r20438, removing the modification status flag for the root
   of the target of the merge (since no merge info is now set for a
   merge which skips all of its targets).  Also, add some additional
   comments.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r21498 | dlr | 2006-09-14 12:41:10 -0500 (Thu, 14 Sep 2006)

Don't use inter-library prefix for a static function.

* subversion/libsvn_client/util.c
  (string_hash_dup): Rename from svn_client__string_hash_dup.
  (svn_client_proplist_item_dup): Adjust for above rename.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)


r21459 | dlr | 2006-09-12 12:09:23 -0500 (Tue, 12 Sep 2006)

On the merge-tracking branch: Simplify the range combining code by
leveraging a more standard alogrithm.

* subversion/libsvn_subr/mergeinfo.c
  (MIN): New macro.

  (combine_ranges): New simplified equivalent implementation based on
   range overlapping detection algorithm.

Patch by: philip
          Kamesh Jayachandran <kamesh@collab.net>
Reviewed by: Jonathan Gilbert <o2w9gs702@sneakemail.com>


r21384 | dlr | 2006-09-08 16:49:48 -0500 (Fri, 08 Sep 2006)

Fix issue #2584, correcting two problems:

1) A merge which results in a conflicted file in your WC should
produce a "conflicted" merge notification.

2) 'svn merge --dry-run' needs to be smarter about accessing the
working copy.

While #1 is completely fixed, #2 will need some additional work to
handle some edge cases for directory deletions/additions.


* subversion/libsvn_client/client.h
  (svn_client__dry_run_deletions): New API which returns the list of
   WC paths to entries which would have been deleted by an
   update/merge if not in "dry run" mode.


* subversion/libsvn_client/repos_diff.c
  (delete_entry): Remember the WC paths to the entries that we
   would've deleted, were we not in --dry-run mode.  More work will be
   needed to handle directories, to avoid collisions from subsequent
   edits to the current target's children.

  (close_directory): Clear the list of dry run deletions.


* subversion/libsvn_client/diff.c
  (struct merge_cmd_baton): Add new "dry_run_deletions" list.  Since
   this list has a lifetime of edits to a single directory, a more
   appropriate home might be in repos_diff.c's dir_baton struct.  I
   did not see an obvious way to make the list available to the diff.c
   module without rev'ing some APIs (which didn't seem worth it).

  (svn_client__dry_run_deletions): Implement a new API to expose a
   list of paths outside of the diff.c module.

  (dry_run_deleted_p): Add new helper function which encapsulates a
   messy boolean check.

  (merge_dir_added, merge_file_added): Handle versioned
   files/directories which would have been deleted if we weren't in
   "dry run" mode.  Merges of directories into paths where files which
   would've been deleted if we weren't in "dry run" mode are still
   around may need some additional work to avoid problems from
   subsequent edits to children of the directory.

  (svn_client_merge2, svn_client_merge_peg2): Initialize
   merge_cmd_baton.dry_run_deletions.


* subversion/svn/notify.c
  (notify): A merge which results in a conflicted file in your WC now
   produces a "conflicted" merge notification.


* subversion/tests/cmdline/merge_tests.py
  (test_list): Unmark merge_add_over_versioned_file_conflicts() as
   XFail, as it now succeeds.  This is a follow-up to the XFail test
   committed in r21047.


Patch by: me
          rooneg
Found by: rooneg
          Kamesh Jayachandran <kamesh@collab.net>


r21370 | rooneg | 2006-09-06 15:45:38 -0500 (Wed, 06 Sep 2006)

Don't use intralibrary prefix for a static function

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_diff/diff_file.c
  (datasource_to_index): Rename from svn_diff__file_datasource_to_index.
  (datasource_open): Adjust for above rename.
  (datasource_get_next_token): Adjust for above rename.
  (token_compare): Adjust for above rename.

  (datasource_open): Rename from svn_diff__file_datasource_open.
  (svn_diff__file_vtable): Adjust for above rename.

  (datasource_close): Rename from svn_diff__file_datasource_close.
  (svn_diff__file_vtable): Adjust for above rename.

  (datasource_get_next_token): Rename from
   svn_diff__file_datasource_get_next_token.
  (svn_diff__file_vtable): Adjust for above rename.

  (token_compare): Rename from svn_diff__file_token_compare.
  (svn_diff__file_vtable): Adjust for above rename.

  (token_discard): Rename from svn_diff__file_token_discard.
  (svn_diff__file_vtable): Adjust for above rename.

  (token_discard_all): Rename from svn_diff__file_token_discard_all.
  (svn_diff__file_vtable): Adjust for above rename.

  (output_unified_line): Rename from svn_diff__file_output_unified_line.
  (output_unified_flush_hunk): Adjust for above rename.
  (output_unified_diff_modified): Adjust for above rename.

  (output_unified_flush_hunk): Rename from
   svn_diff__file_output_unified_flush_hunk.
  (output_unified_diff_modified): Adjust for above rename.
  (svn_diff_file_output_unified2): Adjust for above rename.

  (output_unified_diff_modified): Rename from output_unified_diff_modified.
  (svn_diff__file_output_unified_vtable): Adjust for above rename.

  (output_unified_default_hdr): Rename from
   svn_diff__file_output_unified_default_hdr.
  (svn_diff_file_output_unified2): Adjust for above rename.

  (output_line): Rename from svn_diff3__file_output_line.
  (output_hunk): Adjust for above rename.

  (output_hunk): Rename from svn_diff3__file_output_hunk.
  (output_common): Adjust for above rename.
  (output_diff_modified): Adjust for above rename.
  (output_diff_latest): Adjust for above rename.
  (output_conflict): Adjust for above rename.

  (output_common): Rename from svn_diff3__file_output_common.
  (svn_diff3__file_output_vtable): Adjust for above rename.

  (output_diff_modified): Rename from svn_diff3__file_output_diff_modified.
  (svn_diff3__file_output_vtable): Adjust for above rename.

  (output_diff_latest): Rename from svn_diff3__file_output_diff_latest.
  (svn_diff3__file_output_vtable): Adjust for above rename.

  (output_conflict): Rename from svn_diff3__file_output_conflict.
  (svn_diff3__file_output_vtable): Adjust for above rename.


r21356 | dlr | 2006-09-05 14:28:33 -0500 (Tue, 05 Sep 2006)

On the merge-tracking branch: Solidify and exploit the fact that
svn_fs_fs__txn_mergeinfo() never returns NULL.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__txn_mergeinfo): Improve doc string.

* subversion/libsvn_fs_fs/fs_fs.c
  (index_txn_merge_info): Remove unnecessary checks against the return
   value of svn_fs_fs__txn_mergeinfo().

  (svn_fs_fs__txn_mergeinfo): Remove redundant doc string.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me


r21338 | dlr | 2006-09-01 18:35:50 -0500 (Fri, 01 Sep 2006)

On the merge-tracking branch:

* subversion/libsvn_fs_fs/tree.c
 (fs_change_node_prop): Remove unused local variable "ffd".

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21335 | dlr | 2006-09-01 17:13:12 -0500 (Fri, 01 Sep 2006)

On the merge-tracking branch: A follow-up to r21321, removing an
unused variable.

* subversion/libsvn_subr/mergeinfo.c
  (svn_rangelist_merge): Remove the unused local variable "newrange".

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r21327 | kfogel | 2006-08-31 16:55:57 -0500 (Thu, 31 Aug 2006)

Don't use intralibrary prefix for a static function, and don't inline
the function because it's too large.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Reviewed by: Malcolm Rowe <malcolm-svn-dev@farside.org.uk>

* subversion/libsvn_diff/diff4.c
  (adjust_diff): Replace svn_diff__adjust, remove 'APR_INLINE' attribute.
  (svn_diff_diff4): Adjust for above rename.


r21323 | dberlin | 2006-08-31 09:13:17 -0500 (Thu, 31 Aug 2006)

Use the same prepared statement across multiple invocation of same query.
Bind the invariant values outside the 'for loop'.

* subversion/libsvn_fs_fs/fs_fs.c
  (index_path_merge_info):
   Create the statement outside the for loop.
   Reset the statement after each execution as mandated by sqlite
   using sqlite3_reset.
   Bind 'mergedfrom', 'mergedto', 'revision' outside the for loop as they
   are invariants across iterations.
   Finalize the statement outside the 'for loop'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: dberlin
           malcolm


r21322 | dberlin | 2006-08-31 09:11:23 -0500 (Thu, 31 Aug 2006)

Refactor 'svn_mergeinfo_diff' and 'svn_mergeinfo_remove' by moving the
common code out of them to 'walk_mergeinfo_hash_for_diff'.

* subversion/libsvn_subr/mergeinfo.c
  (walk_mergeinfo_hash_for_diff): New function
  (svn_mergeinfo_diff): uses walk_mergeinfo_hash_for_diff.
  (svn_mergeinfo_remove): uses walk_mergeinfo_hash_for_diff.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: Daniel Berlin <dberlin@dberlin.org>


r21321 | dberlin | 2006-08-31 09:10:02 -0500 (Thu, 31 Aug 2006)


Refactor code for 'combining of lastrange and some range'.

* subversion/libsvn_subr/mergeinfo.c
  (combine_with_lastrange): New function.

  (parse_revlist): uses 'combine_with_lastrange'.
  (svn_rangelist_merge): uses 'combine_with_lastrange'.
  (rangelist_intersect_or_remove): uses 'combine_with_lastrange'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: Daniel Berlin  <dberlin@dberlin.org>


r21262 | bhuvan | 2006-08-25 10:19:10 -0500 (Fri, 25 Aug 2006)

Approved by: cmpilato
Suggested by: Kamesh Jayachandran <kamesh@collab.net>

Fix the unpythonic "if" conditions.
* contrib/hook-scripts/check-case-insensitive.py
  (CheckCase.showfile): Fix the unpythonic "if" conditions.



r21258 | dberlin | 2006-08-25 09:35:20 -0500 (Fri, 25 Aug 2006)

* subversion/libsvn_fs_fs/tree.c (get_merge_info_for_path):
  Set has_no_mergeinfo in case 'mergeinfo' has no corresponding records
  in 'mergeinfo_changed'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: dberlin


r21108 | rooneg | 2006-08-17 14:57:04 -0500 (Thu, 17 Aug 2006)

On the merge-tracking branch: Change query to use 'order by' syntax,
rather than 'group by', since order is what we're concerned with here.

* subversion/libsvn_fs_fs/tree.c
  (parse_mergeinfo_from_db): The SQL query to retrieve the merge rev
   ranges for a 'mergeto' should have a 'order by mergefrom' clause
   rather than a 'group by mergefrom' clause.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Reviewed by: dberlin
             rooneg


r21047 | dlr | 2006-08-10 18:51:20 -0500 (Thu, 10 Aug 2006)

Add XFAIL test for issue 2584, where a conflict created by a merge
which attempts to add a file over the top of an existing versioned
file results in a merge, but is only reported as an update (yet the WC
remains in conflict).  (The fix for this problem involves making 'svn
merge --dry-run' smarter about WC operations.)

* subversion/tests/cmdline/merge_tests.py
  (merge_add_over_versioned_file_conflicts): New test.

  (test_list): Add merge_add_over_versioned_file_conflicts() to the
   list as XFAIL.

Found by: rooneg
          Kamesh Jayachandran <kamesh@collab.net>


r20924 | dlr | 2006-07-31 16:59:32 -0500 (Mon, 31 Jul 2006)

On the merge-tracking branch: Remove unnecessary open of a connection
to the sqlite database, since we currently always open it immediately
before use.

* subversion/libsvn_fs_fs/fs_fs.c
 (svn_fs_fs__open): Don't call sqlite3_open() (or perform subsequent
  associated debug trace).

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: me
           dberlin


r20923 | dlr | 2006-07-31 16:32:31 -0500 (Mon, 31 Jul 2006)

On the merge-tracking branch: Cleanup any merge info index from a
previous, aborted commit with the same revision number as the current
commit.

* subversion/libsvn_fs_fs/fs_fs.c
 (index_path_merge_info): Renamed from generate_mergeinfo_sql().
  Tweaked doc string.

 (index_txn_merge_info): Renamed from update_mergeinfo_index(), and
  updated to call index_path_merge_info().

 (update_merge_info_index): Renamed from index_merge_info().  Added
  additional parameter TXN_CONTAINS_MERGE_INFO, which is used to add
  the index only if the commit has some merge info.

 (commit_body): Call update_merge_info_index() unconditionally, and
  pass in the new txn_contains_merge_info parameter.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)
Review by: me
           madanus


r20893 | dlr | 2006-07-28 16:08:44 -0500 (Fri, 28 Jul 2006)

On the merge-tracking branch: Refactor the merge info indexing code
into a single entry point.

* subversion/libsvn_fs_fs/fs_fs.c
  (index_merge_info): Add new function which cleans the merge info
   records for any earlier failed FSFS transactions, and adds the
   merge info.

  (commit_body): Leverage new index_merge_info() helper.

  (update_mergeinfo_index): Add brief doc string.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Tweaked by me.)
Review by: me
           madanus


r20852 | dlr | 2006-07-25 10:25:25 -0500 (Tue, 25 Jul 2006)

On the merge-tracking branch: Fix merge test 16.

* subversion/tests/cmdline/merge_tests.py
  (safe_property_merge): Account for the presence of the new
   "svn:mergeinfo" property.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me


r20810 | dlr | 2006-07-20 17:01:20 -0500 (Thu, 20 Jul 2006)

On the merge-tracking branch: Add more details/items for Phase 1.

* TODO: Add item for handling "Skipped" notifications.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r20809 | dlr | 2006-07-20 16:02:26 -0500 (Thu, 20 Jul 2006)

On the merge-tracking branch: Add more details/items for Phase 1.

* TODO
  Attempt to clarify merge info inheritance/differences.  Record
  Madan's desire to handle the merge info propogation related to
  'copy', and Kamesh's desire to work on the BDB FS.  Add merge info
  index-related refactoring item.

Suggested by: madanus
              Kamesh Jayachandran <kamesh@collab.net>
              cmpilato


r20759 | dlr | 2006-07-19 13:51:06 -0500 (Wed, 19 Jul 2006)

svntest: Fix inability to set properties on the root node of a tree
object.

* subversion/tests/cmdline/svntest/tree.py
  (build_tree_from_wc): If properties are found for the root node of
   the WC, create a node named "." and set its SVNTreeNode.props
   accordingly.

* subversion/tests/cmdline/prop_tests.py
  (update_props_on_wc_root): New test which receives properties on the
   WC root via update to exercise the change to wc.build_tree_from_wc().

  (test_list): Add update_props_on_wc_root() to the list.

Patch by: lgo
Found by: me
          rooneg
          Kamesh Jayachandran <kamesh@collab.net>


r20570 | rooneg | 2006-07-11 14:43:18 -0500 (Tue, 11 Jul 2006)

Showing a diff of 'svn:mergeinfo' property like other property diffs
will be very difficult to understand especially when the wc target has
undergone large number of previous committed merges and many uncommitted
local merges.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          rooneg

* subversion/libsvn_client/diff.c
  (display_mergeinfo_diff): New function that shows a svn:mergeinfo property
   diff in a easily readable form.
  (display_prop_diffs): Calls display_mergeinfo_diff for svn:mergeinfo props.


r20485 | dlr | 2006-07-08 18:17:58 -0500 (Sat, 08 Jul 2006)

On the merge-tracking branch: Doc string correction.

* subversion/libsvn_subr/mergeinfo.c
  (parse_revlist): Fix typo, changing "revisioneelement" to
   "revisionelement", and "revisionrange | REVISION" to
   "revisionelement" in defining "revisionlist".

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r20484 | dlr | 2006-07-08 18:13:36 -0500 (Sat, 08 Jul 2006)

On the merge-tracking branch: Fix problem with updating the WC's merge
info after a revert.  Because the remaining ranges for reverts start
with a higher revnum than they end with, we must reverse the the order
of the ranges and their end points before using svn_mergeinfo.h APIs
which expect a certain sorted order.

* subversion/libsvn_client/diff.c
  (update_wc_merge_info): Create a scratch copy of and reverse RANGES
   before removing it from the WC's range list for the path being
   modified.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r20471 | dlr | 2006-07-07 18:37:39 -0500 (Fri, 07 Jul 2006)

On the merge-tracking branch: Implement handling of merge info for the
'merge' single file case.

* subversion/libsvn_fs_fs/tree.c
 (fs_change_node_prop): Canonicalize the paths of files which are
  direct children of the repository root (e.g. "/file.txt", which is
  received as "file.txt" for single file merges).  Also, fix typo in
  doc string.

* subversion/libsvn_client/diff.c
 (ENSURE_VALID_REVISION_KINDS): New macro to verify that merge
  revision info is specified.

 (grok_range_info_from_opt_revisions): New function that converts
  opt_revision_t to svn_revnum_t, and adjust the range based on
  whether the operation is a "revert" or "merge".

 (do_merge): Replace inline code with ENSURE_VALID_REVISION_KINDS()
  and grok_range_info_from_opt_revisions().

 (single_file_merge_get_file): Add RA_SESSION parameter to allow for
  its reuse.  Change REV parameter from a pointer to a value, as
  there's no longer any need to translate "svn_opt_revision_t" to
  "svn_revnum_t".  Drop PATH and REVISION params, as the caller now
  already has this info.

 (do_single_file_merge): Implement merge tracking for single file
  merges the same way as directory/multi-file merges. Remove the FIXME
  doc string. Call single_file_merge_get_file() with its new signature.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me


r20464 | dberlin | 2006-07-06 22:53:55 -0500 (Thu, 06 Jul 2006)

On the merge-tracking branch: Fix a thinko in remove causing certain
removals to fail.  We were outputting one extra value we shouldn't
have in most cases.

Change and update testcases to match.

* subversion/libsvn_subr/mergeinfo.c
  (rangelist_intersect_or_remove): Fix condition.

* subversion/tests/libsvn_subr/mergeinfo-test.c
  (mergeinfo5, mergeinfo6, mergeinfo7, mergeinfo8): New variables.

  (test_remove_rangelist): Update.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r20381 | dlr | 2006-07-03 13:19:58 -0500 (Mon, 03 Jul 2006)

On the merge-tracking branch: Remove the unexcercised code inlined
into the svn_rangelist_remove() function which is already handled
(earlier in the routine) by the range_contains() test and its
associated block of code.

* subversion/libsvn_subr/mergeinfo.c
 (svn_rangelist_remove): Remove the "if (elt1->start == elt2->start &&
  elt1->end == elt2->end)" test and associated block of code.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: me


r20375 | dlr | 2006-07-03 12:27:03 -0500 (Mon, 03 Jul 2006)

On the merge-tracking branch: Fix up BNF-like syntax in the merge
tracking notes.

* notes/merge-tracking.txt
 ('As for what is stored' section): Correct "revisioneelement" to
  "revisionelement".  Change "revisionlist" to refer "revisionelement"
  than (revisionrange | REVISION).

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r20370 | rooneg | 2006-07-03 10:11:23 -0500 (Mon, 03 Jul 2006)

Fix usage statement in verify-history.py.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* tools/dev/verify-history.py
  (main): Replace %s in usage statement with sys.argv[0]


r20359 | dlr | 2006-07-03 02:56:22 -0500 (Mon, 03 Jul 2006)

On the merge-tracking branch: Fix problem with a merge involving an
identical revision range (e.g. -r5:5, or equivalent) resulting in
misrecording of merge info in the WC.

* subversion/libsvn_client/diff.c
  (do_merge): After resolving the revision numbers for the requested
   merge, if there is no merge to perform, bail out early.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r20342 | dlr | 2006-07-01 17:25:05 -0500 (Sat, 01 Jul 2006)

On the merge-tracking branch: Fix parsing of existing merge info from
the WC.  Previously, the retrieval of the merge info was mis-handled
(we always pulled back NULL) because of incorrect API usage.  Clarify
the corresponding API.


* subversion/libsvn_client/client.h
  (svn_client__get_prop_from_wc): Note the data type of the value
   which is set in the PROPS parameter in the doc string, and document
   assumption about props being non-NULL.


* subversion/libsvn_client/diff.c
  (parse_merge_info): Change data type of local variable "propval"
   from "const char *" to "const svn_string_t *".  Change the key into
   the "props" hash from "SVN_PROP_MERGE_INFO" to "wcpath".

  (do_merge): Only bother doing calculations to update the WC's merge
   info when we actually merged changes.


Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me


r20240 | maxb | 2006-06-24 10:51:47 -0500 (Sat, 24 Jun 2006)

* tools/dev/contribulyze.py: Remove unused 'import shutil'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r20223 | dlr | 2006-06-22 16:38:52 -0500 (Thu, 22 Jun 2006)

On the merge-tracking branch: Fix typos.

* notes/merge-tracking.txt
 'director' to 'directory'
 'onw' to 'now'
 'posyou' to ', so you'

Patch by: Kamesh Jayachandran <kamesh@collab.net>


r20222 | rooneg | 2006-06-22 15:56:39 -0500 (Thu, 22 Jun 2006)

Fix some typos.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* doc/programmer/WritingChangeLogs.txt: 'cvs' to 'svn'

* notes/webdav-general-summary: Typo fix 'sofware' to 'software'

* www/user-classifications.html: Typo fix 'assistent' to 'assistant'


r20220 | rooneg | 2006-06-22 12:22:58 -0500 (Thu, 22 Jun 2006)

Add a separate entry for 'svn ls -v', clarify entry for 'svn ls'.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me

* notes/webdav-protocol: Note that REPORT is only used for verbose ls.


r20187 | djh | 2006-06-20 07:12:43 -0500 (Tue, 20 Jun 2006)

Followup style tweak to r20180.

Found by: Kamesh Jayachandran <kamesh@collab.net>

* build/generator/gen_win.py
  (__init__): Don't hardcode os path separator.



r19635 | maxb | 2006-05-13 06:27:17 -0500 (Sat, 13 May 2006)

Close issue #2536 - clarifications to the BDB structure doc.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me

* subversion/libsvn_fs_base/notes/structure: Several clarifications and
    minor additions.


r19498 | djames | 2006-05-02 15:52:23 -0500 (Tue, 02 May 2006)

Typo fixes to HOWTO.DocBook.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* doc/HOWTO.DocBook
  (COMPILING THE DOCS):
  (1. Fetch XSL stylesheets for DocBook and place them in tools/xsl):
  Remove the redundant 'to'.

  (2. Use XSLT to transform the documents.):
  Change the target from 'misc-docs-html' to 'all-html'.

  (3. Make a PDF file.):
  Change the target from 'misc-docs-pdf' to 'pdf'.



r19309 | cmpilato | 2006-04-11 12:10:21 -0500 (Tue, 11 Apr 2006)

Fix some typos in the codebase and docs.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_fs_base/notes/structure
  epheremal => ephemeral

* subversion/libsvn_delta/delta.h
  ope = > ops

* subversion/libsvn_delta/vdelta.c
  windering => wondering
  terget => target


r19227 | rooneg | 2006-04-07 14:34:59 -0500 (Fri, 07 Apr 2006)

Fix issue #2532, Make svn C test harness to behave the same way as
python test harness w.r.t --fs-type, --list switches.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
Tweaked by: me

* subversion/tests/svn_test_main.c
  (cleanup_opt, fstype_opt, list_opt, verbose_opt): New enum values for
   the various options we accept.
  (cl_options): New options struct for apr_getopt.
  (main): Use apr_getopt to parse our command line options, add a --list
   option for parity with the python tests.  Remove notice on non-numeric
   options so that you can pass arbitrary arguments to the tests.


r18761 | kfogel | 2006-03-07 21:57:52 -0600 (Tue, 07 Mar 2006)

* subversion/libsvn_fs_base/notes/structure
  (REPRESENTATIONS): Mention that we don't deltify when there's
  nothing to be gained by it.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>


r18700 | cmpilato | 2006-03-03 08:29:36 -0600 (Fri, 03 Mar 2006)

Typo fixes to libsvn_fs_base's structure documentation.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_fs_base/notes/structure
  Replace use of "lock-nodes" with "lock-tokens".  Add "reset" as a change 
  kind in the BNF section.


r18686 | cmpilato | 2006-03-02 09:33:04 -0600 (Thu, 02 Mar 2006)

Typo fixes to libsvn_fs_base's structure documentation.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_fs_base/notes/structure
  Fix references to "next-id" to be the correct "next-key".  Also, note that
  the "nodes" table makes use of the "next-key" key in the BNF section.


r18538 | kfogel | 2006-02-21 10:10:04 -0600 (Tue, 21 Feb 2006)

* www/merge-tracking/requirements.html: Fix typo.

Found by: Kamesh Jayachandran <kamesh@collab.net>


r18382 | dlr | 2006-02-07 16:42:02 -0600 (Tue, 07 Feb 2006)

Fix failing switch test for "svn+ssh" URIs (e.g. from 'make
svnsshcheck').


* subversion/tests/cmdline/switch_tests.py
  (relocate_beyond_repos_root): Escape the "+" character in the
   "svn+ssh" protocol portion of the repos URI to avoid causing the
   regex to fail.


Patch by: Kamesh Jayachandran <kamesh@collab.net>
Review by: lundblad
           dlr


r18372 | julianfoad | 2006-02-07 12:21:39 -0600 (Tue, 07 Feb 2006)

Tiny optimization to the test suite.

Suggested by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/tests/cmdline/svntest/actions.py
  (match_or_fail): Break out of the loop early.


r18110 | julianfoad | 2006-01-16 11:42:23 -0600 (Mon, 16 Jan 2006)

Make some 'svnadmin load' error messages more helpful.  This is part of issue
#2441, "'svnadmin load' malformed dumpfile errors are intolerably vague".

Patch by: Kamesh Jayachandran <kamesh@collab.net>
          me

* subversion/libsvn_repos/load.c
  (read_header_block): In two error messages, report the erroneous line and
    say what is wrong with it.


r18005 | rooneg | 2006-01-06 18:20:36 -0600 (Fri, 06 Jan 2006)

Fix issue #699, XML parser not detected at configure time.

Patch by: Kamesh Jayachandran <kamesh@collab.net>
(Comments tweaked by me.)

* build/ac-macros/neon.m4
  (SVN_LIB_NEON): Pass apr-util's includes and ldflags on to neon.


r17993 | kfogel | 2006-01-05 18:52:51 -0600 (Thu, 05 Jan 2006)

Fix issue #2440: 'svn rm nonexistent-item' wasn't erroring.

Patch by: Kamesh Jayachandran <kamesh@collab.net>

* subversion/libsvn_wc/adm_ops.c
  (erase_unversioned_from_wc): Return an error in the case where the
  file is not found.

* subversion/tests/cmdline/basic_tests.py
  (basic_delete): Deleting non-existant unversioned item returns the
  error so moving the testcase to subversion/tests/svn/schedule_tests.py.

* subversion/tests/cmdline/schedule_tests.py
  (unschedule_missing_added): Deleting set of working copy files,
  fails on first unversioned file and subsequent files are not
  deleted at all, so seperating the deletion to 2 delete operations.
  (delete_non_existent): New test, for issue #2440.
  (test_list): Run the new test.


r17664 | maxb | 2005-12-07 07:06:26 -0600 (Wed, 07 Dec 2005)

* dist.sh: Fix typos in comment.

Patch by: Kamesh Jayachandran <kamesh@collab.net>