Lieven Govaerts <> (lgo)

Found Patch Suggested
r21726, r21641, r19620, r19591 r22020, r21909, r21685, r21638, r21591, r21277, r20926, r20845, r20759, r20276, r20053, r20008, r19652, r19632, r19562, r19506, r19143, r19040, r18504, r18465 r19192, r19181, r15631

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

* subversion/tests/cmdline/
  (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.

r21909 | kfogel | 2006-10-12 18:25:44 -0500 (Thu, 12 Oct 2006)

On the incomplete-directories branch:

Add a regression test for bringing a directory into a depth-0 working copy.

Patch by: lgo

* subversion/tests/cmdline/
  (depth_zero_with_dir): New name for depth_zero_bring_in_dir, and
    fill in the code for this test.
  (test_list): Adjust for new name, but keep as XFail for the moment.

r21726 | dionisos | 2006-10-01 08:44:47 -0500 (Sun, 01 Oct 2006)

Followup to r21720: fix more checksum problems on replace-with-history
file updates.

* subversion/libsvn_wc/update_editor.c
  (apply_textdelta): Don't compare base checksum if the file was a
   revert-base; we don't keep their checksums around (yet).

* subversion/tests/cmdline/
  (update_wc_with_replaced_file): Fix followup path after the point where
   we used to fail.
  (test_list): Unmark update_wc_with_replaced_file XFail; it passes now.

Found by: lgo

r21685 | dlr | 2006-09-27 17:03:14 -0500 (Wed, 27 Sep 2006)

Fix issue #2533 (really this time), making 'svn status -u' show
remotely changed properties on the root of a working copy (now without
pesky double status output for paths at the root of the WC with

This commit reverts portions of r21638.

* subversion/libsvn_wc/status.c
  (close_directory): Store remote prop changes for the root of our
   working copy as flag's on the edit baton's anchor_status field,
   rather than as status changes of the current directory (which
   proved problematic for the algorithms used for status output).

  (tweak_statushash): Undo skip of the test for issue #2122 on the
   root directory (added by r21638).

* subversion/tests/cmdline/
  (test_list): Remove the XFail wrapper from the
   status_update_with_incoming_props() test.

Patch by: lgo
Found by: pburba

r21641 | dlr | 2006-09-25 17:33:36 -0500 (Mon, 25 Sep 2006)

A follow-up to the fix for issue #2533 (r21638), correcting the
expectations of status test #18 to account for the proper 'svn status -u'
behavior on the root directory of the WC.

* subversion/tests/cmdline/

  (status_ignored_dir): Expect to see a status line for both the
   directory which was added (remotely) and ignored (locally), and its
   parent (the root of the WC).

Found by: lgo

r21638 | dlr | 2006-09-25 15:48:09 -0500 (Mon, 25 Sep 2006)

Fix issue #2533, making 'svn status -u' show remotely changed
properties on the root of a working copy.

* subversion/libsvn_wc/status.c
  (close_directory): Store remote prop changes for the root of our
   working copy as status changes of the current directory (rather
   than of the parent directory).

  (tweak_statushash): Skip the test for issue #2122 on the root
   directory.  Use adm_access when creating statusstruct (as required
   by its doc string and provided by all other callers).

* subversion/tests/cmdline/
  (status_update_with_incoming_props): Put the expected output of
   'svn status -u' in the correct order.

  (test_list): This test is passing now, so remove the XFail wrapper.

Patch by: lgo
(Tweaked by me.)

r21591 | dlr | 2006-09-21 13:26:29 -0500 (Thu, 21 Sep 2006)

* subversion/libsvn_subr/path.c
  (svn_path_join_many): Reuse local variable "len" instead of
   recalculating a string's length.

  (svn_path_is_ancestor): Fix typo in inline comment.

Patch by: lgo

r21277 | lgo | 2006-08-26 15:33:01 -0500 (Sat, 26 Aug 2006)

Prepare fix for issue #2556: abstract root folder checks in svn_path_is_root. 
Add support for 'X:/' as a root folder on Windows.

Patch by: me
Review by: brane
(brane & dionisos basically helped me write the patch)
Approved by: dionisos

* subversion/include/svn_path.h
  (svn_path_is_root): New function declaration.
  (svn_path_is_empty): Added comment.

* subversion/libsvn_client/commit.c
  (svn_client_commit4): make sure to abort when the iterating through the 
   parent folders passese the root folder.

* subversion/libsvn_subr/path.c
  (svn_path_is_root): New function. Tests for all forms considered canonical 
   root specs on the platform at hand ('/', 'X:/' etc.)
  (is_canonical): 'X:/' syntax on Windows is canonical.
  (svn_path_join, svn_path_dirname, svn_path_basename, 
   svn_path_join_many, previous_segment, 
   get_path_ancestor_length): Support the new type of root path on Windows, 
    mostly by replacing direct comparisons of path and '/' with a call to 
  (svn_path_canonicalize): don't strip the trailing slash if the path is 
   of the 'X:/' syntax.

* subversion/tests/libsvn_subr/path-test.c
  (test_is_root): New test for validation of svn_path_is_root.
  (test_path_split, test_join, 
   test_basename, test_remove_component): add extra cases for 'X:/'.
  (test_funcs): run the new test test_is_root.

r20926 | lgo | 2006-08-01 11:15:51 -0500 (Tue, 01 Aug 2006)

Add the help text for the new extensions added in 1.4: 
'-b (--ignore-space-change)', '-w (--ignore-all-space)' and 

Patch by:    me
(kfogel improved the description)
Approved by: rooneg

* subversion/svn/main.c
  (svn_cl__options): add description of the extensions.

r20845 | lgo | 2006-07-24 16:44:11 -0500 (Mon, 24 Jul 2006)

XFail test for behaviour of update when receiving content and eol style changes.

Patch by: me
(dionisos made tweaks)

* subversion/tests/cmdline/
  (update_eolstyle_handling): New test.
  (test_list): add the new test, mark it as XFail.

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

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

* subversion/tests/cmdline/
  (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
          Kamesh Jayachandran <>

r20276 | rooneg | 2006-06-28 09:06:46 -0500 (Wed, 28 Jun 2006)

Fix for issue 2576: Don't lock the base folder twice when committing
overlapping targets non-recursively.

Patch by: lgo

* subversion/libsvn_client/commit.c
  (svn_client_commit3): Add extra checks to avoid adding the base folder
   to dirs_to_lock.  Catch a potential stack overflow on Windows in a
   "this should not happen" situation, abort() instead.

* subversion/tests/cmdline/
  (commit_same_folder_in_targets): New test
  (test_list): Run the new commit test. 

r20053 | dionisos | 2006-06-12 14:04:24 -0500 (Mon, 12 Jun 2006)

Add test for blaming CR-only files (as fixed in r20052).

Patch by: lgo

* subversion/tests/cmdline/
  (blame_eol_styles): New. Test blame of file with CR line endings.
  (test_list): Add blame_eol_styles.

r20008 | lundblad | 2006-06-08 15:58:10 -0500 (Thu, 08 Jun 2006)

Fix issue #2566: checkout with unreadable subdirectories over ra_svn
can cause broken working copies.

NOTE: This change adds two new editor commands to the svn:// protocol,
requiring updates to both client and server.

Found by: Alx <>

Patch by: lgo
(lgo wrote the test case)

* subversion/include/svn_ra_svn.h

* subversion/libsvn_ra_svn/client.c
  (auth_response, open_session): Announce absent-entries capability.

* subversion/libsvn_ra_svn/protocol
  (2.1): Describe absent-entries capability.
  (3.1.2): Describe new absent-dir and absent-file commands.

* subversion/libsvn_ra_svn/editorp.c
  (ra_svn_absent_dir, ra_svn_absent_file): New functions.
  (svn_ra_svn__get_editorp): Set editor absent_directory and absent_file
  (ra_svn_handle_absent_dir, ra_svn_handle_absent_file): New functions.
  (ra_svn_edit_cmds): Add entries for absent-dir and absent-file.

* subversion/svnserve/serve.c (serve): Announce support for absent-entries

* subversion/tests/cmdline/
  (authz_checkout_and_update_test): New test.
  (test_list): Run the above.

r19652 | lundblad | 2006-05-16 05:14:59 -0500 (Tue, 16 May 2006)

Authz test for locking: try to lock a file that's readonly. 
This test is also a test for issue 2548, which was fixed in r19620.

Patch by: Lieven Govaerts <>

* subversion/tests/cmdline/
  (authz_write_access): Extend to try to lock a read-only file.

r19632 | rooneg | 2006-05-12 13:50:38 -0500 (Fri, 12 May 2006)

Add extra tests for authz validation (cat, log and checkout).

Patch by: Lieven Govaerts <>

* subversion/tests/cmdline/
  (authz_read_access): Added testcases for user specific access rights,
   cleaned up some unused variables.
  (authz_checkout_test): New authz test for checkouts
  (authz_log_test): New authz test for log
  (test_list): Add new tests.

r19620 | lundblad | 2006-05-11 16:11:39 -0500 (Thu, 11 May 2006)

Fix ra_svn hang (client waiting on server) caused by svnserve protocol
error. Problem scenario:
1. Client sends lock-many command with some file(s) to lock.
2. Server encounters an error, sends it, but fails to also send "done".
3. Client reads the error and continues to read, waiting for "done".

Found by: Lieven Govaerts <>
Review by: dlr

* subversion/svnserve/serve.c
  (lock_many): Return authz error after the final "done" token, as
   required by the protocol.

r19591 | dlr | 2006-05-09 15:00:15 -0500 (Tue, 09 May 2006)

A follow-up to r19581 and r19584, adjusting output expected by a test.

* subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
  Update expected help text for the 'log' command.

Found by: Lieven Govaerts <>

r19562 | rooneg | 2006-05-08 15:27:39 -0500 (Mon, 08 May 2006)

Add extra tests for authz validation

Patch by: Lieven Govaerts <>

* subversion/tests/cmdline/
  (authz_read_access): new authz test for read access
  (authz_write_access): new authz test for write access
  (test_list): Add new tests.

r19506 | lundblad | 2006-05-04 03:38:51 -0500 (Thu, 04 May 2006)

Follow-up to r19486.  Fix test failures on Windows.

Patch by: me
          Lieven Govaerts <>
(I wrote, they tested.)

* subversion/tests/cmdline/ (checkout_broken_eol):
  Ensure that the dumpfile is read in binary mode and compensate for the
  fact that run_and_verify_checkout will check the file contents
  by reading them in *text* mode...

r19192 | rooneg | 2006-04-05 17:19:12 -0500 (Wed, 05 Apr 2006)

* build.conf
  (test-scripts): Add

Suggested by: Lieven Govaerts <>

r19181 | rooneg | 2006-04-04 17:27:30 -0500 (Tue, 04 Apr 2006)

* subversion/tests/cmdline/ Set svn:eol-style to native.

Suggested by:  Lieven Govaerts <>

r19143 | rooneg | 2006-04-03 16:12:15 -0500 (Mon, 03 Apr 2006)

Fix for issue #2486: Svnserve 1.3 authz: writing on subfolder requires read
access on repository root.  Removed overly restrictive tests for read access
when opening root or opening a directory.

Patch by: Lieven Govaerts <>

* subversion/libsvn_repos/commit.c:
  (open_root): removed check on read access
  (open_directory): removed check on read access

* subversion/tests/cmdline/
  new file, contains tests for issue #2486.

* subversion/tests/cmdline/svntest/
  (run_and_verify_commit): add --username and --password parameters to the

* subversion/tests/cmdline/svntest/
  (get_authz_file_path): new function
  (get_svnserve_conf_file_path): new function

* subversion/tests/libsvn_repos/repos-test.c:
  (commit_editor_authz): removed a now obsolete part of the test.

r19040 | mbk | 2006-03-26 09:26:13 -0600 (Sun, 26 Mar 2006)

Constrain schedule_tests 25 (delete_non_existent) to a test WC.

This prevents unpleasantness such as WC-format bumps in the source WC.

Patch by: Lieven Govaerts <>

* tests/cmdline/
  (delete_non_existent): chdir before running svn.

r18504 | rooneg | 2006-02-17 13:26:27 -0600 (Fri, 17 Feb 2006)

Add svnauthz-validate, a tool for validating the correctness of an authz
config file.

Patch by: Lieven Govaerts <>
(Tweaked by me.)

* tools/client-side/svnauthz-validate.c: New file.

r18465 | julianfoad | 2006-02-14 19:08:01 -0600 (Tue, 14 Feb 2006)

Fix issue #1780: "Keyword values with dollar signs cause badness".  Any '$'
signs in a keyword value are handled correctly except as the first character
or immediately after a space, which is all that can be done without a quoting

Patch by: Lieven Govaerts <>
(tweaked by me)

* subversion/libsvn_subr/subst.c
  (translate_chunk): Keep searching for next '$' in the value of a valid
    expanded keyword until a well-formed value is found or search limits
    are reached.
  (match_keyword): New local function that matches a valid keyword.
  (translate_keyword): Add keyword_name parameter.  Move keyword matching
    to match_keyword().

* subversion/tests/libsvn_wc/translate-test.c
  (lines): Add lines to test on '$' in Author and URL keywords.
  (substitute_and_verify): Handle the new test lines.

r15631 | lundblad | 2005-08-08 09:35:32 -0500 (Mon, 08 Aug 2005)

Tweak the svn log --xml output to be more valid.

Suggested by: Lieven Govaerts <>

This change makes the author and date elements in logentry optional, which they
should have been since the beginning.  While here, we also make the DTD
slightly stricter regarding the path element in paths elements to avoid
confusion.  We also ensure that an empty date element is not output even if
the date string is empty, which the API allows.

NOTE: This change makes the DTD looser, which might break scripts, but I
consider the previous content model of logentry to be buggy.

* subversion/clients/cmdline/log-cmd.c (log_message_receiver_xml): Avoid
  outputting an empty date element.

* subversion/clients/cmdline/dtd/log.dtd (logentry): Make author and
  date optional.
  (paths): Require at least one path element (the paths element itself
  is optional and it makes no sense to have two ways to express the same

* subversion/tests/clients/cmdline/
  (log_xml_empty_date): New test.
  (test_list): Run it.

* subversion/tests/clients/cmdline/
  (revprop_change): Factor out some code from here...
* subversion/tests/clients/cmdline/svntest/
  (enable_revprop_changes): ... to here.