Kamesh Jayachandran <kamesh@collab.net> (kameshj)


Found Patch Review Suggested
r22621, r22318, r21916, r21856, r21853, r21851, r21842, r21589, r21511, r21384, r21047, r20810, r20759, r20484, r20464, r20359, r20187, r18538 r25124, r24779, r24664, r24481, r24375, r24201, r23818, r23740, r23576, r23488, r23372, r23360, r23302, r23283, r23211, r23049, r22902, r22756, 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 r25112, r25068, r22402, r22131, r22119, r22020 r24350, r22947, r22901, r22885, r22770, r22767, r22766, r22765, r22764, r22750, r22412, r22371, r22360, r22130, r21900, r21585, r21563, r21262, r20809, r18761, r18372

r25124 | kameshj | 2007-05-23 12:59:58 -0500 (Wed, 23 May 2007)

SVN config section option names are treated in a case insensitive way. This
breaks autoprops setting on a patterns which differs only in case.

Changing the SVN config parser code to be case sensitive would be backward 
incompatible change.

So we tackle this problem by making the autoprops match for pattern and 
filename to be case-insensitive.

<snip>
$cat ~/.subversion/config
[miscellany]
enable-auto-props = yes

[auto-props]
makefile* = svn:eol-style=native
Makefile* = svn:eol-style=native 
maKEfile = foo=bar
</snip>

Only files matching 'makefile*' are getting autoprops set as it is defined first.

With this change makefile will be set with a auto-prop 'foo' with a value 'bar',
i.e last autoprops setting will be taken.

* subversion/libsvn_client/add.c
  (auto_props_enumerator): Update docstring for this new approach.
   Call apr_fnmatch with a flag 'APR_FNM_CASE_BLIND'.

* subversion/libsvn_subr/config_file.c
  (svn_config_ensure): The default config file to mention about auto-props's 
   case insensitive match of file with a pattern.

Patch by: me
          dlr
Approved by: malcolm
             dlr


r25112 | dlr | 2007-05-22 18:28:12 -0500 (Tue, 22 May 2007)

Keep 'svn merge' (no arguments) backward compatible to avoid the
situation where a user types 'svn merge' to attempt to get help, and
is unpleasantly surprised by the execution of a merge operation.

* subversion/tests/cmdline/merge_tests.py
  (mergeinfo_inheritance_and_discontinuous_ranges): Pass the
   --suggested-source option to the 'svn merge' command.

* subversion/svn/merge-cmd.c
  (svn_cl__merge): Return an error if both a merge source and the
   --suggested-source option are not specified.

* subversion/svn/cl.h
  (svn_cl__longopt_t): Add an svn_cl__suggested_source_opt enum value..
  (svn_cl__opt_state_t): Add a suggested_src boolean field.

* subversion/svn/main.c
  (svn_cl__options): Add a "suggested-source" option.
  (svn_cl__cmd_table): Associate the --suggested-source option with
   'merge' operations.
  (main): Handle the svn_cl__suggested_source_opt option.

Reviewed by: markphip
             kameshj
             pburba
             cmpilato


r25068 | dlr | 2007-05-19 14:11:55 -0500 (Sat, 19 May 2007)

More changes necessary to fix issue #2769, to allow for removal of "N"
or "all" merge sources for a path.

Note: Users of (currently unreleased) APR 1.3.0 will require at least
r538391 from the ASF's Subversion repository to make apr_array_clear()
available.

* subversion/libsvn_fs_util/mergeinfo-sqlite-index.c
  Include svn_compat.h for the APR_VERSION_AT_LEAST() macro.
  (get_merge_info_for_path): Add declaration to allow for forward
   reference.
  (no_mergeinfo): New constant representing "no merge info".
  (index_path_merge_info): Support removal of all merge sources for a
   path.
  (parse_mergeinfo_from_db): Filter out invalid revision numbers,
   which are assumed to represent dummy records indicating that a
   merge source has no merge info.

* subversion/libsvn_subr/mergeinfo.c
  Include ctype.h.
  (parse_revision, parse_revision_line): Include range list in error text.
  (parse_revlist): Don't return an error when an empty revision list
   is encountered for a merge source.  This is expected, in the case
   where other merge sources still have revision lists, but the merge
   source in question does not.  Include range list in error text.

* subversion/libsvn_client/merge.c
  Include apr_tables.h and apr_hash.h.
  (adjust_mergeinfo_source_paths): New function that adjusts merge
   source paths.  Factored out of get_wc_merge_info().
  (get_wc_merge_info, get_wc_or_repos_merge_info, mergeinfo_elides,
   svn_client__elide_mergeinfo, calculate_merge_ranges,
   update_wc_merge_info): Account for potentially NULL merge info.
   Adjust doc string accordingly.

* subversion/libsvn_client/copy.c
  (extend_wc_merge_info, wc_to_repos_copy): Account for potentially
   NULL merge info.

* subversion/libsvn_client/mergeinfo.h
* subversion/libsvn_client/mergeinfo.c
  (svn_client__parse_merge_info): Return NULL merge info if there is
   no merge info set on WCPATH.  Adjust doc string accordingly.

* subversion/tests/libsvn_subr/mergeinfo-test.c
  (NBR_BROKEN_MERGEINFO_VALS): Decrement to 4.
  (broken_mergeinfo_vals): Remove "/missing-revs-with-colon: " test case.
  (mergeinfo7): Add a multi-line merge info with empty range lists.
  (test_parse_multi_line_mergeinfo): Use mergeinfo7.

Review by: kameshj


r24779 | pburba | 2007-04-25 12:29:25 -0500 (Wed, 25 Apr 2007)

Support implied merge source and revisions.

* subversion/svn/main.c
  (svn_cl__cmd_table): Update help text for merge subcommand.

* subversion/svn/merge-cmd.c
  (svn_cl__merge): Determine implied merge source and/or revision.

* subversion/libsvn_client/client.h
  (svn_client__oldest_rev_at_path): New function.
  (svn_client__get_copy_source): New function.

* subversion/libsvn_client/copy.c
  (revnum_receiver): Moved to subversion/libsvn_client/log.c.
  (get_implied_merge_info): Implementation to find the rev at which a
  given path is created has been moved to 'svn_client__oldest_rev_at_path'.
  This function calls 'svn_client__oldest_rev_at_path'.

* subversion/libsvn_client/log.c
  (revnum_receiver): Moved from subversion/libsvn_client/copy.c.
  (svn_client__oldest_rev_at_path): New function.
  (struct copy_source_baton): New baton to hold the copy_source_path.
  (copy_source_receiver): New function.
  (svn_client__get_copy_source): New function.

* subversion/libsvn_client/merge.c
  (assume_default_rev_range): New function.
  (do_merge, do_single_file_merge): Deduce the revison range to merge if 
  not provided.
  (svn_client_merge_peg3): Deduce source if not given. Fix the error message
  for 'undeterminable source URL'

* subversion/tests/cmdline/merge_tests.py
  (merge_with_implicit_target_helper): Allow implicit merge URL and revisions.
  (merge_with_implicit_target_and_revs): New test.
  (test_list): add new 'merge_with_implicit_target_and_revs' test.

Patch by: kameshj
          dlr
------------------------------------------------------------------------

r24664 | dlr | 2007-04-19 14:47:40 -0500 (Thu, 19 Apr 2007)

A follow-up to r23397, fixing svn_client_merge3() to initialize its
local "children_with_mergeinfo" variable when the repository URLS are
not the same.  This avoids passing garbage on to do_merge().

* subversion/libsvn_client/merge.c
  (do_merge): Change doc string to indicate that
   CHILDREN_WITH_MERGEINFO can be NULL, and fix the code to check for
   not-NULL before dereferencing it.
  (svn_client_merge3): Set children_with_mergeinfo to NULL when
   appropriate.

Patch by: kameshj
          me


r24481 | maxb | 2007-04-06 06:31:29 -0500 (Fri, 06 Apr 2007)

Fix erroneous references to 'next-id' in the BDB code. The special key name is
actually 'next-key'.

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

* subversion/libsvn_fs_base/bdb/txn-table.c
  (svn_fs_bdb__open_transactions_table): Fix comment.
  (svn_fs_bdb__get_txn_list): Fix comment and local variable name.

* subversion/libsvn_fs_base/bdb/copies-table.c
  (svn_fs_bdb__open_copies_table, svn_fs_bdb__reserve_copy_id): Fix comments.

* subversion/libsvn_fs_base/bdb/nodes-table.c
  (svn_fs_bdb__open_nodes_table): Fix comment.


r24375 | bhuvan | 2007-04-03 05:11:54 -0500 (Tue, 03 Apr 2007)

Make the file system check function consistent across FSFS and BDB
implementation.

* subversion/libsvn_fs_fs/err.c
  (svn_fs_fs__check_fs): Check for fs->fsap_data variable to make it 
  consistent with the BDB counterpart.

Patch by: kameshj
          me
Approved by: malcolm


r24350 | dlr | 2007-04-02 17:35:53 -0500 (Mon, 02 Apr 2007)

Initial framework to share the utility functions used by FSFS and BDB
file systems, with the goal of avoiding duplicate code in FS backend
implementations.

It includes a new libsvn_fs_util library to define the functions used by
both FSFS and BDB file systems. For now, svn_fs__canonicalize_abspath()
function, a replacement for svn_fs_fs__canonicalize_abspath() and
svn_fs_base__canonicalize_abspath() functions is defined here.  It
should be extended for other shared functions as well.

* subversion/libsvn_fs_base/tree.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  (open_path, get_dag, add_change, change_txn_merge_info,
   base_node_history): Rename svn_fs_base__canonicalize_abspath() function
   as svn_fs__canonicalize_abspath() function.

* subversion/libsvn_fs_base/fs.c
  svn_fs_base__canonicalize_abspath(): Remove.

* subversion/libsvn_fs_base/fs.h
  Bump copyright year to 2007.
  svn_fs_base__canonicalize_abspath(): Remove.

* subversion/libsvn_fs_base/lock.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  (svn_fs_base__lock, svn_fs_base__unlock, svn_fs_base__get_lock,
   svn_fs_base__get_locks): Rename svn_fs_base__canonicalize_abspath()
   function as svn_fs__canonicalize_abspath() function.

* subversion/libsvn_fs_base/dag.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  (svn_fs_base__dag_copy): Rename svn_fs_base__canonicalize_abspath()
   function as svn_fs__canonicalize_abspath() function.

* subversion/libsvn_fs_util/fs-util.c
  New library for defining the functions which could be used by FSFS and
  BDB libraries. For now, we have defined svn_fs__canonicalize_abspath()
  function.

* subversion/include/private/svn_fs_util.h
  New header file for declaring the functions which could be used by
  FSFS and BDB file systems. For now, we have declared
  svn_fs__canonicalize_abspath() function used to canonicalize the
  absolute path.

* subversion/tests/libsvn_fs_base/fs-base-test.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  (canonicalize_abspath): Rename svn_fs_base__canonicalize_abspath()
   function as svn_fs__canonicalize_abspath() function and correct the
   msg appropriately.

* subversion/libsvn_fs_fs/tree.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  (open_path, get_dag, add_change, fs_change_node_prop, copy_helper,
   fs_node_history): Rename svn_fs_fs__canonicalize_abspath() function as
   svn_fs__canonicalize_abspath() function.

* subversion/libsvn_fs_fs/fs.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  svn_fs_fs__canonicalize_abspath(): Remove.

* subversion/libsvn_fs_fs/fs.h
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  svn_fs_fs__canonicalize_abspath(): Remove.

* subversion/libsvn_fs_fs/lock.c
  Include the private/svn_fs_util.h header file, and bump copyright year
  to 2007.
  (svn_fs_fs__allow_locked_operation, svn_fs_fs__lock,
   svn_fs_fs__unlock, svn_fs_fs__get_lock, svn_fs_fs__get_locks): Rename
   svn_fs_fs__canonicalize_abspath() function as
   svn_fs__canonicalize_abspath() function.

Patch by: bhuvan
Suggested by: kameshj


r24201 | dlr | 2007-03-27 15:23:10 -0500 (Tue, 27 Mar 2007)

Fix copy test #11 over DAV.

* subversion/libsvn_client/copy.c
  (get_implied_merge_info, calculate_target_merge_info): Remove FIXME
   comments.
  (wc_to_repos_copy): Remove FIXME comment.  Reparent the ra_session
   to repos_root, so that the subsequent svn_ra_get_log() calls for
   paths relative to repository root are successful.

* subversion/tests/cmdline/copy_tests.py
  (wc_to_repos): Don't skip the test over DAV, since it now passes.

Patch by: kameshj
Reviewed by: me


r23818 | dlr | 2007-03-14 11:52:02 -0500 (Wed, 14 Mar 2007)

On the merge-tracking branch: Refactor to remove redundant code, and
to improve style.

* subversion/libsvn_client/diff.c
  (find_wc_merge_info): Rename local variable "ranges" to "rangelist"
   to more obviously match the corresponding APIs.  Add inline
   comment.  Remove redundant "svn_path_is_empty(walk_path)" check.  

Patch by: kameshj
          me


r23740 | pburba | 2007-03-08 14:36:37 -0600 (Thu, 08 Mar 2007)

On the merge-tracking branch: Remove unused variables from mergeinfo-test.

* subversion/tests/libsvn_subr/mergeinfo-test.c
  (mergeinfo3, mergeinfo4): Removed global variables.

Patch by: kameshj
------------------------------------------------------------------------

r23576 | dlr | 2007-03-05 21:37:44 -0600 (Mon, 05 Mar 2007)

Log the revision range and all paths for 'log' operations.  A
companion to r23488.

* subversion/mod_dav_svn/reports/log.c
  Include svn_string.h.
  (dav_svn__log_report): Format a list of URI-encoded, comma-separated
   paths.  Log the paths and revision range, collapsing all "log"
   action variations ("log", "log-all", and "log-partial") into a
   single "log" action.

Patch by: kameshj
          me
Suggested by: Honey George <george@collab.net>


r23488 | dlr | 2007-02-23 15:38:15 -0600 (Fri, 23 Feb 2007)

Log the revision range for 'blame' operations.

* subversion/mod_dav_svn/reports/file-revs.c
  (dav_svn__file_revs_report): Log revision range for 'blame' command.

Patch by: kameshj
Suggested by: Honey George <george@collab.net>
Reviewed by: me


r23372 | dlr | 2007-02-09 13:11:52 -0600 (Fri, 09 Feb 2007)

Run the svnserve test instance on a random port to avoid colliding
with an existing instance of svnserve.

* subversion/tests/cmdline/svnserveautocheck.sh
  Run 'svnserve' on a random, unoccuppied port.
   
Patch by: kameshj
(Tweaked by me.)


r23360 | dlr | 2007-02-06 18:05:00 -0600 (Tue, 06 Feb 2007)

Add timing information to the svnserve test suite.

* subversion/tests/cmdline/svnserveautocheck.sh
  Use 'time' around invocation of the 'make check' rule (now invoking
  it directly, instead of going through 'make svncheck').

Patch by: me
          kameshj


r23302 | dlr | 2007-01-30 16:06:34 -0600 (Tue, 30 Jan 2007)

Improve operational logging.

Log revision numbers for 'checkout', 'export', 'status -u', 'update',
and 'list'.  Change output format for 'diff'/'merge'; if "from" and
"to" are the same, log as '/canonical/path' rSTART:END.  Otherwise,
log using a peg-rev style syntax, '/canonical/src@START'
'/canonical/dest@END'.

* subversion/mod_dav_svn/repos.c
  (do_walk): Add revision number for "list-dir" log output.

* subversion/mod_dav_svn/reports/update.c
  (dav_svn__update_report): Add revision number(s) for "switch",
   "diff-or-merge", "checkout-or-export", "update", and
   "remote-status".  Add new collapsed output format for
   "diff-or-merge" with identical "from" and "to" paths.

Patch by: kameshj
          me
Suggested by: Honey George <george@collab.net>
              me


r23283 | dlr | 2007-01-29 16:57:23 -0600 (Mon, 29 Jan 2007)

On the merge-tracking branch: Avoid making any prop changes when the
--record-only and --dry-run options are used together.

* subversion/libsvn_client/diff.c
  (do_merge, do_single_file_merge): Handle additional option
   permutation.  Remove TODO item about support of sub-tree merge
   info.

Patch by: kameshj
(Tweaked by me.)


r23211 | dlr | 2007-01-24 11:45:09 -0600 (Wed, 24 Jan 2007)

On the merge-tracking branch: Fix merge tests #18 and #41, which were
failing due to abort()'s from an error leak.

* subversion/libsvn_client/prop_commands.c
  (wc_walker_error_handler): Clear the suppressed error.

Patch by: kameshj
Found by: me


r23049 | dlr | 2007-01-16 14:53:24 -0600 (Tue, 16 Jan 2007)

On the merge-tracking branch: Handle repeated merges on working copy
targets whose children have differing merge info than the target
itself.

* subversion/libsvn_client/diff.c
  (do_merge): Accept 'children_with_mergeinfo' hash whose keys are paths
   having 'svn:mergeinfo' property.  Exclude the 'overlapping' sub
   path of current merge target by calling 'no op set-path' on it.
  (do_child_merges): New function which gets the list of children with
   merge info, performing the appropriate merges for each child.
  (svn_client_merge3, svn_client_merge_peg3): Create an empty
   'children_with_mergeinfo' hash, and fill it with the help of
   'do_child_merges'.  Do child merges before doing the actual merge.
   Call 'do_merge' with its new signature.

* subversion/tests/cmdline/merge_tests.py
  (avoid_repeated_merge_on_subtree_with_merge_info): Fix inline
   comments. Fix expected_output for 'repeat merge case' (we should
   get 'U copy_of_B/F/E/alpha').  Record merge info on merge target
   'copy_of_B'.  Record merge info on 'copy_of_B/F/E'.  Merge
   'copy_of_B/F/E/alpha'.
  (test_list): Expect 'avoid_repeated_merge_on_subtree_with_merge_info'
   to pass.
   
Patch by: kameshj
(Tweaked by me.)
Reviewed by: me
Suggested by: cmpilato
              me


r22947 | malcolm | 2007-01-09 12:45:53 -0600 (Tue, 09 Jan 2007)

When executing commands as part of the test framework, if a command
fails due to a signal (coredump, etc), output the stdout and stderr
before raising the exception, to aid debugging.

* subversion/tests/cmdline/svntest/main.py
  (run_command_stdin): Write stdout_lines and stderr_lines to stdout
    and stderr before raising an exception.

Suggested by: madanus
              kameshj
Patch by: djames


r22902 | dlr | 2007-01-04 11:36:54 -0600 (Thu, 04 Jan 2007)

On the merge-tracking branch: Fix two test failures over ra_svn.

* subversion/tests/cmdline/merge_tests.py
  (simple_property_merges, avoid_repeated_merge_using_inherited_merge_info): 
   Remove FIXME markers.

* subversion/svnserve/serve.c
  (get_merge_info): Fix the canonical_paths list population.

Patch by: kameshj


r22901 | dlr | 2007-01-04 10:51:07 -0600 (Thu, 04 Jan 2007)

On the merge-tracking branch: A follow-up to r22885.

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (check_format): Fix spelling in doc string and indentation level for
   the "not recognized" error's message.

Suggested by: kameshj


r22885 | dlr | 2007-01-03 14:45:32 -0600 (Wed, 03 Jan 2007)

On the merge-tracking branch: Support automatic creation of the sqlite
merge info index, resulting in automatic migration of repositories
created by Subversion libraries < version 1.5.

When opening a connection to the merge info database, use sqlite's
"user_version" PRAGMA <http://www.sqlite.org/pragma.html#version> to
validate our schema's version.  (Note that we do *not* use the
"schema_version" PRAGMA, which is for internal use by sqlite itself
when making modifications to a database's schema.)

* subversion/libsvn_fs_util/merge-info-sqlite-index.c
  (MERGE_INFO_INDEX_SCHEMA_FORMAT, MERGE_INFO_INDEX_SCHEMA_FORMAT_STR):
   The version number of the schema used to store the merge info index.
  (check_format): Validate schema format.
  (open_db): Create the schema if it didn't already exist.
  (svn_fs_merge_info__create_index): Remove explicit invocation of
   SVN_MTD_CREATE_SQL, which is now handled by open_db().

Suggested by: malcolm
              kameshj


r22770 | dlr | 2006-12-20 09:25:53 -0600 (Wed, 20 Dec 2006)

* subversion/libsvn_client/copy.c
  (wc_to_wc_copy): Use iterpool in one more spot.

Suggested by: kameshj
Review by: hwright


r22767 | dlr | 2006-12-20 08:20:12 -0600 (Wed, 20 Dec 2006)

* subversion/libsvn_ra_dav/README
  Clarify description of dual Neon sessions.  Change statusses ->
  statuses.

Suggested by: kameshj


r22766 | dlr | 2006-12-20 08:11:28 -0600 (Wed, 20 Dec 2006)

A follow-up to r22762 with stylistic tweaks.

* subversion/tests/cmdline/copy_tests.py
  (move_multiple_wc, copy_multiple_wc): Remove space-before-paren with
   extreme prejudice.

Suggested by: kameshj


r22765 | dlr | 2006-12-20 08:06:12 -0600 (Wed, 20 Dec 2006)

A follow-up to r22762 with a pool usage, documentation, and stylistic
tweak for WC -> WC 'copy' operations.

* subversion/libsvn_client/copy.c
  (wc_to_wc_copy_single): Tweak doc string to indicate that POOL
   should be used only for temporary allocations (since it's an
   iterpool).  Add missing space character.
  (wc_to_wc_copy): Rename "subpool" to "iterpool".  Use the sub-pool
   in the first loop, when iterating over each copy target to perform
   verification on src and dest.  Add in-line comment.

Suggested by: dionisos
              kameshj


r22764 | dlr | 2006-12-20 00:34:47 -0600 (Wed, 20 Dec 2006)

A follow-up to r22761.

* subversion/libsvn_ra_dav/README
  Tweak wording.

Suggested by: kameshj


r22756 | dlr | 2006-12-19 14:47:29 -0600 (Tue, 19 Dec 2006)

On the merge-tracking branch: Fix the error introduced in r22732 which
causes get-merge-info REPORT requests to segfault on the client-side.

* subversion/libsvn_ra_dav/mergeinfo.c
  (svn_ra_dav__get_merge_info): Pass a 'svn_ra_dav__session_t *' to
   svn_ra_dav__parsed_request().

Patch by: kameshj
Reviewed by: me
Found by: madanus


r22750 | dlr | 2006-12-18 19:13:42 -0600 (Mon, 18 Dec 2006)

A follow-up to r22728 fixing some formatting.

* subversion/bindings/java/javal/native/SVNClient.cpp
  (SVNClient::diffSummarize): Replace tabs with spaces.

Suggested by: kameshj


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>