Senthil Kumaran S <senthil@collab.net> (stylesen)


Found Patch Review Suggested
r31543, r28990, r26827, r25738 r32550, r32147, r32132, r32065, r31978, r31726, r31673, r30653, r30643, r30153, r30106, r29868, r28996, r28978, r28649, r28555, r28523, r28510, r28507, r28480, r28233, r28182, r27853, r27845, r27832, r27817, r27574, r27544, r27445, r27305, r27241, r27237, r27211, r27070, r27067, r27066, r27049, r26829, r26750, r26594, r26499, r26479, r26416, r26245, r26227, r26177, r26050, r26009, r26007, r25885, r25668, r25667, r25652, r25631 r30262 r32205

r32550 | kfogel | 2008-08-19 09:23:33 -0500 (Tue, 19 Aug 2008)

Fix issue #3239 - Use absolute, not relative, paths of the cert files
as keys in the client cert passphrase cache.

Patch by: stylesen

* subversion/libsvn_subr/prompt.c
  (svn_cmdline_auth_ssl_client_cert_prompt): Get the absolute path of cert
   file and set it in the credentials.

* subversion/include/svn_cmdline.h
  (svn_cmdline_auth_ssl_client_cert_prompt): Document that an absolute path
   of SSL client certificate filename will be recorded.

* subversion/include/svn_auth.h
  (svn_auth_cred_ssl_client_cert_t): In the documentation
   s/Full paths/Absolute path/


r32205 | kfogel | 2008-07-21 13:09:46 -0500 (Mon, 21 Jul 2008)

Document the similar roles of some constants in a more maintainable way.
This follows up to r32145.

Suggested by: stylesen

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c
  (AUTHN_PASSPHRASE_KEY, AUTHN_PASSTYPE_KEY): Do it.

* subversion/libsvn_subr/simple_providers.c
  (AUTHN_USERNAME_KEY, AUTHN_PASSWORD_KEY, AUTHN_PASSTYPE_KEY): Do it.

* subversion/libsvn_subr/ssl_server_trust_providers.c
  (AUTHN_ASCII_CERT_KEY, AUTHN_FAILURES_KEY): Do it.


r32147 | kfogel | 2008-07-16 15:35:21 -0500 (Wed, 16 Jul 2008)

Fix bug in contribulyzer whereby log messages that didn't have their
own final newline would have their terminator separator displayed.

Patch by: stylesen

* tools/dev/contribulyze.py
  (graze): Check for separator in the post-field accumulation; if found
    a separator, just move immediately to the next log entry.


r32132 | kfogel | 2008-07-15 14:41:22 -0500 (Tue, 15 Jul 2008)

Cache SSL client certificate passphrases, when user indicates it's okay.
This resolves issue #2489, and prompted issues #3238, #3239, and #3236.

Patch by: stylesen
(Tweaked by kfogel.)

* subversion/include/svn_config.h
  (SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP,
   SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT): New options,
    for storing SSL client cert passphrase at all and for storing it
    as plaintext, respectively.
  (SVN_CONFIG_DEFAULT_OPTION_STORE_SSL_CLIENT_CERT_PP,
   SVN_CONFIG_DEFAULT_OPTION_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT): New defaults.

* subversion/libsvn_subr/config_file.c
  (ensure_auth_dirs): Create new auth dir to store ssl client cert passphrase.
  (svn_config_ensure): Add doc for the new options in the servers file string.

* subversion/libsvn_ra/ra_loader.c
  (svn_ra_open3): Load above new options from servers config file.

* subversion/libsvn_subr/cmdline.c
  (get_auth_simple_provider): Rename to...
  (get_auth_provider): ...this.  Take a new argument provider_type
    and use it to get the right provider.  Document this function.
  (svn_cmdline_setup_auth_baton): If we have gnome keyring support get the
    corresponding ssl client cert passphrase provider.

* subversion/libsvn_subr/prompt.c
  (plaintext_prompt_helper): New helper function, abstracts out the
    logic for plaintext promting.
  (svn_cmdline_auth_plaintext_prompt): Just wrap above new helper.
  (svn_cmdline_auth_plaintext_passphrase_prompt): New function, also
    using above new helper.

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c: Include
    svn_auth_private.h and svn_private_config.h.
  (AUTHN_PASSPHRASE_KEY): Define passphrase key.
  (AUTHN_PASSTYPE_KEY): Define passtype key.
  (ssl_client_cert_pw_file_provider_baton_t): New baton for ssl client cert
   passphrase provider.
  (simple_passphrase_get): New function to get plaintext passphrase.
  (simple_passphrase_set): New function to store plaintext passphrase.
  (svn_auth__ssl_client_cert_pw_file_first_creds_helper): New internal
    API, abstracted out from...
  (ssl_client_cert_pw_file_first_credentials): ...here, which just
    wraps the above now.
  (svn_auth__ssl_client_cert_pw_file_save_creds_helper): New internal
    API, abstracted out from...
  (ssl_client_cert_pw_file_save_credentials): ...here, which just
    wraps the above now.
  (ssl_client_cert_pw_file_provider): Register above to save the credentials.
  (svn_auth_get_ssl_client_cert_pw_file_provider2): New public API which has
    a prompt function now.
  (svn_auth_get_ssl_client_cert_pw_file_provider): Update API for the above.

* subversion/include/private/svn_auth_private.h
  (svn_auth__ssl_client_cert_pw_file_first_creds_helper): Declare new API.
  (svn_auth__ssl_client_cert_pw_file_save_creds_helper): Declare new API.

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
  (gnome_keyring_ssl_client_cert_pw_first_creds): New function to get ssl
   client cert passphrase from encrypted credentials.
  (gnome_keyring_ssl_client_cert_pw_save_creds): New function to save
   encrypted ssl client cert passphrase.
  (gnome_keyring_ssl_client_cert_pw_provider): New baton.
  (svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider): New public API for
   gnome keyring based ssl client cert passphrase storage and retrieval.

* subversion/include/svn_auth_dso.h
  (svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider): New public API.

* subversion/include/svn_cmdline.h
  (svn_cmdline_auth_plaintext_passphrase_prompt): New public API added to
   prompt for storing plaintext passphrases.

* subversion/include/svn_auth.h
  (svn_auth_ssl_client_cert_pw_provider_func_t): Define function type for the
   provider.
  (svn_auth_plaintext_passphrase_prompt_func_t): New function prototype.
  (SVN_AUTH_PARAM_DONT_STORE_SSL_CLIENT_CERT_PP): New constant.
  (SVN_AUTH_PARAM_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT): New constant.
  (svn_auth_get_ssl_client_cert_pw_file_provider2): New public API.

* subversion/libsvn_ra_neon/session.c
  (client_ssl_decrypt_cert): Call svn_auth_save_credentials to save
    the ssl client certificate passphrase.


r32065 | julianfoad | 2008-07-10 11:13:06 -0500 (Thu, 10 Jul 2008)

Factor out an XML-printing function that was common to "svn" and "svnlook"
since r31978.

This follows up to r32015, r32018, r32021, r32022, r32043, r32060 and
the discussions in this thread:
http://svn.haxx.se/dev/archive-2008-07/0227.shtml

* build.conf
  (libsvn_subr): Add svn_cmdline_private.h to msvc-export.

* subversion/libsvn_subr/cmdline.c
  (): Include svn_xml.h, svn_base64.h
  (svn_cmdline__print_xml_prop): New name for svn_cl__print_xml_prop().

* subversion/svn/props.c
  (): Include svn_cmdline_private.h
  (svn_cl__print_xml_prop): Removed, since it is renamed to
    svn_cmdline__print_xml_prop.
  (svn_cl__print_xml_prop_hash): Use svn_cmdline__print_xml_prop due to
    above change.

* subversion/svn/cl.h
  (svn_cl__print_xml_prop): Move to ..

* subversion/include/private/svn_cmdline_private.h
  (svn_cmdline__print_xml_prop): .. here

* subversion/svn/propget-cmd.c
  (): Include svn_cmdline_private.h
  (print_properties_xml, svn_cl__propget): Use svn_cmdline__print_xml_prop
    due to above change.

* subversion/svnlook/main.c
  (): Include svn_cmdline_private.h
  (print_xml_prop): Removed since we can use svn_cmdline__print_xml_prop now.
  (do_plist): Use svn_cmdline__print_xml_prop due to above changes.

Patch by: stylesen
Suggested by: glasser


r31978 | julianfoad | 2008-07-02 14:00:06 -0500 (Wed, 02 Jul 2008)

Fix issue #2809: svnlook proplist output should be machine parsable (e.g. XML)

Add '--xml' option for 'svnlook plist' to give XML output when the user
wants it.

* subversion/svnlook/main.c
  (): Include svn_xml.h, svn_base64.h.
  (enum): Add svnlook__xml_opt.
  (options_table, cmd_table, svnlook_opt_state): Add new option for --xml.
  (print_xml_prop): New function to print props in xml which is same as
   svn_cl__print_xml_prop.
  (do_plist): Accept opt_state for xml and throw output in xml if opted.
  (subcommand_plist): Call do_plist with xml option state.
  (main): Add a case to see whether user provided --xml.

Patch by: stylesen


r31726 | cmpilato | 2008-06-13 07:49:34 -0500 (Fri, 13 Jun 2008)

Make install-javahl depend on javahl.

* Makefile.in
  (install-javahl): Add javahl as a dependency for installing javahl. This
    ensures building javahl before we install.

Patch by: stylesen


r31673 | stsp | 2008-06-10 06:02:48 -0500 (Tue, 10 Jun 2008)

* subversion/libsvn_repos/hooks.c
  (svn_repos__hooks_start_commit): Fix a compiler warning, 'assignment
     discards qualifiers from pointer target type'.

Patch by: stylesen
          kameshj


r31543 | arfrever | 2008-05-31 10:46:41 -0500 (Sat, 31 May 2008)

Follow-up to r31515:

* subversion/libsvn_subr/cmdline.c
  (svn_cmdline_setup_auth_baton): Fix indentation.

Found by: stylesen


r30653 | fabien | 2008-04-17 03:35:46 -0500 (Thu, 17 Apr 2008)

Follow up to r30643.

* tools/client-side/bash_completion
  (): fix one --accept value for 'svn resolve' command, and more
  comments.

Patch by: stylesen
          me


r30643 | fabien | 2008-04-16 15:38:40 -0500 (Wed, 16 Apr 2008)

Update bash completion script.

* tools/client-side/bash_completion
  (): Update with 1.5 command additions/deletions.

Patch by: stylesen
Tweaked by: me


r30262 | stsp | 2008-04-04 10:05:00 -0500 (Fri, 04 Apr 2008)

On the tree-conflicts branch, flag tree conflicts upon obstructed
files during merge.

This fixes issue #3146.

* subversion/libsvn_wc/tree_conflicts.c
  (tree_conflict_phrases): New members merge_added and obstructed.
  (new_tree_conflict_phrases): Initialise new members of
   tree_conflict_phrases.
  (select_our_phrase, read_reason,
   svn_wc__write_tree_conflicts_to_entry,
   svn_wc_append_tree_conflict_info_xml): Handle new members of
    tree_conflict_phrases.

* subversion/libsvn_wc/tree_conflicts.h
  (SVN_WC__CONFLICT_REASON_OBSTRUCTED,
   SVN_WC__CONFLICT_ACTION_ADDED): New constants.

* subversion/libsvn_client/merge.c
  (tree_conflict): New function.
  (merge_file_changed): Use new function tree_conflict instead of
   inline code.
  (merge_file_added, merge_file_deleted): Use new function
   tree_conflict instead of inline code. Detect and persist
   tree conflicts caused by obstructed merge operations.

Review by: stylesen
           julianfoad
(whose comments have transformed this patch into something much,
much better than it originally was :)


r30153 | stylesen | 2008-04-01 09:02:02 -0500 (Tue, 01 Apr 2008)

On the tree-conflicts branch, add an XFail test to prove issue #3146.

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

Patch by: me
Approved by: stsp


r30106 | stsp | 2008-03-28 15:42:48 -0500 (Fri, 28 Mar 2008)

On the tree-conflicts branch, fix a compiler warning.

* subversion/libsvn_client/commit_util.c
  (harvest_committables): Fix a compiler warning (incompatible pointer type).

Patch by: stylesen


r29868 | kfogel | 2008-03-11 20:11:37 -0500 (Tue, 11 Mar 2008)

* CHANGES (1.5.0): Insert preliminary list of changes.

Patch by: Augie Fackler <durin42@gmail.com>
          Greg Lutz <greg@nearspace.com>
          Gavin 'Beau' Baumanis <gavin@thespidernet.com>
          Hilco Wijbenga <hilco.wijbenga@gmail.com>
          Tuomas Koski <koski.tuomas@gmail.com>
          Daniel Torreblanca <regulatethis@gmail.com>
          Stephen Butler <sbutler@elego.de>
          Wouter van der Horst <w.vanderhorst@gmail.com>
          offby1
          bhuvan
          lgo
          stylesen
          khmarbaise
          kfogel

See the 'manyhands' mailing list for details.


r28996 | stylesen | 2008-01-23 01:40:30 -0600 (Wed, 23 Jan 2008)

Stylistic tweak, based on r27845.

This tweak is based on r27845 and the review comments made by glasser 
regarding function return type of renumber_merge_source_rev_range
in http://svn.haxx.se/dev/archive-2007-11/0628.shtml

* subversion/libsvn_repos/load.c
  (prefix_mergeinfo_paths): Change function signature, which returns
   svn_string_t instead of const char*
  (set_node_property): Adjust the caller of prefix_mergeinfo_paths
   according to the above change

Patch by: me
Suggested by: glasser
              dlr
Reviewed by: kameshj
Approved by: kameshj


r28990 | kfogel | 2008-01-22 10:47:14 -0600 (Tue, 22 Jan 2008)

* build.conf
  (options.private-built-includes): Restore rubyhead.swg, which r28979
    mysteriously removed, probably for reasons similar to the story
    behind r28989.

Found by: stylesen


r28978 | stylesen | 2008-01-22 01:42:56 -0600 (Tue, 22 Jan 2008)

Fix issue #3020.

Reflect dropped/renumbered revisions in svn:mergeinfo during svnadmin load

* subversion/tests/cmdline/svnadmin_tests.py
  (load_with_parent_dir): Change test case expectation for svn:mergeinfo

* subversion/libsvn_repos/load.c
  (): include private/svn_mergeinfo_private.h
  (renumber_mergeinfo_revs): New function to renumber svn:mergeinfo
  (set_node_property): If we have svn:mergeinfo then renumber revs in
   svn:mergeinfo as appropriate

Patch by: me
Approved by: kameshj
Reviewed by: kameshj

[Note: this was accidentally reverted in r28979, then restored in r28989.]


r28649 | kameshj | 2007-12-26 09:48:49 -0600 (Wed, 26 Dec 2007)

On the issue-2897 branch:

One more XFail test to showcase the nuance of issue #2897.

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

* subversion/tests/cmdline/svntest/actions.py
  (inject_conflict_into_expected_state): Tweak this function to replace a
   pattern in wc_text with conflict marked hunk, instead of always assuming
   the conflict to be at the end and hence appending.

* subversion/tests/cmdline/merge_tests.py
  (textual_merges_galore, merge_add_over_versioned_file_conflicts,
   merge_non_reflective_with_conflict): Adjust expected_disk's conflicted
   file contents to full wc text rather than with the unconflicted portions.
  (merge_non_reflective_with_complex_conflict): New function.
  (test_list): Add 'merge_non_reflective_with_complex_conflict' to test_list
   as XFail test.

Patch by: stylesen
          me
Suggested by: me


r28555 | kameshj | 2007-12-19 08:18:46 -0600 (Wed, 19 Dec 2007)

On the issue-2897 branch:

XFail test to show how the conflict resolution work on 
trunk to feature branch should be preserved.

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

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

Patch by: stylesen
Suggested by: me
Tweaked by: me 


r28523 | stylesen | 2007-12-18 04:31:27 -0600 (Tue, 18 Dec 2007)

On the issue-2897 branch:

Enhance the merge_test-78.

* subversion/tests/cmdline/merge_tests.py
  (merge_non_reflective_text_and_prop_change): Only non-reflective prop changes
   should get merged.

Patch by: me
Suggested by: kameshj


r28510 | kameshj | 2007-12-17 09:27:28 -0600 (Mon, 17 Dec 2007)

On the issue-2897 branch:

Extend merge test 78 to have prop changes.

* subversion/tests/cmdline/merge_tests.py
  (merge_non_reflective_text_and_prop_change): Renamed from
   merge_non_reflective_text_change(). Include some prop changes
   and observe non-reflective property merges.
  (test_list): Rename merge_non_reflective_text_change() to
   merge_non_reflective_text_and_prop_change().

Patch by: stylesen
Suggested by: me
Tweaked by: me


r28507 | stylesen | 2007-12-17 06:05:27 -0600 (Mon, 17 Dec 2007)

On the issue-2897 branch, Extend merge test 78

Extend merge test 78 to have two non-contiguous range merges from trunk
to feature branch.

* subversion/tests/cmdline/merge_tests.py
  (merge_non_reflective_text_change): Introduce two non-contiguous range
   merges from trunk to the feature branch.

Patch by: me
Suggested by: kameshj


r28480 | kameshj | 2007-12-14 08:33:41 -0600 (Fri, 14 Dec 2007)

On the record_exact_merge_and_commit_revs branch:

Extract and apply the 'sqlite mergeinfo schema change + corresponding
change in the code' from issue-2897 branch.

* subversion/libsvn_fs_util/sqlite-util.c
  (MERGEINFO_TABLE_SCHEMA): New macro.
  (schema_create_sql): Fix the create table statement of 'mergeinfo' table to
   use this macro. Change the structure of 'mergeinfo_changed' table to have
   the same structure as 'mergeinfo'. 
   Drop 'mi_c_path_idx' and 'mi_c_revision_idx' indices relevant for the
   old schema. 
   Create new index 'mi_c_merge_source_target_revstart_end_commit_rev_idx'.
* subversion/libsvn_fs_util/mergeinfo-sqlite-index.c
  (): Forward declaration of 'get_mergeinfo' to facilitate its use by
  'index_txn_mergeinfo'.
  (index_path_mergeinfo): Change signature to accept 'curr_mergeinfo', 
   'orig_mergeinfo' and 'added_mergeinfo' hashes instead of 'mergeinfo_str'.
   Record the 'added_mergeinfo' to new mergeinfo_changed table.
  (index_txn_mergeinfo): Get the relevant data needed by 'index_path_mergeinfo'
   and update its call.
  (get_mergeinfo_for_path, get_mergeinfo_for_children): Fix the query as per
   new schema.
  (svn_fs_mergeinfo__get_mergeinfo): Remove duplicate/stale doc string as we
   can make use of the one in the header file.

Patch by: stylesen
          me


r28233 | stylesen | 2007-12-04 06:59:09 -0600 (Tue, 04 Dec 2007)

Additional testcase for issue #2897.

Merge non-reflective text change

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

Patch by: me
Suggested by: kameshj


r28182 | dlr | 2007-12-01 12:27:42 -0600 (Sat, 01 Dec 2007)

Fix compiler warning from implicit declaration of function.

* subversion/libsvn_ra/util.c
  Include svn_path.h.

Patch by: stylesen
(Tweaked by me.)


r27853 | dlr | 2007-11-16 09:54:09 -0600 (Fri, 16 Nov 2007)

Follow up to r27845.

* subversion/svndumpfilter/main.c
  (adjust_mergeinfo): Reconstruct new mergeinfo in a new hash,
   final_mergeinfo, to remove any old mergeinfo for skipped paths.

Patch by: stylesen
(Tweaked by me.)


r27845 | 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


r27832 | dlr | 2007-11-15 14:17:16 -0600 (Thu, 15 Nov 2007)

Encapsulate path-skipping logic.

* subversion/svndumpfilter/main.c
  (skip_path): Add new routine which encapsulates boolean
   path-skipping test.
  (new_node_record, renumber_merge_source_rev_range): Leverage skip_path().

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


r27817 | stylesen | 2007-11-14 07:04:57 -0600 (Wed, 14 Nov 2007)

Fix issue #2982.

Reflect dropped/renumbered revisions in modified svn:mergeinfo data

* subversion/svndumpfilter/main.c
  (): Include svn_mergeinfo.h
  (parse_baton_t): Add skip_missing_merge_sources boolean for the new option
  (renumber_merge_source_rev_range): New function to renumber revs or skip
   missing merge sources in mergeinfo
  (set_node_property): If we have svn:mergeinfo then renumber revisions for
   valid merge sources in mergeinfo.
  (svn_opt_subcommand_t): Add --skip-missing-merge-sources option
  (options_table): Add description for --skip-missing-merge-sources option
  (cmd_table): Add the new option --skip-missing-merge-sources
  (svndumpfilter_opt_state): Add skip_missing_merge_sources boolean for the
   new option
  (parse_baton_initialize): Initialize skip_missing_merge_sources
  (main): Add svndumpfilter__skip_missing_merge_sources to switch case

Patch by: me
Approved by: kameshj
Reviewed by: kameshj
             dlr


r27574 | 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>


r27544 | 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> 


r27445 | 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.)


r27305 | 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>


r27241 | 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>


r27237 | 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>


r27211 | 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


r27070 | 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


r27067 | 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> 


r27066 | 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


r27049 | 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


r26829 | 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


r26827 | kameshj | 2007-09-28 08:14:49 -0500 (Fri, 28 Sep 2007)

Fix bug introduced in r26803.

* subversion/libsvn_client/merge.c
  (drive_merge_report_editor): Call svn_client__get_diff_editor with 
   same 'start rev' as that we use with 'reporter->set_path("")'.
 
Found by: Senthil Kumaran S <senthil@collab.net>


r26750 | 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>


r26594 | 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>


r26499 | 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


r26479 | 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 


r26416 | 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.)


r26245 | 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


r26227 | 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


r26177 | 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


r26050 | 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>


r26009 | 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>


r26007 | 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>


r25885 | 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


r25738 | dlr | 2007-07-13 15:48:31 -0500 (Fri, 13 Jul 2007)

* subversion/libsvn_wc/merge.c
  (svn_wc__merge_internal): Remove unused local variables named
   "conflict_err".

Found by: Senthil Kumaran S <senthil@collab.net>


r25668 | 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>


r25667 | 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


r25652 | 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


r25631 | 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>