Senthil Kumaran <senthil@collab.net>


Patch
r867919, r867648, r867618, r867519, r867379, r867315, r867311, r867285, r867144, r867141, r867140, r867123, r866903, r866824, r866668, r866573, r866553, r866490, r866319, r866301, r866251, r866124, r866083, r866081, r865959, r865742, r865741, r865726, r865705

r867919 | dlr | 2007-11-15 17:42:00 -0600 (Thu, 15 Nov 2007)

A follow-up to r27817 (for issue #2982), incorporating bug fixes and
improvements based on code review (from me, glasser, and kameshj).

* subversion/svndumpfilter/main.c
  (adjust_mergeinfo): Rename from renumber_merge_source_rev_range().
   renumber_merge_source_rev_range.  Fix logical bug in
   include/exclude prefix path skipping, and avoid possible crashes in
   dereferencing revmap_start and revmap_end.  Remove unnecessary
   memory usage, local variables, and unnecessary function invocation.
  (set_node_property): Update for call adjust_mergeinfo() API changes,
   and eliminate subpool usage (which is now handled by
   adjust_mergeinfo() itself).

Patch by: Senthil Kumaran <senthil@collab.net>
          me


r867648 | arfrever | 2007-11-02 14:20:28 -0500 (Fri, 02 Nov 2007)

Code indentation fix.

* subversion/svndumpfilter/main.c
  (new_revision_record): Fix indentation of if..else block and
  spurious new line.

Patch by: Senthil Kumaran <senthil@collab.net>


r867618 | kameshj | 2007-11-01 02:11:44 -0500 (Thu, 01 Nov 2007)

Fix irc channel name in README.

* README:
  Correct developers irc channel name.

Patch by: Senthil Kumaran <senthil@collab.net> 


r867519 | dlr | 2007-10-27 03:01:01 -0500 (Sat, 27 Oct 2007)

Fix issue #2983, prefixing mergeinfo source paths appropriately when
the --parent-dir option is passed to 'svnadmin load'.

This behavior assumes that all merge sources are also contained in the
dump stream being loaded into the repository.

* subversion/libsvn_repos/load.c
  Include svn_mergeinfo.h.
  (prefix_mergeinfo_paths): Add new funtion to prefix mergeinfo source
   paths with parent_dir.
  (parse_property_block): If is_node is true and we have a parent dir,
   prefix any mergeinfo source paths.

Patch by: Senthil Kumaran <senthil@collab.net>
(Tweaked by me.)


r867379 | dlr | 2007-10-22 03:52:01 -0500 (Mon, 22 Oct 2007)

Fix spurious comments containing '-g' option, which has been removed
for the 'merge' sub-command.

The merge history option ie., '-g' is removed for 'svn merge' command
in r27259. Remove the spurious comments in merge_tests.py which still
shows the usage of '-g' option in 'svn merge'.

* subversion/tests/cmdline/merge_tests.py
  (detect_copy_src_for_target_with_multiple_ancestors,
   merge_with_auto_rev_range_detection): Remove '-g' from comment.

Patch by: Senthil Kumaran <senthil@collab.net>


r867315 | kameshj | 2007-10-17 08:34:32 -0500 (Wed, 17 Oct 2007)

Fix the expectation of merge test 70.

* subversion/tests/cmdline/merge_tests.py
  (mergeinfo_recording_in_skipped_merge): Fix the wrong expectation on
   mergeinfo.

Patch by: Senthil Kumaran <senthil@collab.net>


r867311 | kameshj | 2007-10-17 07:13:46 -0500 (Wed, 17 Oct 2007)

XFail test to prove issue #2970

See http://subversion.tigris.org/issues/show_bug.cgi?id=2970

* subversion/tests/cmdline/merge_tests.py
  (merge_target_with_non_inheritable_mergeinfo): New function.
  (test_list): Add 'merge_target_with_non_inheritable_mergeinfo' as XFail test.

Patch by: Senthil Kumaran <senthil@collab.net>


r867285 | kameshj | 2007-10-16 08:06:39 -0500 (Tue, 16 Oct 2007)

XFail test to prove issue #2969

See http://subversion.tigris.org/issues/show_bug.cgi?id=2969

* subversion/tests/cmdline/merge_tests.py
  (propchange_of_subdir_raises_conflict): New function.
  (test_list): Add 'propchange_of_subdir_raises_conflict' to test_list
   as XFail test.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me


r867144 | kameshj | 2007-10-10 10:44:50 -0500 (Wed, 10 Oct 2007)

Testcase to prove issue #2829

## See http://subversion.tigris.org/issues/show_bug.cgi?id=2829. ##

* subversion/tests/cmdline/merge_tests.py
  (mergeinfo_recording_in_skipped_merge): New function.
  (test_list): Add 'mergeinfo_recording_in_skipped_merge' to test_list.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me


r867141 | kameshj | 2007-10-10 08:04:40 -0500 (Wed, 10 Oct 2007)

Cleanup wc creation comments in merge tests

* subversion/tests/cmdline/merge_tests.py
  (merge_with_child_having_different_rev_ranges_to_merge): Cleanup comment
  (merge_old_and_new_revs_from_renamed_file): Cleanup comment
  (merge_with_auto_rev_range_detection): Cleanup comment

Patch by: Senthil Kumaran <senthil@collab.net> 


r867140 | kameshj | 2007-10-10 04:28:41 -0500 (Wed, 10 Oct 2007)

Test case for merge using -g option.

See http://svn.haxx.se/dev/archive-2007-09/0735.shtml

* subversion/tests/cmdline/merge_tests.py
  (merge_with_auto_rev_range_detection): New function.
  (test_list): Add 'merge_with_auto_rev_range_detection' to test_list.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me


r867123 | kameshj | 2007-10-09 11:10:52 -0500 (Tue, 09 Oct 2007)

Add test case for 'svn merge -r BEFORE_RENAME:HEAD RENAMED_PATH'.
See <http://svn.haxx.se/dev/archive-2007-09/0706.shtml> for discussion.

* subversion/tests/cmdline/merge_tests.py
  (merge_old_and_new_revs_from_renamed_file): Add new test function.
  (test_list): Add 'merge_old_and_new_revs_from_renamed_file' to the list.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me


r866903 | kameshj | 2007-09-28 09:16:17 -0500 (Fri, 28 Sep 2007)

Merge -rOLD(before rename):HEAD with renamed dir.

See http://svn.haxx.se/dev/archive-2007-09/0706.shtml

* subversion/tests/cmdline/merge_tests.py
  (merge_old_and_new_revs_from_renamed_dir): New function.
  (test_list): Add 'merge_old_and_new_revs_from_renamed_dir' to test_list
   
Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: lgo


r866824 | kfogel | 2007-09-22 02:46:27 -0500 (Sat, 22 Sep 2007)

Implement two unimplemented depth tests.

* subversion/tests/cmdline/depth_tests.py
  (depth_empty_commit, depth_immediates_bring_in_file): Write them.
  (test_list): Remove XFail markers for above.

Patch by: Senthil Kumaran <senthil@collab.net>


r866668 | kameshj | 2007-09-14 07:54:52 -0500 (Fri, 14 Sep 2007)

XFail Testcase to prove bug #2897

See http://subversion.tigris.org/issues/show_bug.cgi?id=2897

* subversion/tests/cmdline/merge_tests.py
  (faulty_reflective_merges): New function.
  (test_list): Add 'faulty_reflective_merges' as XFail test.

Patch by: Senthil Kumaran <senthil@collab.net>


r866573 | kameshj | 2007-09-08 15:35:01 -0500 (Sat, 08 Sep 2007)

Fix issue 2895 - merge does not handle --depth switch.
Fix issue 2899 - [sparse-directories] Set 'non-inheritable mergeinfo' for 
                 shallow merges.
* subversion/libsvn_client/merge.c
  (struct notification_receiver_baton_t): Add 'merged_paths' to keep track
   of merged paths.
  (notification_receiver): Populate notify_b->merged_paths hash for each 
   merged path.
  (determine_merges_performed): Change the signature to accept 'depth' and 
   'adm_access'. 
   For 'immediates' merge it sets an inheritable mergeinfo corresponding to 
   current merge on merge target.
   For 'files' merge it sets an inheritable mergeinfo corrsponding to current 
   merge on merged files.
  (update_wc_mergeinfo):
   Fix edge case bug in concatenating 'subdir' and '/path'. Prior to this
   commit for "" target it concatenates it as '/path/ubdir'.
   Merge the merge ranges in 'svn_rangelist_equal_inheritance' mode, so that 
   range '1' and '2-3*' won't get merged as '1-3'.
  (do_merge): Set 'inheritable merge info' on current merge_target, if it has
   no missing children and 'depth is infinity' or 'depth is immediates'.
   Update the calls to 'determine_merges_performed' to reflect the new 
   signature.
   For 'immediates' merge it sets an inheritable mergeinfo on merge target 
   derived from its ancestors.
   For 'files' merge it sets an inheritable mergeinfo on merged file
   derived from its ancestors.
   Clear off the current 'notify_b.merged_paths' hash before running next 
   merge range.
  (do_single_file_merge):
   Update the calls to 'determine_merges_performed' to reflect the new 
   signature.
   Clear off the current 'notify_b.merged_paths' hash before running next 
   merge range.
  (struct get_mergeinfo_walk_baton): Add 'depth'.
  (get_mergeinfo_walk_cb): When requested depth is 'immediates' and we are 
   walking on some first level sub directory of the target, mark the 
   first level sub directory as 'missing_child'.
  (get_mergeinfo_paths): Change the signature to accept 'depth'.
  (discover_and_merge_children): Update the calls to 'get_mergeinfo_paths'
   to reflect the new signature.
   If depth is immediates and this 'subtree' is a first level subdir to merge 
   target, do 'empty' subtree merges.
  (svn_client_merge3): Call 'svn_wc_adm_probe_open3' with 'levels_to_lock' 
   being -1.
  (svn_client_merge_peg3): Call 'svn_wc_adm_probe_open3' with 'levels_to_lock'
   being -1.
   Align argument to function call of 'svn_wc__entry_versioned'
* subversion/tests/cmdline/merge_tests.py
  (merge_to_sparse_directories): This new implementation won't throw any 
  'Skipped some deep/path/that/does/not/exist/in/wc' message. So set empty
   Skip tree.
  (test_list): remove XFail marker on 'merge_with_depth_files'.

Patch by: Senthil Kumaran <senthil@collab.net>
          me

Reviewed by: kfogel


r866553 | kameshj | 2007-09-06 03:40:35 -0500 (Thu, 06 Sep 2007)

No need to prefix static function with 'svn'.

* subversion/libsvn_subr/mergeinfo.c
  (range_to_stringbuf): Renamed from 'svn_range_to_stringbuf'.
  (svn_rangelist_to_stringbuf): Adjust for the above change.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me 


r866490 | kfogel | 2007-09-01 15:45:18 -0500 (Sat, 01 Sep 2007)

Basic test to verify 'svn switch --depth' (part of issue #2846).

* subversion/tests/cmdline/switch_tests.py
  (switch_with_depth): New function.
  (test_list): Add 'switch_with_depth' to test_list

Patch by: Senthil Kumaran <senthil@collab.net>
(Tweaked by me, but only for coverage, not correctness.)


r866319 | kameshj | 2007-08-22 08:06:00 -0500 (Wed, 22 Aug 2007)

Follow-up to refactoring r26007

* subversion/svn/main.c
  (main): Check for sanity of argument combinations only once after
   parsing all the arguments for --auto-props and --no-auto-props.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: kfogel


r866301 | kameshj | 2007-08-21 07:21:29 -0500 (Tue, 21 Aug 2007)

Add XFail Testcase to demonstrate bug #2876

* subversion/tests/cmdline/svntest/main.py
  (file_substitute): New function.

* subversion/tests/cmdline/merge_tests.py
  (merge_fails_if_subtree_is_deleted_on_src): New function.
  (test_list): Add XFail test 'merge_fails_if_subtree_is_deleted_on_src' 
               to 'test_list'

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me


r866251 | kameshj | 2007-08-19 12:52:49 -0500 (Sun, 19 Aug 2007)

XFail Testcase to show the failure of 'merge' with --depth=files.

* subversion/tests/cmdline/merge_tests.py
  (merge_with_depth_files): New function.
  (test_list): Add XFail test 'merge_with_depth_files' to test_list.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: me


r866124 | kameshj | 2007-08-13 09:09:29 -0500 (Mon, 13 Aug 2007)

Fix warning of "Test doc string is capitalized".

 * subversion/tests/cmdline/merge_tests.py
   (merge_to_out_of_date_target): Doc string of test functions should not 
    be capitalized.

Patch by: Senthil Kumaran <senthil@collab.net>


r866083 | kameshj | 2007-08-09 06:17:28 -0500 (Thu, 09 Aug 2007)

Follow-up to r22257.

Add 'switch_with_obstructing_local_adds' test to the 'test_list'.

 * subversion/tests/cmdline/switch_tests.py
   (test_list): Add 'switch_with_obstructing_local_adds' to test_list

Patch by: Senthil Kumaran <senthil@collab.net>


r866081 | kameshj | 2007-08-09 05:35:17 -0500 (Thu, 09 Aug 2007)

Disallow 'switch --relocate' with --depth, since it is not a valid usecase.

 * subversion/include/svn_error_codes.h
   (SVN_ERR_CL_OBSCURE_ARGS): New error code.

 * subversion/svn/main.c
   (main): Check for combination of '--relocate' and '--depth' argument and
   report an error.

Patch by: Senthil Kumaran <senthil@collab.net>


r865959 | kameshj | 2007-07-30 06:53:27 -0500 (Mon, 30 Jul 2007)

XFail Testcase to prove bug #2853

See http://subversion.tigris.org/issues/show_bug.cgi?id=2853

* subversion/tests/cmdline/merge_tests.py
  (single_file_replace_style_merge_capability): New function.
  (test_list): Add 'single_file_replace_style_merge_capability' to test_list
   with a XFail marker.

Patch by: Senthil Kumaran <senthil@collab.net>
Suggested by: kameshj


r865742 | kameshj | 2007-07-06 07:39:42 -0500 (Fri, 06 Jul 2007)

Code consistency fix.

 * subversion/tests/cmdline/merge_tests.py
   (textual_merges_galore(merge_singleton_handler)): wc.StateItem -> Item

Patch by: Senthil Kumaran <senthil@collab.net>


r865741 | kameshj | 2007-07-06 06:38:06 -0500 (Fri, 06 Jul 2007)

Testcase to prove the following defect.

 When a working copy has no mergeinfo (due to local full revert of all merges),
 and merge is attempted for some other revision rX, The new mergeinfo should be
 /merge/src: rX not all the reverted ones reappearing along with rX.

 * subversion/tests/cmdline/merge_tests.py
   (merge_loses_mergeinfo): New function.
   (test_list): Add 'merge_loses_mergeinfo' to test_list

Patch by: Senthil Kumaran <senthil@collab.net>
          me


r865726 | kameshj | 2007-07-05 06:20:50 -0500 (Thu, 05 Jul 2007)

Testcase to prove the following defect,

When a working copy receives a fresh svn:mergeinfo property due to update,
and working copy has some local mergeinfo(yet to be added), local mergeinfo
is left unchanged.

 * subversion/tests/cmdline/merge_tests.py
   (update_loses_mergeinfo): New function.
   (test_list): Add 'update_loses_mergeinfo' to test_list

Patch by: Senthil Kumaran <senthil@collab.net>
          me


r865705 | kameshj | 2007-07-03 04:35:53 -0500 (Tue, 03 Jul 2007)

Fix compiler warning of 'missing prototype'.

   * subversion/libsvn_client/merge.c
     (get_sw_mergeinfo_paths): Mark the function as static.

Patch by: Senthil Kumaran <senthil@collab.net>