Noorul Islam K M <noorul@collab.net>


Found Patch Suggested
r1145972, r1143037, r1089786, r1066046, r1066006 r1228253, r1151044, r1151020, r1151015, r1145478, r1145455, r1144135, r1143731, r1143377, r1143092, r1141292, r1140543, r1139275, r1139251, r1138830, r1138474, r1132678, r1132622, r1129621, r1096706, r1091717, r1086218, r1079803, r1079758, r1076100, r1074939, r1074492, r1072242, r1071961, r1071632, r1071602, r1071368, r1070981, r1070969, r1070930, r1070582, r1070510, r1070508, r1068977, r1055494, r1055092, r1054989, r1051059, r1049557, r1044448, r1044028, r1043409, r1042679, r1041900, r1038558, r1036419, r1036383, r1036373, r1035208, r1033411, r1033045, r1033028, r1033001, r1032568, r1031160, r1030704, r1030598, r1030596, r1030580, r1030557, r1030010, r1029751, r904072, r902841 r1139261, r1055484, r1052547

r1228253 | cmpilato | 2012-01-06 10:38:59 -0600 (Fri, 06 Jan 2012)

Fix issue #3942 ("Provide new subcommand on svnadmin to create a
lock") by adding said subcommand.  The new subcommand supports the
following syntax:

   svnadmin lock REPOS PATH USERNAME COMMENT-FILE [TOKEN]

The command locks the PATH by USERNAME setting comment from
COMMENT-FILE.  If the optional TOKEN is given then it is used as lock
token.  If --bypass-hooks options is passed then bypass the repository
hook system.

* subversion/svnadmin/main.c
  (svn_opt_subcommand_t): New subcommand.
  (svn_opt_subcommand_desc2_t): Add description.
  (subcommand_lock): New function, implementing the subcommand.

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

* subversion/tests/cmdline/svnadmin_tests.py
  (lock): New test for 'lock' subcommand.

Patch by: Noorul Islam K M <noorul@collab.net>


r1151044 | stsp | 2011-07-26 04:45:40 -0500 (Tue, 26 Jul 2011)

* subversion/libsvn_wc/info.c
  (build_info_for_entry): Remove obsolete comment line. The code
    pertaining to this was removed in r1132455.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1151020 | philip | 2011-07-26 03:46:58 -0500 (Tue, 26 Jul 2011)

New test for 'svnadmin lslocks' and 'svnadmin rmlocks'.

* subversion/tests/cmdline/svnadmin_tests.py
  (test_lslocks_and_rmlocks): New test.
  (test_list): Add new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1151015 | stsp | 2011-07-26 03:24:17 -0500 (Tue, 26 Jul 2011)

* subversion/tests/cmdline/info_tests.py
  (info_show_exclude): Fix indentation and put the expected error string
    into a variable instead of spelling it out twice. No functional change.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1145972 | rhuijben | 2011-07-13 07:28:17 -0500 (Wed, 13 Jul 2011)

Make the 'populate target tree' code in wc_db.c return an error when it
receives an nonexisting node as (root-)target.
(This also resolves some remaining parts of issue #3779)

* subversion/libsvn_wc/wc-queries.sql
  (STMT_INSERT_TARGET_DEPTH_INFINITY,
   STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY): Avoid the LIKE operator
     when we can use an index to obtain the same result.

* subversion/libsvn_wc/wc_db.c
  (populate_targets_tree): Don't pass/generate the like argument. Obtain the
    number of affected rows and check if the node actually exists if the number
    of affected rows is 0.

* subversion/svn/changelist-cmd.c
  (svn_cl__changelist): Return an error when an error occurred, just like
    the other svn commands that handle SVN_WC_PATH_NOT_FOUND.

* subversion/tests/cmdline/changelist_tests.py
  (add_remove_non_existent_target,
   add_remove_unversioned_target): New tests. Based on a patch by Noorul
     Islam K M, but tweaked for the different error handling.
  (test_list): Add new tests.

* subversion/tests/cmdline/tree_conflict_tests.py
  (actual_only_node_behaviour): Update expected result and remove review marker
    as we now produce a warning.

Found by: danielsh
          Noorul Islam K M <noorul{_AT_}collab.net>
          stsp


r1145478 | danielsh | 2011-07-12 02:52:30 -0500 (Tue, 12 Jul 2011)

* subversion/svnadmin/main.c
  (subcommand_lslocks): Return better error message when too many
    arguments are passed to 'svnadmin lslocks'.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
          me


r1145455 | danielsh | 2011-07-11 23:58:00 -0500 (Mon, 11 Jul 2011)

Allow the test suite to pass --pre-1.4-compatible.

Patch by: Noorul Islam K M
(log message by me)

* build/run_tests.py
  (TestHarness.__init__): Allow server_minor_version=3.

* subversion/tests/cmdline/svntest/main.py
  (create_repos, _parse_options): Accept and parse server_minor_version=3.

r1144135 | stylesen | 2011-07-07 21:59:21 -0500 (Thu, 07 Jul 2011)

* docs/community-guide/general.part.html
  Fix broken link to #partial-commit-access.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1143731 | rhuijben | 2011-07-07 04:44:12 -0500 (Thu, 07 Jul 2011)

Add testcase for issue #3787.

* subversion/tests/cmdline/info_tests.py
  (info_show_exclude): New testcase.
  (test_list): Add info_show_exclude.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(extended by me)


r1143377 | rhuijben | 2011-07-06 07:27:30 -0500 (Wed, 06 Jul 2011)

* subversion/svn/main.c
  (main): Fallback to default config with a warning if the passed config
    directory is not a directory. Update comment to reflect the change.
    Handle more access errors by using the macro for the check.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)


r1143092 | danielsh | 2011-07-05 10:06:25 -0500 (Tue, 05 Jul 2011)

* build/run_tests.py
  (TestHarness.__init__): Restrict --server-minor-version to take values in
     the range 4-7.

* subversion/tests/cmdline/svntest/main.py
  (_parse_options): Add cross-referencing comment.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
          me

r1143037 | danielsh | 2011-07-05 08:03:27 -0500 (Tue, 05 Jul 2011)

Annotate a unit test as expected to fail with old servers.

* subversion/tests/cmdline/svntest/main.py
  (server_enforces_UTF8_fspaths_in_verify): New, tests for 1.6+.

* subversion/tests/cmdline/svnadmin_tests.py
  (verify_non_utf8_paths): Skip unless the server is expected to support the
      feature being tested for.

Found by: Noorul Islam K M

r1141292 | danielsh | 2011-06-29 17:26:46 -0500 (Wed, 29 Jun 2011)

Allow davautocheck to optionally run with SVNPathAuthz=short_circuit.

* Makefile.in
  (davautocheck): Document environment parameter $SVN_PATH_AUTHZ.

* subversion/tests/cmdline/davautocheck.sh:
    Accept and use $SVN_PATH_AUTHZ environment parameter.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
Suggested by: me

r1140543 | stsp | 2011-06-28 06:54:55 -0500 (Tue, 28 Jun 2011)

Followup to r1140505. Fix indentation.

* [everywhere]: Fix indentation fallout from the 
    svn_error_return() -> svn_error_trace() rename.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1139275 | danielsh | 2011-06-24 07:38:45 -0500 (Fri, 24 Jun 2011)

Fix for issue #3938: Make 'svn revert' skip unversioned targets.

* subversion/libsvn_client/revert.c
  (revert): Send 'skip' notification when svn_wc_revert4() returns
    SVN_ERR_WC_PATH_NOT_FOUND.

* subversion/tests/cmdline/revert_tests.py
  (revert_with_unversioned_targets): Expect it to pass.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

r1139261 | danielsh | 2011-06-24 07:00:46 -0500 (Fri, 24 Jun 2011)

* subversion/tests/cmdline/revert_tests.py
  (revert_with_unversioned_targets): Expect a 'Skipped' notification.

Suggested by: Noorul Islam K M <noorul@collab.net>

r1139251 | stsp | 2011-06-24 06:34:42 -0500 (Fri, 24 Jun 2011)

Follow-up to r1138830. Remove comment in test which became obsolete
after r1138830. Add new comment related to issue #3936.

* subversion/tests/cmdline/log_tests.py
  (log_with_unrelated_peg_and_operative_revs): Fix obsolete comment and
    add new relevant one.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1138830 | stsp | 2011-06-23 06:07:56 -0500 (Thu, 23 Jun 2011)

Fix for issue #3931. 'svn log' is returning log of unrelated path when
peg revision is not related to operative revision. This is happening
when HEAD is used in operative range. This commit fixes this.

* subversion/libsvn_client/log.c
  (svn_client_log5): Handle HEAD in operative revision range.

* subversion/tests/cmdline/log_tests.py
  (log_with_unrelated_peg_and_operative_revs): Remove XFail marker.
    Fix expected error message.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1138474 | rhuijben | 2011-06-22 09:09:17 -0500 (Wed, 22 Jun 2011)

Since r1138399 we can assume that tempfiles we create in the default temp
directory are not world readable, so we can now safely store the diff
tempfiles there. This should fix issue #3813.

* subversion/libsvn_wc/diff_editor.c
  (apply_textdelta): Store diff tempfiles in the system tempdir instead of the
    working copy.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
          rhuijben
(independently came up with the first hunk)


r1132678 | stsp | 2011-06-06 10:44:34 -0500 (Mon, 06 Jun 2011)

Fix a bug in 'svn export' because of which externals are exported twice
when exporting a working copy having externals.

* subversion/libsvn_client/export.c
  (copy_versioned_files): Do not copy an external file here. This is
    done down the line in the function.

* subversion/tests/cmdline/externals_tests.py
  (export_wc_with_externals): Remove XFail marker.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1132622 | stsp | 2011-06-06 08:02:03 -0500 (Mon, 06 Jun 2011)

Follow-up to r1071809:
Allow 'make check' to take MILESTONE_FILTER and MODE_FILTER options.

* Makefile.in
  (check): Pass --list, --milestone-filter, --mode-filter and
    --log-to-stdout to run_tests.py if MILESTONE_FILTER is set.

* build/run_tests.py
  (__doc__): Add --list, --milestone-filter and --mode-filter options to
    usage doc.
  (main): Accept --list, --milestone-filter and --mode-filter as a valid
   option, pass it to TestHarness() 

Patch by: Noorul Islam K M <noorul{_AT_}collab.net> 


r1129621 | julianfoad | 2011-05-31 06:04:47 -0500 (Tue, 31 May 2011)

Fix issue #3799, "unforced file export silently overwites existing file".
Make svn export throw an error instead of overwriting an existing target,
when exporting a file, if the "force" option is not passed.

* subversion/libsvn_client/export.c
  (copy_versioned_files, svn_client_export5): Return SVN_ERR_ILLEGAL_TARGET
    if exporting a file would overwrite an existing file or subdirectory.

* subversion/tests/cmdline/export_tests.py
  (export_file_overwrite_fails): Extend test for URL source. Remove XFail
    marker.
  (export_file_overwrite_with_force): New test.
  (test_list): Add reference to new test.

* subversion/tests/cmdline/externals_tests.py
  (export_wc_with_externals): Add XFail marker since it is failing because
    of a bug in handling externals. See
    <http://svn.haxx.se/dev/archive-2011-05/1045.shtml>.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1096706 | stsp | 2011-04-26 04:42:07 -0500 (Tue, 26 Apr 2011)

Follow-up to r1089786.

* subversion/svn/main.c
  (main): Replace macro usage by constant output.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1091717 | julianfoad | 2011-04-13 04:06:07 -0500 (Wed, 13 Apr 2011)

Remove 'svn obliterate' related code.

* subversion/libsvn_ra/ra_loader.h,
  subversion/libsvn_ra/ra_loader.c
  (svn_ra__vtable_t, svn_ra__obliterate_path_rev):
    Remove obliterate related code.

* subversion/libsvn_fs/fs-loader.h,
  subversion/libsvn_fs/fs-loader.c
  (fs_vtable_t, svn_fs__begin_obliteration_txn,
   svn_fs__commit_obliteration_txn): Remove obliterate related code.

* subversion/svn/cl.h,
  subversion/svn/main.c
  (svn_opt_subcommand_t, svn_cl__cmd_table): Remove obliterate related code.

* subversion/libsvn_ra_local/ra_plugin.c,
  subversion/libsvn_ra_svn/client.c,
  subversion/libsvn_ra_neon/session.c,
  subversion/libsvn_ra_serf/serf.c
  (svn_ra_local__obliterate_path_rev, ra_local_vtable, ra_svn_vtable,
   neon_vtable, serf_vtable): Remove obliterate related code.

* subversion/libsvn_fs_base/tree.h,
  subversion/libsvn_fs_base/tree.c,
  subversion/libsvn_fs_base/reps-strings.h,
  subversion/libsvn_fs_base/reps-strings.c,
  subversion/libsvn_fs_base/dag.h,
  subversion/libsvn_fs_base/dag.c,
  subversion/libsvn_fs_base/revs-txns.c,
  subversion/libsvn_fs_base/revs-txns.h,
  subversion/libsvn_fs_base/fs.c
  (svn_fs_base__commit_obliteration_txn, svn_fs_base__obliterate_rep,
   txn_body_commit_obliteration, txn_body_obliterate_rep,
   svn_fs_base__rep_obliterate, svn_fs_base__dag_commit_obliteration_txn,
   svn_fs_base__dag_obliterate_rep, svn_fs_base__begin_obliteration_txn,
   txn_vtable, txn_body_begin_obliteration_txn, fs_vtable,
   node_origins_update, copies_update, changes_dup):
    Remove obliterate related code.

* subversion/include/private/svn_client_private.h,
  subversion/include/private/svn_repos_private.h,
  subversion/include/private/svn_ra_private.h,
  subversion/include/private/svn_fs_private.h
  (svn_client__obliterate_path_rev, svn_repos__obliterate_path_rev,
   svn_repos__pre_obliterate_hook, svn_repos__post_obliterate_hook,
   svn_ra__obliterate_path_rev, svn_fs__begin_obliteration_txn,
   svn_fs__commit_obliteration_txn): Remove obliterate related code.

* subversion/libsvn_repos/repos.h,
  subversion/libsvn_repos/repos.c,
  subversion/libsvn_repos/hooks.c
  (svn_repos__hooks_pre_obliterate, svn_repos__hooks_post_obliterate,
    create_hooks, check_hook_result): Remove obliterate related code.

* subversion/libsvn_fs_fs/tree.h,
  subversion/libsvn_fs_fs/tree.c,
  subversion/libsvn_fs_fs/fs_fs.h,
  subversion/libsvn_fs_fs/fs_fs.c,
  subversion/libsvn_fs_fs/fs.c
  (svn_fs_fs__commit_obliteration_txn, svn_fs_fs__commit_obliteration,
   svn_fs_fs__begin_obliteration_txn, txn_vtable,
   svn_fs_fs__create_obliteration_txn, commit_obliteration_body,
   svn_fs_fs__commit_obliteration, svn_fs_fs__begin_obliteration_txn,
   fs_vtable): Remove obliterate related code.

* subversion/svn/obliterate-cmd.c,
  subversion/libsvn_client/obliterate.c,
  subversion/libsvn_repos/obliterate.c,
  subversion/libsvn_fs_base/obliterate.h,
  subversion/libsvn_fs_base/obliterate.c,
  subversion/tests/cmdline/obliterate_tests.py
    Remove obliterate related files.

* subversion/tests/libsvn_fs/fs-test.c,
  subversion/tests/cmdline/svntest/objects.py
  (obliterate_1, test_funcs, SvnRepository.obliterate_node_rev):
    Remove obliterate related test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1089786 | rhuijben | 2011-04-07 04:10:39 -0500 (Thu, 07 Apr 2011)

* subversion/svn/main.c
  (main): Replace two macro usages by their constant output.

Found by: Noorul Islam K M <noorul{_AT_}collab.net>


r1086218 | hwright | 2011-03-28 08:01:34 -0500 (Mon, 28 Mar 2011)

* subversion/tests/cmdline/svntest/main.py
   Remove unused import.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1079803 | stsp | 2011-03-09 08:02:42 -0600 (Wed, 09 Mar 2011)

* notes/xfail-status: Remove entry of test for issue #3792. Test passes now.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1079758 | stsp | 2011-03-09 05:44:04 -0600 (Wed, 09 Mar 2011)

Fix for issue #3792. Make svn info to display information for excluded items.

* subversion/include/private/svn_wc_private.h,
  subversion/libsvn_wc/node.c
  (svn_wc__node_depth_is_exclude): New helper function to find out
    whether the node is set to depth 'exclude'.

* subversion/libsvn_client/info.c
  (build_info_for_entry): Process node with depth 'exclude' like a normal one.

* subversion/svn/info-cmd.c
  (print_info): Print depth as 'exclude' for nodes having depth exclude.

* subversion/tests/cmdline/depth_tests.py
  (info_excluded): Remove XFail marker.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(minimal tweaks to log message by me)


r1076100 | danielsh | 2011-03-01 22:19:57 -0600 (Tue, 01 Mar 2011)

New XFail test for issue 3826.

* subversion/tests/cmdline/diff_tests.py
  (diff_abs_localpath_from_wc_folder): New XFail test.
  (test_list): Run it.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)

r1074939 | danielsh | 2011-02-26 16:09:30 -0600 (Sat, 26 Feb 2011)

Follow-up to r1074492.

* subversion/tests/cmdline/externals_tests.py
  (file_external_update_without_commit): Update test summary, clarifying
    the details of the scenario being tested. Remove unused variable.
    Associate test with issue 3823.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
Suggested by: me

r1074492 | danielsh | 2011-02-25 06:09:49 -0600 (Fri, 25 Feb 2011)

Add an XFail test which was drive-by mentioned yesterday.

* subversion/tests/cmdline/externals_tests.py
  (file_external_in_sibling): Remove TODO entry.
  (file_external_update_without_commit): New test.
  (test_list): Run it.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)

r1072242 | stsp | 2011-02-18 21:57:31 -0600 (Fri, 18 Feb 2011)

Fix a bug introduced in r1071025.

* subversion/svnadmin/main.c
  (parse_args): Handle NULL argument.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1071961 | philip | 2011-02-18 05:02:57 -0600 (Fri, 18 Feb 2011)

Combine multiple targets tests from info_tests.py, blame-tests.py and
basic_tests.py logically into basic_tests.py to reduce the overhead of
checkouts.

* subversion/tests/cmdline/info_tests.py,
  subversion/tests/cmdline/blame_tests.py,
  subversion/tests/cmdline/basic_tests.py
  (info_multiple_wc_targets, info_multiple_url_targets): 
    Move these into (info_multiple_targets) in basic_tests.py.
  (blame_non_existent_wc_target, blame_non_existent_url_target):
    Move these into (blame_multiple_targets) in basic_tests.py.
  (ls_non_existent_wc_target, ls_non_existent_url_target,
   ls_multiple_wc_targets, ls_multiple_url_targets)
    Move these into (ls_multiple_and_non_existent_targets) in basic_tests.py.
  (test_list): Remove references to above tests.

* subversion/tests/cmdline/basic_tests.py:
  (ls_multiple_and_non_existent_targets, info_multiple_targets,
   blame_multiple_targets): New combined tests. Use error codes alone in
   expected error regular expression.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1071632 | stsp | 2011-02-17 08:51:52 -0600 (Thu, 17 Feb 2011)

* subversion/svn/blame-cmd.c
  (svn_cl__blame): Catch SVN_ERR_FS_NOT_FOUND and display warning.

* subversion/tests/cmdline/blame_tests.py
  (blame_non_existent_url_target): Relax regex to allow errors from
   http: and svn: protocols. Remove XFail marker.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1071602 | stsp | 2011-02-17 07:15:13 -0600 (Thu, 17 Feb 2011)

* subversion/svn/blame-cmd.c
  (svn_cl__blame): If one of the targets is a non-existent URL or
    wc-entry, don't bail out.  Just warn and move on to the next
    target. Also return a non-zero error code and print an error message
    at the end in those situations.

* subversion/tests/cmdline/blame_tests.py
  (blame_non_existent_wc_target, blame_non_existent_url_target): New tests.
  (test_list): Add reference to new tests.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1071368 | stsp | 2011-02-16 13:27:40 -0600 (Wed, 16 Feb 2011)

Fix issue #3742, "'svn st' should report nested working copies as
unversioned regardless of format".

* subversion/svn/status.c,
  subversion/libsvn_wc/status.c
  (print_status, assemble_unversioned): Consider other format working
    copies as unversioned by ignoring SVN_ERR_WC_UPGRADE_REQUIRED error.

* subversion/tests/cmdline/stat_tests.py
  (status_nested_wc_old_format): Remove XFail marker.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1070981 | stsp | 2011-02-15 11:27:19 -0600 (Tue, 15 Feb 2011)

Add new tests for 'svn info' with multiple targets.

* subversion/tests/cmdline/info_tests.py
  (info_multiple_wc_targets, info_multiple_url_targets): New tests.
  (test_list): Add reference to new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1070969 | stsp | 2011-02-15 11:01:17 -0600 (Tue, 15 Feb 2011)

Improve error message displayed by info/cat for consistency.

* subversion/svn/info-cmd.c,
  subversion/svn/cat-cmd.c
  (svn_cl__info, svn_cl__cat): Improve error message. Use meaningful
    variable.

* subversion/tests/cmdline/cat_tests.py
  (cat_skip_uncattable): Modify test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1070930 | stsp | 2011-02-15 09:03:59 -0600 (Tue, 15 Feb 2011)

Follow-up to r1070508. Add new test for 'svn add' with multiple targets.

* subversion/tests/cmdline/basic_tests.py
  (add_multiple_targets): New test
  (test_list): Add reference to new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1070582 | stsp | 2011-02-14 11:18:17 -0600 (Mon, 14 Feb 2011)

Follow-up to r1070510. Replace 'Cat' with 'ls' in error message.

* subversion/trunk/subversion/tests/cmdline/basic_tests.py
  (ls_multiple_wc_targets, ls_multiple_url_targets): Fix error message.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1070510 | stsp | 2011-02-14 08:44:50 -0600 (Mon, 14 Feb 2011)

* subversion/svn/list-cmd.c
  (svn_cl__list): If one of the targets is a non-existent URL or
    wc-entry, don't bail out.  Just warn and move on to the next
    target. Also return a non-zero error code and print an error message
    at the end in those situations.

* subversion/tests/cmdline/basic_tests.py
  (ls_non_existent_wc_target, ls_non_existent_url_target, 
   ls_multiple_wc_targets, ls_multiple_url_targets): New tests.
  (test_list): Add reference to new tests.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1070508 | stsp | 2011-02-14 08:39:08 -0600 (Mon, 14 Feb 2011)

* subversion/svn/add-cmd.c
  (svn_cl__add): If one or more target fails to get processed then print
    error message at end of command execution. Also return 1 to shell.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1068977 | cmpilato | 2011-02-09 11:07:19 -0600 (Wed, 09 Feb 2011)

Fix issue #3713 ("svn cat for non-existing file returns incorrect
exit-status").  Make 'svn cat' return a non-zero errorcode when one or
more targets fails.  Also print an error message in those situations.

* subversion/svn/cat-cmd.c
  (svn_cl__cat): Pass SVN_ERR_FS_NOT_FOUND to svn_cl__try() as another
    non-fatal error code.  Return an error if the operation fails for
    any of the targets.

* subversion/tests/cmdline/cat_tests.py
  (cat_local_directory, cat_nonexistent_file, cat_skip_uncattable,
   cat_unversioned_file, cat_url_special_characters):
    Update return code and use regular expressions to match output.
  (cat_non_existing_remote_file): New test.
  (test_list): Add reference to new test.

Patch by: Noorul Islam K M <noorul@collab.net>
          (Tweaked by me.)


r1066046 | rhuijben | 2011-02-01 07:57:20 -0600 (Tue, 01 Feb 2011)

* subversion/tests/libsvn_subr/dirent_uri-test.c
  (test_uri_canonicalize): Following up on r1066019, add a few more
    interesting testcases.

Found by: Noorul Islam K M <noorul{_AT_}collab.net>

r1066006 | rhuijben | 2011-02-01 05:35:29 -0600 (Tue, 01 Feb 2011)

Handle "/./" and "/%2E/" in the same way while canonicalizing urls. Before
this patch the first was handled as a no-op segment, while the second was
handled as a segment containing just a dot.

* subversion/libsvn_subr/dirent_uri.c
  (canonicalize): Handle %2E while canonicalizing urls.

* subversion/tests/libsvn_subr/dirent_uri-test.c
  (test_uri_canonicalize): Add a few tests on noop segments.
  (test_uri_is_canonical): Add two test cases on noop segments.

Found by: Noorul Islam K M <noorul{_AT_}collab.net>

r1055494 | julianfoad | 2011-01-05 09:55:00 -0600 (Wed, 05 Jan 2011)

When "svn info" skips a target, display the specific error message returned
by the API instead of a generic and sometimes inaccurate "(Not a valid URL)"
or "(Not a versioned resource)" message.

* subversion/svn/info-cmd.c
  (svn_cl__info): Display the error message returned by svn_client_info3()
    instead of a custom one.

* subversion/tests/cmdline/basic_tests.py
  (info_nonexisting_file): Adjust the expected error message.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(split and tweaked by me)


r1055484 | julianfoad | 2011-01-05 09:14:20 -0600 (Wed, 05 Jan 2011)

Fix 'svn info's skipping of unversioned WC paths.  Since some error codes
have changed because of WC-NG work, it has recently been erroring out in
cases where it used to skip.

* subversion/svn/info-cmd.c
  (svn_cl__info): Catch error SVN_ERR_WC_PATH_NOT_FOUND for an unversioned
    WC entry, instead of SVN_ERR_UNVERSIONED_RESOURCE or
    SVN_ERR_ENTRY_NOT_FOUND.

Suggested by: Noorul Islam K M <noorul{_AT_}collab.net>


r1055092 | stsp | 2011-01-04 10:36:03 -0600 (Tue, 04 Jan 2011)

Fix wrong indentation caused by r1054989.

* subversion/libsvn_client/locking_commands.c
  (organize_lock_targets): Fix wrong indentation.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1054989 | jszakmeister | 2011-01-04 05:56:18 -0600 (Tue, 04 Jan 2011)

Fix syntax inconsistency and update comments.

* subversion/libsvn_client/locking_commands.c
  (organize_lock_targets): Fix syntax inconsistency by removing
    unnecessary braces from 'if' block. Update comments to reflect new
    function names used.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1052547 | kameshj | 2010-12-24 12:33:36 -0600 (Fri, 24 Dec 2010)

Reslove some deprecation warnings:
Make use of 'svn_uri_condense_targets' or 'svn_dirent_condense_targets'
instead of deprecated 'svn_path_condense_targets'.

* subversion/libsvn_client/log.c:
 (svn_client_log5): Use 'svn_uri_condense_targets()' and
  'svn_dirent_condense_targets()'.

* subversion/svn/commit-cmd.c:
  (svn_cl__commit): Use 'svn_dirent_condense_targets()'.
                    
Patch by: Vijayaguru G <vijay{_AT_}collab.net>
Suggested by: kameshj
              Noorul Islam K M <noorul{_AT_}collab.net>


r1051059 | julianfoad | 2010-12-20 04:55:18 -0600 (Mon, 20 Dec 2010)

Make 'svn move' display the correct error message while moving a URL onto or
into itself. (Instead of 'Cannot move URL', it was displaying 'Cannot move
path' with the URL formatted as if it were a local path.) Add missing tests.

* subversion/libsvn_client/copy.c
  (try_copy): Display error message based on source type.
  (repos_to_repos_copy): Remove redundant code.

* subversion/tests/cmdline/copy_tests.py
  (move_wc_and_repo_dir_to_itself, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1049557 | cmpilato | 2010-12-15 08:17:12 -0600 (Wed, 15 Dec 2010)

Update paths and links.  (This patch was tracked in issue #3758.)

* tools/dev/svn-dev.el
  (svn-site-source-tree-top): Rename svn-source-tree-top as
    svn-site-source-tree-top as now the web site code resides in a
    separate location. Update doc string.
  (svn-faq-file, svn-faq-file, svn-url-base, svn-hacking-url): Update
    location.

Patch by: Noorul Islam K M <noorul@collab.net>


r1044448 | julianfoad | 2010-12-10 11:14:33 -0600 (Fri, 10 Dec 2010)

Make use of a new function for checking whether all targets are the same
type.  A follow-up to r1044028.

* subversion/svn/diff-cmd.c
  (svn_cl__diff): Make use of new function
    svn_cl__assert_homogeneous_target_type(). Tweak existing logic which
    checks to see whether working copy path is present in targets.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)


r1044028 | julianfoad | 2010-12-09 10:42:42 -0600 (Thu, 09 Dec 2010)

Factor out some code that checks whether the target types are homogeneous.
Move it into two new functions, one each for command line and client API.

* subversion/svn/cl.h,
  subversion/svn/util.c
  (svn_cl__assert_homogeneous_target_type): New function.

* subversion/libsvn_client/client.h
  subversion/libsvn_client/util.c
  (svn_client__assert_homogeneous_target_type): New function.

* subversion/svn/mkdir-cmd.c,
  subversion/svn/delete-cmd.c,
  subversion/svn/lock-cmd.c,
  subversion/svn/unlock-cmd.c
  (svn_cl__mkdir, svn_cl__delete, svn_cl__lock, svn_cl__unlock):
    Replace existing logic with call to new function
    svn_cl__assert_homogeneous_target_type.

* subversion/libsvn_client/delete.c,
  subversion/libsvn_client/locking_commands.c,
  subversion/libsvn_client/add.c
  (svn_client_delete4, organize_lock_targets, svn_client_mkdir4):
    Replace existing logic with call to new function
    svn_client__assert_homogeneous_target_type.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1043409 | julianfoad | 2010-12-08 07:31:50 -0600 (Wed, 08 Dec 2010)

Make 'svn update' verify that URLs are not passed as targets.

* subversion/svn/update-cmd.c
  (svn_cl__update): Raise an error if a URL was passed.

* subversion/libsvn_client/update.c
  (svn_client_update4): Same, and also remove code that notifies 'Skipped'
    message for URL targets.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_update_targets, test_list): New test

* subversion/tests/cmdline/externals_tests.py
  (cannot_move_or_remove_file_externals,
   can_place_file_external_into_dir_external,
   external_into_path_with_spaces): Remove URL target from 'svn up' command.

* subversion/tests/cmdline/svntest/actions.py
  (inject_conflict_into_wc): Same.

* subversion/tests/cmdline/basic_tests.py
  (basic_update): URLs are no longer accepted as targets. Remove test
    case for 'Skipped' message.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1042679 | cmpilato | 2010-12-06 09:37:30 -0600 (Mon, 06 Dec 2010)

* subversion/libsvn_client/copy.c
  (try_copy): Combine redundant 'if' block.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

r1041900 | julianfoad | 2010-12-03 10:31:43 -0600 (Fri, 03 Dec 2010)

Make 'svn mkdir' verify that both working copy paths and URLs are not passed.

* subversion/svn/mkdir-cmd.c,
  subversion/libsvn_client/add.c
  (svn_cl__mkdir, svn_client_mkdir4): Raise an error if both working
    copy paths and URLs are passed.
  (mkdir_urls): Remove redundant code.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_mkdir_targets, test_list): New test

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1038558 | julianfoad | 2010-11-24 05:33:58 -0600 (Wed, 24 Nov 2010)

Fix issue #3746: Inaccurate "Updated to revision" when updating multiple
targets.

* subversion/svn/notify.c (notify): For each target, reset
  received_some_change variable.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1036419 | julianfoad | 2010-11-18 05:41:48 -0600 (Thu, 18 Nov 2010)

Remove redundant svn_error_return() wrapper.

* subversion/svn/add-cmd.c,
  subversion/svn/changelist-cmd.c,
  subversion/svn/cleanup-cmd.c,
  subversion/svn/export-cmd.c,
  subversion/svn/import-cmd.c,
  subversion/svn/log-cmd.c,
  subversion/svn/patch-cmd.c,
  subversion/svn/resolve-cmd.c,
  subversion/svn/resolved-cmd.c,
  subversion/svn/revert-cmd.c,
  subversion/svn/status-cmd.c,
  subversion/svn/upgrade-cmd.c,
  subversion/libsvn_client/add.c,
  subversion/libsvn_client/changelist.c,
  subversion/libsvn_client/cleanup.c,
  subversion/libsvn_client/commit.c,
  subversion/libsvn_client/export.c,
  subversion/libsvn_client/log.c,
  subversion/libsvn_client/merge.c,
  subversion/libsvn_client/patch.c,
  subversion/libsvn_client/resolved.c,
  subversion/libsvn_client/revert.c,
  subversion/libsvn_client/status.c

  (svn_cl__add, svn_cl__changelist, svn_cl__cleanup, svn_cl__export,
   svn_cl__import, svn_cl__log, svn_cl__patch, svn_cl__resolve,
   svn_cl__resolved, svn_cl__revert, svn_cl__status, svn_cl__upgrade,
   svn_client_add4, svn_client_add_to_changelist,
   svn_client_remove_from_changelists, svn_client_cleanup,
   svn_client_commit5, svn_client_export5, svn_client_log5,
   svn_client_merge4, svn_client_patch, svn_client_resolve,
   svn_client_revert2, svn_client_status5):

    Remove redundant svn_error_return() wrapper. Also add blank line
    before/after 'if' block where ever required.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1036383 | julianfoad | 2010-11-18 04:11:10 -0600 (Thu, 18 Nov 2010)

Make 'svn relocate' verify that the target working copy root dir is
local.  Part of issue #3620.

* subversion/libsvn_client/relocate.c,
  subversion/svn/relocate-cmd.c
  (svn_client_relocate2, svn_cl__relocate): Raise an error if target
    working copy dir is not local.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_relocate_targets, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)


r1036373 | julianfoad | 2010-11-18 03:46:38 -0600 (Thu, 18 Nov 2010)

Make 'svn switch' verify that the target path is local.  Part of issue #3620.

* subversion/libsvn_client/switch.c,
  subversion/svn/switch-cmd.c
  (svn_client_switch2, svn_cl__switch): Raise an error if target path is
    not local.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_switch_targets, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)


r1035208 | julianfoad | 2010-11-15 04:20:10 -0600 (Mon, 15 Nov 2010)

Make 'svn unlock' verify that both working copy paths and URLs are not
passed.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_unlock_targets): New test, verifying that svn unlock copes well
    with invalid target combinations.

* subversion/svn/unlock-cmd.c
  (svn_cl__unlock): For consistency with other sub-commands, raise the
    SVN_ERR_CL_ARG_PARSING_ERROR if both working copy paths and URLs are
    passed, and use the same error message also used elsewhere.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1033411 | julianfoad | 2010-11-10 05:00:44 -0600 (Wed, 10 Nov 2010)

Add a wrapper function svn_cl__opt_parse_path() for svn_opt_parse_path(),
that canonicalizes the resulting dirent/URL.

Make use of new function in "ls" and "cat" commands.

* subversion/svn/cl.h,
  subversion/svn/util.c
  (svn_cl__opt_parse_path): New function.

* subversion/svn/list-cmd.c (svn_cl__list),
  subversion/svn/cat-cmd.c (svn_cl__cat):
    Use svn_cl__opt_parse_path() instead of svn_opt_parse_path() followed
    by canonicalizing.

Suggested by: julianfoad
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1033045 | kameshj | 2010-11-09 09:56:04 -0600 (Tue, 09 Nov 2010)

[issue 3609] Assertion failed errors when the url has encoded characters.

Canonicalize paths before passing them to svn_client_list2.

* subversion/svn/list-cmd.c
  (svn_cl__list): Canonicalize url or dirent before passing over to API.

* subversion/tests/cmdline/basic_tests.py
  (ls_url_special_characters): New test
  (test_list): Add new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1033028 | kameshj | 2010-11-09 09:37:08 -0600 (Tue, 09 Nov 2010)

[issue 3609] Assertion failed errors when the url has encoded characters.

Canonicalize paths before passing them to svn_client_cat2.

* subversion/svn/cat-cmd.c
  (svn_cl__cat): Canonicalize url or dirent before passing over to API.

* subversion/tests/cmdline/cat_tests.py
  (cat_url_special_characters): New test.
  (test_list): Add new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1033001 | kameshj | 2010-11-09 08:57:51 -0600 (Tue, 09 Nov 2010)

New test for issue 3609

* subversion/tests/cmdline/info_tests.py
  (info_url_special_characters): New test
  (test_list): Add new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1032568 | kameshj | 2010-11-08 07:41:23 -0600 (Mon, 08 Nov 2010)

If diff command fails then use difflib.unified_diff() to generate diff.

* tools/hook-scripts/mailer/mailer.py
  (DiffGenerator.__getitem__): Fall back to difflib.unified_diff() 
   if native 'diff' fails.
  (_classify_diff_line): New function taken from DiffContent.__getitem__()
   for reuse by the new class DifflibDiffContent.__getitem__().
  (DifflibDiffContent): New diff generator using difflib.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
Suggested by: me
Tweaked by: me (Refactored some duplicate code).


r1031160 | stsp | 2010-11-04 14:08:02 -0500 (Thu, 04 Nov 2010)

Make 'svn status' verify that none of its targets are URLs.

* subversion/libsvn_client/status.c,
  subversion/svn/status-cmd.c
  (svn_client_status5, svn_cl__status): Raise an error if any targets
  look like URLs.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_status_targets, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1030704 | stsp | 2010-11-03 16:38:42 -0500 (Wed, 03 Nov 2010)

Make 'svn lock' verify that both working copy paths and URLs are
not passed.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_lock_targets): New test, verifying that svn lock copes well
   with invalid target combinations.

* subversion/svn/lock-cmd.c,
  subversion/libsvn_client/locking_commands.c
  (svn_cl__lock, organize_lock_targets): For consistency with other
   sub-commands, raise SVN_ERR_CL_ARG_PARSING_ERROR (in the CLI client)
   or SVN_ERR_ILLEGAL_TARGET (in libsvn_client) if both working copy paths
   and URLs are passed. Use the same error message also used elsewhere.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1030598 | stsp | 2010-11-03 13:34:28 -0500 (Wed, 03 Nov 2010)

Make 'svn revert' verify that none of its targets are URLs.

* subversion/libsvn_client/revert.c,
  subversion/svn/revert-cmd.c
  (svn_client_revert2, svn_cl__revert): Raise an error if any targets
  look like URLs.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_revert_targets, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1030596 | stsp | 2010-11-03 13:23:11 -0500 (Wed, 03 Nov 2010)

Make 'svn resolved' verify that none of its targets are URLs.

* subversion/svn/resolved-cmd.c
  (svn_cl__resolved): Raise an error if any targets look like URLs.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_resolved_targets, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1030580 | stsp | 2010-11-03 13:11:31 -0500 (Wed, 03 Nov 2010)

Make 'svn resolve' verify that none of its targets are URLs.

* subversion/libsvn_client/resolved.c,
  subversion/svn/resolve-cmd.c
  (svn_client_resolve, svn_cl__resolve): Raise an error if any targets
  look like URLs.

* subversion/tests/cmdline/input_validation_tests.py
  (invalid_resolve_targets, test_list): New test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r1030557 | julianfoad | 2010-11-03 12:34:14 -0500 (Wed, 03 Nov 2010)

* build/run_ctypesgen.sh
  Generate 'functions.py' in the source tree, to fix builds in which
  source tree != build tree. Although it would be better to put all
  generated targets in the build tree, the rest of ctypes-python doesn't
  currently find it there.

Patch by: Noorul Islam K M <noorul@collab.net>


r1030010 | rhuijben | 2010-11-02 06:57:10 -0500 (Tue, 02 Nov 2010)

Canonicalize paths before passing them to svn_client_info3.

* subversion/svn/info-cmd.c
  (svn_cl__info): Canonicalize url or dirent before passing over to API.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
          (tweaked by me)


r1029751 | philip | 2010-11-01 12:15:29 -0500 (Mon, 01 Nov 2010)

Fix issue 3727: Fix regression caused by r880559

* subversion/tests/cmdline/export_tests.py
  (export_to_current_dir): Remove XFail.

* subversion/svn/export-cmd.c
  (svn_cl__export): Move logic into subversion/libsvn_client/export.c

* subversion/include/svn_client.h
  (svn_client_export5): Update docstring.

* subversion/libsvn_client/export.c
  (svn_client_export5): If the TO path is empty when exporting an
   single file then use the basename of the URL.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
Tweaked by: me


r904072 | julianfoad | 2010-01-28 07:14:32 -0600 (Thu, 28 Jan 2010)

Add a regression test for a reverse merge, move and update second working
copy scenario. A bug caused the second working copy to get both the move
destination and the move source files added. This bug exists in 1.6.9, but
on trunk the commit stage of the test fails so the test is already marked
XFail.

See the email thread <http://svn.haxx.se/dev/archive-2009-12/0347.shtml>.

* subversion/tests/cmdline/copy_tests.py
  (reverse_merge_move): Also check the result of updating a second WC.

Found by: Alan Spencer <alan.spencer{_AT_}rockalltech.com>
Suggested by: julianfoad
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>


r902841 | julianfoad | 2010-01-25 09:33:16 -0600 (Mon, 25 Jan 2010)

New XFail test case for reverse merge move scenario. Rename fails after
reverting a commit using reverse merge. This issue need to be fixed for
the test case to pass.

See the email thread <http://svn.haxx.se/dev/archive-2009-12/0347.shtml>.

* subversion/tests/cmdline/copy_tests.py
  (reverse_merge_move): New function.
  (test_list): Added test.

Found by: Alan Spencer <alan.spencer{_AT_}rockalltech.com>
Suggested by: julianfoad
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>