Checkout Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Raise an error if someone tries to use -rPREV on a working copy at r0.

* subversion/libsvn_client/revisions.c (svn_client__get_revision_number):

Check for r0 before returning the previous revision.

* subversion/tests/cmdline/basic_tests.py

(diff_previous_revision_of_r0): New test case.

(test_list): Add the new test case.

Fixes #4532

  1. … 1 more file in changeset.
Refactor code a bit to make easier for reading.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Duplicate svn_error_create() call instead

of using goto statement.

Remove two more WC-NG transient api functions that should have been removed

a long time ago.

* subversion/include/private/svn_wc_private.h

(svn_wc__node_get_depth): Remove function with single caller.

(svn_wc__node_get_origin): Add depth output argument.

(svn_wc__node_is_status_deleted): Remove function without public caller.

* subversion/libsvn_client/commit.c

(get_ra_editor): Update commented out caller.

* subversion/libsvn_client/commit_util.c

(harvest_not_present_for_copy,

harvest_status_callback): Update caller.

* subversion/libsvn_client/copy.c

(wc_to_repos_copy,

try_copy): Update caller.

* subversion/libsvn_client/diff.c

(diff_repos_wc): Update caller.

* subversion/libsvn_client/merge.c

(filter_self_referential_mergeinfo): Update caller.

* subversion/libsvn_client/mergeinfo.c

(svn_client__get_wc_or_repos_mergeinfo_catalog): Update caller.

* subversion/libsvn_client/prop_commands.c

(svn_client_propget5,

get_remote_props): Update caller. Remove unneeded output arguments.

* subversion/libsvn_client/ra.c

(svn_client__repos_locations): Update caller.

(svn_client__ra_provide_base,

svn_client__ra_provide_props): Update callers that should probably look

at BASE instead of the copy origin.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Update caller.

* subversion/libsvn_client/util.c

(svn_client__wc_node_get_origin): Update caller.

* subversion/libsvn_wc/node.c

(svn_wc__node_is_status_deleted): Remove function, fold into caller.

(svn_wc__internal_get_origin): Add output argument handling.

(svn_wc__node_get_origin): Add output argument.

(svn_wc__node_was_moved_away): Add local implementation of

svn_wc__node_is_status_deleted.

* subversion/libsvn_wc/wc.h

(svn_wc__internal_get_origin): Add argument.

* subversion/tests/libsvn_wc/wc-test.c

(test_node_get_origin): Update caller.

  1. … 14 more files in changeset.
Update the last caller of an entry based revision api, to use the more well

defined get origin information function.

* subversion/include/private/svn_wc_private.h

(svn_wc__node_get_commit_base): Remove unused function.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Get the revision using the origin function.

* subversion/libsvn_wc/node.c

(svn_wc__internal_get_commit_base,

svn_wc__node_get_commit_base): Remove now unused functions.

* subversion/libsvn_wc/wc.h

(svn_wc__internal_get_commit_base): Remove unused function.

  1. … 3 more files in changeset.
Merge the inheritable-props branch back to trunk.

See http://svn.haxx.se/dev/archive-2012-09/0177.shtml

  1. … 68 more files in changeset.
Revise the svn_wc__node_get_commit_base_rev() API to be able to report a

whole location instead of just a revision; remove the _rev suffix. Part of

issue #4170 "Revision and URL go together".

* subversion/include/private/svn_wc_private.h,

subversion/libsvn_wc/wc.h,

subversion/libsvn_wc/node.c

(svn_wc__internal_get_commit_base_rev, svn_wc__node_get_commit_base_rev):

Add output parameters for repos_relpath/root_url/uuid. Rename to

svn_wc__internal_get_commit_base() and svn_wc__node_get_commit_base().

* subversion/libsvn_client/ra.c

(svn_client__ra_provide_base, svn_client__ra_provide_props): Update

callers, passing NULL for the extra output parameters.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Same.

  1. … 4 more files in changeset.
* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Convert path to local style in a few

error messages.

Remove entry_t usage from svn_client__get_revision_number(). Change this

function's behaviour so that it does not return a revision number of 0 for

added nodes, anymore. Instead, return an error when asked for a revision

number of an added node.

The diff and propget code paths still use a revnum of 0, which is now

accounted for outside of svn_client__get_revision_number(). Add comments to

mark the places.

* subversion/include/private/svn_wc_private.h,

* subversion/libsvn_wc/node.c

(svn_wc__node_get_commit_base_rev): New function.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Remove entry_t use, change behaviour as

described above.

* subversion/libsvn_client/diff.c

(diff_wc_wc): Handle errors returned by svn_client__get_revision_number()

upon added nodes by using a revnum of zero, as before this patch.

* subversion/libsvn_client/prop_commands.c

(svn_client_propget3): Do not try to determine a revnum for added nodes but

use 0 right away.

  1. … 4 more files in changeset.
Make svn error out gracefully when invalid revision keywords

(BASE|PREV|COMMITTED) are used with a URL, hereby extending to all

subcommands. Previously it was handled gracefully only for merge, diff,

copy, log.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): If the incoming path is a URL

demanding a wc revision argument, error out gracefully.

* subversion/libsvn_client/merge.c

(normalize_merge_sources): Remove the redundant checking code.

* subversion/libsvn_client/diff.c

(check_paths): Same.

* subversion/libsvn_client/log.c

(svn_client_log5): Same.

* subversion/libsvn_client/copy.c

(try_copy): Same.

Patch by: Kannan R <kannanr{_AT_}collab.net>

  1. … 4 more files in changeset.
Test out my new and fancy ASF commit priviledges by changing the copyright

wording in our license headers to reflect ownership by the ASF.

* NOTICE:

Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the ASF, and update the project website.

* everywhere:

Change license text to reflect ASF ownership.

  1. … 891 more files in changeset.
Fix a bug in svn_client__get_revision_number(). Contrary to its doc string,

it was setting the returned value to MIN(returned value, youngest_rev) even

when the input revision was an svn_opt_revision_number. Instead, only do the

MIN() when the to-be-returned value was obtained after talking to the

server.

This fixes issue #3400, since the YOUNGEST_REV variable in

svn_client__repos_locations() will now not be modified by

the calls to svn_client__get_revision_number() in that function.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number):

Set REVNUM to MIN(REVNUM, YOUNGEST_REV) only when REVISION was resolved

using the RA layer.

* subversion/tests/cmdline/export_tests.py

(export_HEADplus1_fails): New test.

(test_list): Run it.

  1. … 1 more file in changeset.
Remove another occurance of svn_wc__entry_versioned().

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Don't open an access baton to get an

entry, and adjust parameters to accept a wc context.

* subversion/libsvn_client/client.h

(svn_client__get_revision_number): Update docstring and params.

* subversion/libsvn_client/status.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/url.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/blame.c,

subversion/libsvn_client/log.c,

subversion/libsvn_client/update.c:

Update callers to provide absolute paths and wc contexts to

svn_client__get_revision_number().

  1. … 12 more files in changeset.
Unfold a switch statement just a bit.

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Instead of 'case'ing several options and

then using a conditional to decide between them, just split out the cases.

Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.

* LICENSE: New.

* COPYING,

subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the SVN Corp, and that it contains contributions from

many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:

Relicense the SVN parts under Apache 2.0.

* everywhere:

Change copyright notices in file headers to reflect the Apache 2.0 license.

  1. … 882 more files in changeset.
Do the deprecation dance in libsvn_client.

* subversion/libsvn_client/switch.c,

subversion/libsvn_client/delete.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/revisions.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/url.c,

subversion/libsvn_client/checkout.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/cat.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/log.c,

subversion/libsvn_client/update.c:

More svn_dirent for svn_path function swaps.

  1. … 13 more files in changeset.
Switch to use svn_wc_adm_close2()

* subversion/libsvn_wc/revision_status.c:

* subversion/libsvn_wc/util.c:

* subversion/libsvn_wc/adm_files.c:

* subversion/libsvn_wc/update_editor.c:

* subversion/libsvn_wc/tree_conflicts.c:

* subversion/libsvn_wc/copy.c:

* subversion/libsvn_wc/log.c:

* subversion/libsvn_client/relocate.c:

* subversion/libsvn_client/switch.c:

* subversion/libsvn_client/delete.c:

* subversion/libsvn_client/externals.c:

* subversion/libsvn_client/util.c:

* subversion/libsvn_client/revisions.c:

* subversion/libsvn_client/export.c:

* subversion/libsvn_client/status.c:

* subversion/libsvn_client/merge.c:

* subversion/libsvn_client/prop_commands.c:

* subversion/libsvn_client/ra.c:

* subversion/libsvn_client/url.c:

* subversion/libsvn_client/checkout.c:

* subversion/libsvn_client/revert.c:

* subversion/libsvn_client/locking_commands.c:

* subversion/libsvn_client/cat.c:

* subversion/libsvn_client/diff.c:

* subversion/libsvn_client/copy.c:

* subversion/libsvn_client/mergeinfo.c:

* subversion/libsvn_client/log.c:

* subversion/libsvn_client/changelist.c:

* subversion/libsvn_client/update.c:

* subversion/libsvn_client/resolved.c:

* subversion/libsvn_client/add.c:

* subversion/libsvn_client/commit.c:

(various): replace call to svn_wc_adm_close() with close2().

  1. … 31 more files in changeset.
Fix some inconsistencies with svn:externals handling.

1) Removing an external or a file in a directory external and running

'svn update' will restore the external itself or an item in the

external, however, 'svn switch' will not using the same URL.

2) compare_external_items() should not compare externals as identical

if either one uses a HEAD peg revision, since a commit may have

replaced the item with another one.

Also see http://svn.haxx.se/dev/archive-2008-08/0714.shtml .

The amazing thing about this patch is that it removes code from

svn_client :)

* subversion/libsvn_client/client.h

(svn_client__compare_revisions):

Remove.

(svn_client__handle_externals):

Remove the update_unchanged argument.

* subversion/libsvn_client/revisions.c

(svn_client__compare_revisions):

Remove.

* subversion/libsvn_client/switch.c

(svn_client__switch_internal):

No longer pass FALSE to svn_client__handle_externals() as the

update_unchanged argument.

* subversion/libsvn_client/update.c

(svn_client__update_internal):

No longer pass FALSE to svn_client__handle_externals() as the

update_unchanged argument.

* subversion/libsvn_client/externals.c

(struct handle_external_item_change_baton):

Remove the update_unchanged field.

(struct handle_externals_desc_change_baton):

Remove the update_unchanged field.

(compare_external_items):

Remove.

(handle_external_item_change):

Always update the external.

(handle_externals_desc_change):

Do not copy the update_unchanged field from the

handle_externals_desc_change_baton to the

handle_external_item_change_baton.

(svn_client__handle_externals):

No longer take an update_unchanged argument.

(svn_client__fetch_externals):

No longer set the update_unchanged field in the

handle_externals_desc_change_baton struct.

  1. … 4 more files in changeset.
Remove an unused private function.

* subversion/libsvn_client/client.h,

subversion/libsvn_client/revisions.c

(svn_client__revision_is_local): Remove.

  1. … 1 more file in changeset.
Housekeeping: In the spirit of r26317, remove trailing whitespace in our

repository.

(This touches files in various and sundry parts of the tree, which I shan't

enumerate here.)

  1. … 93 more files in changeset.
* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Remove a 5+ year old FIXME

comment. Because we didn't.

Fix an suboptimal/race-condition situation in svn_client__get_revision_number.

* subversion/libsvn_client/client.h,

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Add youngest_rev in/out

parameter, used for doing keeping multiple lookups pegged to a

more-or-less static snapshot of the repository.

* subversion/libsvn_client/switch.c

* subversion/libsvn_client/status.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/prop_commands.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/update.c

Callers of svn_client__get_revision_number() updated. Most of these

just pass NULL for the new parameter, but for some that had several

invocations near each other I made use of the new facility.

  1. … 12 more files in changeset.
* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Rework this as a switch statement.

Channeling Erik Hülsmann, remove all trailing whitespace within our source

tree:

for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`

done

Inspired by: ehu

  1. … 449 more files in changeset.
Eliminate heavily repeated code when retrieving a versioned wc entry.

This patch makes sure caller gets a valid entry on successful return.

It introduces a private header with a macro to help generate the correct

line numbers and a helper function for the actual code.

* subversion/include/private/svn_wc_private.h: New private header.

(svn_wc__entry_versioned): Macro. Makes sure the correct debugging

values are passed to ...

(svn_wc__entry_versioned_internal): ... this new function. It's a wrapper

around svn_wc_entry() which generates an error if a non-versioned

path (one without an entry) was passed to it.

* subversion/libsvn_wc/entries.c

* subversion/libsvn_wc/copy.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/adm_files.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/questions.c

* subversion/libsvn_wc/translate.c

* subversion/libsvn_client/switch.c

* subversion/libsvn_client/export.c

* subversion/libsvn_client/revisions.c

* subversion/libsvn_client/status.c

* subversion/libsvn_client/info.c

* subversion/libsvn_client/prop_commands.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/locking_commands.c

* subversion/libsvn_client/cat.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/commit_util.c

Include the new header and replace calls with subsequent checks on the

returned entry and error generation with a call to svn_wc__entry_versioned.

* subversion/tests/cmdline/cat_tests.py

* subversion/tests/cmdline/lock_tests.py

Adjust for slightly different error output.

  1. … 23 more files in changeset.
Move the revision resolving utility function from libsvn_client to

libsvn_subr, and make it part of the public API.

* subversion/libsvn_client/revisions.c,

subversion/libsvn_client/client.h

(svn_client__resolve_revisions): Move from here...

* subversion/include/svn_opt.h,

subversion/libsvn_subr/opt.c:

(svn_opt_resolve_revisions): ...to here. Make the documentation a bit

more complete.

* subversion/libsvn_client/ra.c,

subversion/libsvn_client/copy.c:

Update calls to svn_opt_resolve_revisions().

  1. … 5 more files in changeset.
As a followup to r22880, add a notice_local_mods parameter to assist in

determining if we should use BASE or WORKING as the default peg revision.

* subversion/libsvn_client/copy.c

(svn_client__resolve_revisions): Add a notice_local_mods parameter, and use

it to determine whether to use svn_opt_revision_base or

svn_opt_revision_working.

* subversion/libsvn_client/client.h

(svn_client__resolve_revisions): Updated documentation to reflect the new

parameter.

  1. … 1 more file in changeset.
Add a helper function to the client library which sets defaults for peg and

operational revision values.

* subversion/libsvn_client/client.h

* subversion/libsvn_client/revisions.c

(svn_client__resolve_revisions): New. Default to HEAD for URLs and BASE for

working copy paths. If there is no operational revision given, use the peg

revision.

  1. … 1 more file in changeset.
Fix issue #2315: assertion failure in ra_svn when using -rPREV on a path

without a committed revision (i.e. added path).

* subversion/libsvn_client/revisions.c

(svn_client__get_revision_number): Error out if a committed revision

is required but not available.

* subversion/tests/cmdline/basic_tests.py (cat_added_PREV): New test.

(test_list): Run it.

  1. … 1 more file in changeset.
Reformat the code to use a consistent no-space-before-param-list-paren style.

See here for the vote that decided this:

http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=111877

From: "Peter N. Lundblad" <peter@famlundblad.se>

To: "Peter N. Lundblad" <peter@famlundblad.se>

cc: dev@subversion.tigris.org

Subject: Results of: [VOTE] New space-before-parens style

Date: Wed, 8 Feb 2006 12:00:35 +0100 (CET)

Message-ID: <Pine.LNX.4.55.0602080918350.10805@localhost.localdomain>

I took the opportunity to make spacing among all parens in SVN_ERR

macro calls consistent. But I did not address consistency of casts,

nor whether a function name should always appear below its return type

in declarations and definitions, nor whether there should be a space

before/after the "*" when declaring pointer return types.

* www/hacking.html

(coding-style): Document that we are no-space-before-paren now.

* everywhere: Reformat.

  1. … 365 more files in changeset.
Add a single cancellation point to the very heart of the working copy

locking code, and make several locking functions take cancellation

arguments and pass them along.

The following public API functions are now at new revisions:

- svn_wc_adm_open3

- svn_wc_adm_probe_open3

- svn_wc_adm_probe_try3

The following public 1.2 API functions are changed:

- svn_wc_adm_open_anchor

* subversion/include/svn_wc.h

(svn_wc_adm_open3): New function replacing svn_wc_adm_open2.

(svn_wc_adm_open2): Deprecate.

(svn_wc_adm_probe_open3): New function replacing svn_wc_adm_probe_open2.

(svn_wc_adm_probe_open2): Deprecate.

(svn_wc_adm_probe_try3): New function replacing svn_wc_adm_probe_try2.

(svn_wc_adm_probe_try2): Deprecate.

* subversion/libsvn_wc/lock.c

(do_open): Add cancellation argument and check for cancellation in

the directory item loop before recursing.

(svn_wc_adm_open, svn_wc_adm_open2): Call svn_wc_adm_open3.

(svn_wc_adm_open3): Like svn_wc_adm_open2 but with cancellation.

(svn_wc__adm_pre_open):

(svn_wc_adm_probe_open, svn_wc_adm_probe_open2): Call

svn_wc_adm_probe_open3.

(svn_wc_adm_probe_open3): Like svn_wc_adm_probe_open2 but with

cancellation.

(svn_wc_adm_probe_try, svn_wc_adm_probe_try2): Call

svn_wc_adm_probe_try3.

(svn_wc_adm_probe_try3): Like svn_wc_adm_probe_try2 but with cancellation.

(svn_wc_adm_open_anchor): Add cancellation.

  1. … 31 more files in changeset.