Checkout Tools
  • last updated 5 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 873322 is being indexed.

Windows standards dictate drive letters are in upper case, so let's

make svn_path_canonicalize do the same. Our test suite expects the same

as it does case sensitive compares on normalized paths.

Suggested by: rhuijben

* subversion/libsvn_subr/path.c

(svn_path_canonicalize): Change drive letter to upper case instead of


* subversion/tests/libsvn_subr/path-test.c


test_is_canonical): Update the 'drive letter' test cases.

Add a blank column to the "svn status" output after the first six columns,

to make way for a tree-conflict status indication.

* subversion/svn/status.c

(print_status): Print an extra blank.

* subversion/tests/cmdline/,





Wherever a particular status output is expected: Expect an extra blank.

* subversion/tests/cmdline/svntest/

(build_tree_from_status): Expect an extra blank.

* subversion/libsvn_subr/path.c


Follow up to r33245; spelling fix and wrap lines at 80 characters.

Follow up r33240 with a fix for the canonicalization of UNC server names.

This should handle the Windows buildbot test failures.

* subversion/libsvn_subr/path.c

(svn_path_canonicalize): Fix decision on when a path is UNC or not.

* subversion/tests/libsvn_subr/path-test.c


test_is_canonical): Add some basic test cases.

Fix issue #3219: add a line in the help text of 'svnsync init' explaining the

new (since 1.5) possibility to sync only a part of a source repository.

* subversion/svnsync/main.c

(svnsync_cmd_table): Add line about the source URL in 'initialize' section.

On the 'svnpatch-diff' branch:

* subversion/include/svn_client.h

(svn_client_diff4, svn_client_diff_peg4): Mark with SVN_DEPRECATED.

* subversion/libsvn_subr/path.c: Fix typo in comment.
Allow to store/restore the current user marks

* trunk/contrib/client-side/emacs/psvn.el:

(svn-status-store-usermarks): New function bound to * s:

store the current set of user marks

(svn-status-load-usermarks): New function bound to * l:

load previously stored user marks

On Windows, convert the disc letter of file:// URIs and the server name of

UNC paths to lower case during canonicalization. This is in line with the

approach chosen to fix issue #2475.

* subversion/libsvn_subr/path.c

(svn_path_canonicalize): Convert drive letter if file:// URIs and server

name in UNC paths to lower case. Adds small optimization for checking

empty hostname paths.

* subversion/tests/libsvn_subr/path-test.c


test_is_canonical): Add extra test cases for file:// URIs and UNC paths.

On the 1.5.x-issue2489 branch:

* README.branch

(Revisions included): Record r33119 was reverted in r33233.

On issue-2897-take2 branch:

Merge r32478 through r33234 from trunk.

    • ?
    • ?
    • ?
    • ?
    • ?
    • ?
  1. … 410 more files in changeset.
On the 1.5.x-issue2489 branch:

* README.branch

(Revisions included): Record r33233, r33234.

Fix issue #2475: scheme and domain name in urls should be handled case


During canonicalization of urls, the scheme and domain name are now converted to

lower case. This is more practical than doing expensive url comparisons where we

use a simple strcmp right now.

As the entries files can now contain non-canonical urls, these will be

canonicalized during wc upgrade.

* subversion/libsvn_subr/path.c

(global): Include apr_uri.h

(svn_path_canonicalize): Convert the scheme and hostname part of a uri to lower


* subversion/include/svn_path.h

(svn_path_canonicalize): Add comment.

* subversion/libsvn_wc/wc.h

(SVN_WC__VERSION): Add comment on changes between wc format 9 and 10.

(SVN_WC__CHANGED_CANONICAL_URLS): Add new tag for wc format 10.

* subversion/libsvn_wc/entries.c

(read_url): New function that reads an url from an entries files and takes into

account the changed canonicalization in wc format 10.

(read_entry): Add argument entries_format for use when reading urls.

(read_entries): Read the format from the entries file.

* subversion/tests/libsvn_subr/path-test.c


test_is_canonical): Add some extra testcases for case insensitive scheme and


* subversion/tests/cmdline/

(change_case_of_hostname): Utility function, changes case of hostname

of an uri.


path_copy_in_repo_2475): New tests.

(test_list): Run the new tests, both pass.

Follow-up to r33229: Fix compilation on Windows.

* subversion/libsvn_client/externals.c

(handle_external_item_change): Move variable declaration to top of


On the 1.5.x-issue2489 branch:

Backport r33214 from trunk to 1.5.x-issue2489 branch which allows

to compile against D-Bus 0.*.

On the 1.5.x-issue2489 branch:

Backport r33182 from trunk to 1.5.x-issue2489 branch which reverts


On the explore-wc branch:

Further updates to a new revision_status() implementation based on the new

wc_db storage API.

* subversion/libsvn_wc/revision_status.c:

(struct status_baton): include the db handle

(analyze_status): only update the output revisions if we *have* a

revision number for the node. add code to set the sparse_checkout and

switched flags in the output structure (based on new APIs in wc_db.h)

(svn_wc_revision_status): initialize the "db" field in the baton

* subversion/include/private/svn_wc_private.h,

* subversion/libsvn_client/switch.c,

* subversion/libsvn_wc/adm_ops.c,

* subversion/svn/status.c,

* subversion/tests/cmdline/

Follow up to r33229; bump the copyright years.

* branches/file-externals:

Remove this branch, it was merged to the trunk in r33229.

Merge the file-externals branch back to trunk. This allows an

svn:externals to add a file into the working copy. It is implemented

as an 'touch foo; svn add foo; svn switch URL foo'.

  1. … 18 more files in changeset.

On the file externals branch.

* branches/file-externals:

Merge r33206 through r33227 from trunk.

  1. … 7 more files in changeset.
On the file externals branch.

Remove code duplication.

* subversion/libsvn_client/externals.c


Follow up to r33223. Replace the code that does the switch on the

file external with a call to svn_client__switch_internal().

On the explore-wc branch:

Small compilation fixes.

Note: strictly speaking, revision_status.c doesn't compile yet because it

doesn't have access to a "db" handle, nor the walker modes. That is an

expected failure, however.

* subversion/libsvn_wc/experiment.c:

(walker_func_t): return a pointer to svn_error_t

* subversion/libsvn_wc/revision_status.c: include the wc_db.h header

On the explore-wc branch:

Merge with latest from HEAD.

    • ?
    • ?
    • ?
    • ?
    • ?
  1. … 61 more files in changeset.
Update schema and API for returning info about BASE and WORKING.

* subversion/libsvn_wc/wc-metadata.sql3:

(NODE): add a depth column for recording how deep to checkout a directory.

(NODE_CHANGES): add a distinct "status" column, rather than overloading

the "kind" column; this also allows for recognizing delete/add

replacements nodes. add changed_* to record last-commit information

for copied/moved items.

* subversion/libsvn_wc/wc_db.h:

(svn_wc__db_status_t): add a "changed" status for when we note that the

text has changed. also separated the moved status for source and


(svn_wc__db__base_get_info): add changed_* information and depth.

(svn_wc__db_op_copy_url): rename (new semantic) of copyfrom_url to


(svn_wc__db_read_info): move repository-wide return args to the end

of the OUT params list. switch from url to repos_path. add changed_*

for the last-change information of copied/moved nodes.

On the file externals branch.

Prepare to remove code duplication in switch_file_external() that does

a switch on the file external by extending

svn_client__switch_internal() to take a write-locked wc access baton

to use since currently it opens its own write-locked access batons.

This will allow switch_file_external() to use it.

* subversion/libsvn_client/client.h


Take an additional svn_wc_adm_access_t * parameter.

* subversion/libsvn_client/switch.c


Take an additional svn_wc_adm_access_t * parameter. If it is

NULL, behave as before by opening and closing its own access

batons, otherwise, get the access batons it needs from the input




Pass NULL to svn_client__switch_internal()'s new parameter.

* subversion/libsvn_client/externals.c


Pass NULL to svn_client__switch_internal()'s new parameter.

In the ctypes-python-bindings branch:

* TODO: Update to reflect that we plan to accomplish these tasks after

we merge the ctypes-python-bindings to trunk. Also, remove

--release task, because I don't think we should include pregenerated

Python headers in the Subversion tarball.

On the explore-wc branch:

Some initial work on revamping revision_status to be based on the wc_db.h

storage subsystem.

* subversion/libsvn_wc/revision_status.c:

(analyze_status): Change signature to match walker_func_t from the

experiment.c file. Revamp internals to use wc_db.h APIs for fetching

information about the WORKING tree.

(svn_wc_revision_status): use walker function to determine the status of

the working copy, rather than the editor/walker emboded in the "status


* subversion/libsvn_wc/experiment.c:

(generic_walker): exit the walking loop if an error in the callback

occurs. added a couple comments.

Various schema updates and comments.

* subversion/libsvn_wc/wc-metadata.sql3:

(NODE): changed_* are now NOT NULL since we always get that information

from the server. The conflict_* and prop_reject columns are related to

the WORKING tree, so they have moved into NODE_CHANGES. The

changelist_id column is also related to WORKING, so it has moved, too.

(NODE_CHANGES): added a text_modified column to record if we've seen or

been told about a changed text. The copyfrom_* columns were renamed to

original_* since they will also record nodes that have been moved.

Added a text_id column to refer to the base text for a copied/moved

node, and a boolean to note that a move has occurred (which also

implies a NODE_CHANGES row on the original file that records a

deletion and a move). The conflict/reject columns have moved to this

table, too.

Rename a parameter (and altered semantic).

* subversion/libsvn_wc/wc_db.h:

(svn_wc__db_read_info): rename the ORIGINAL_URL parameter to

ORIGINAL_REPOS_PATH. Copies/moves will only occur within the same

repository, so we don't need a full URL. We just want to know the

original path within the repository.