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

Changeset 1235734 is being indexed.

Add a rotation API to Ev2, per the discussion started at:

* subversion/include/svn_editor.h:

(...): update comments to discuss the rotate API

(svn_editor_cb_rotate_t): new callback type for rotations

(svn_editor_setcb_rotate): new callback setter

(svn_editor_cb_many_t): add a member callback for rotation

(svn_editor_rotate): new driving function for rotation

* subversion/libsvn_delta/editor.c:

(svn_editor_setcb_rotate, svn_editor_rotate): new

(svn_editor_setcb_many): copy the rotation callback

  1. … 1 more file in changeset.
* subversion/include/svn_editor.h:

Add some notes about the implementation plan.

* subversion/include/svn_editor.h: A few simple documentation updates.
* subversion/include/svn_editor.h: Typo fix, following r1197266.
* subversion/include/svn_editor.h:

Add a note about RFC 2119 compliance.

Use svn_kind_t in place of svn_node_kind_t in Ev2, and it's backward compat


* subversion/include/svn_editor.h,





* subversion/libsvn_wc/update_editor.c

(fetch_kind_func): Update param type and simplify function.

  1. … 4 more files in changeset.
* subversion/include/svn_editor.h:

(Restrictons): more clarifications

Document more restrictions about driving Ev2 and clarify some other


* subversion/include/svn_editor.h:

(Restrictions): add docco about modifying nodes more than once

(svn_editor_move): fix my answer to stsp

(svn_editor_complete, svn_editor_abort): s/tree delta/edit/

Pass a file's new contents when it is first added. There is no reason to

require a separate set_text() call.

Adjust some assertions in the editor, based on the above.

* subversion/include/svn_editor.h:

(): adjust module docs to remove the need for set_text() after add_file().

(svn_editor_cb_add_file_t): add CHECKSUM and CONTENTS params.

(svn_editor_add_file): add CHECKSUM and CONTENTS params.

* subversion/libsvn_delta/compat.c:

(add_directory_cb): add CHECKSUM and CONTENTS params

* subversion/libsvn_delta/editor.c:

(svn_editor_t): remove the NEEDS_TEXT member

(svn_editor_create): do not initialize NEEDS_TEXT member

(svn_editor_add_directory): mark the directory as completed

(svn_editor_add_file): add CHECKSUM and CONTENTS params. pass them to

the callback. mark the file as completed, and skip the NEEDS_TEXT hash


(svn_editor_add_symlink): mark the symlink as completed

(svn_editor_add_absent): mark the absent node as completed

(svn_editor_set_text): no longer update the NEEDS_TEXT member

(svn_editor_move): ensure the source node has not been altered before.

do not mark the source as completed since a new node may be added.

also skip marking the destination since a set_props, set_text, or

set_target may arrive.

(svn_editor_complete, svn_editor_abort): make sure the editor has not

been marked as finish (avoid double calls)

  1. … 2 more files in changeset.
* subversion/include/svn_editor.h

(svn_editor_set_props): Update docstring in answer to a question, and remove

said question.

* subversion/include/svn_editor.h

(svn_editor_set_props): Add a couple of notes.

Some doxygen tweaks.

* subversion/include/svn_editor.h:

Explicitly link to existing datatypes and macros.

* subversion/include/svn_wc.h

(svn_wc_notify_t): Fix a busted link.

(svn_wc_info_t): Doc a few members.

  1. … 1 more file in changeset.
Move svn_editor.h to the public include directory, with the hopes of actually

implementing some of it by 1.8, and thereby fixing the build.

* subversion/include/svn_delta.h,



Update references.

* subversion/include/private/svn_editor.h:

Move from here...

* subversion/include/svn_editor.h: here.

  1. … 4 more files in changeset.
We don't want to publish the svn_editor API for 1.7. Move the header

into the private area.

* subversion/include/svn_editor.h:

(): moved to ...

* subversion/include/private/svn_editor.h:

(): ... here

* subversion/libsvn_delta/editor.c:

(): adjust svn_editor.h include to account for the move

  1. … 2 more files in changeset.
* subversion/include/svn_fs.h,

* subversion/include/svn_diff.h,

* subversion/include/svn_dav.h,

* subversion/include/svn_mergeinfo.h,

* subversion/include/svn_editor.h,

* subversion/include/svn_repos.h,

* subversion/include/svn_delta.h,

* subversion/include/svn_subst.h,

* subversion/include/svn_types.h,

* subversion/include/svn_config.h,

* subversion/include/svn_io.h,

* subversion/include/svn_wc.h,

* subversion/include/svn_cmdline.h,

* subversion/include/svn_client.h,

* subversion/include/svn_ra.h

Fix typos in comments.

  1. … 14 more files in changeset.
Once and for all, name all our anonymous struct/enum typedefs.

Follows up on r1040058, and with thanks to Danny Trebbien.

* everywhere:

Change 'typedef struct {} foo_t;' to 'typedef struct foo_t {} foo_t;'.

* subversion/libsvn_ra_serf/fake_sspi.h

(PSecurityFunctionTable, SecurityFunctionTable):

Manually effect the same change in the single pointer-to-struct typedef.

  1. … 95 more files in changeset.
In this revision a mass spelling correction OCCURRED.

* subversion/bindings/javahl/native/JNIUtil.h (JNIUtil),

subversion/include/svn_editor.h (svn_editor_t),

subversion/libsvn_subr/eol.c (svn_eol__detect_file_eol),

subversion/tests/cmdline/ (natural_history_filtering):

s/occured/occurred/ in comments.

* subversion/svn/export-cmd.c (svn_cl__export),

subversion/svn/switch-cmd.c (svn_cl__switch),

subversion/svn/update-cmd.c (svn_cl__update):

s/occured/occurred/ in an error message.

  1. … 6 more files in changeset.
* subversion/include/svn_editor.h: Ask a question.

* subversion/include/svn_editor.h:

(): answer stsp's question

* subversion/include/svn_editor.h: Ask a question about this API.

Test out my new and fancy ASF commit priviledges by changing the copyright

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


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.
Some more doxygen improvements.

* subversion/include/svn_editor.h,


Explicitly link various doxygen entities.

  1. … 1 more file in changeset.
Scrub trailing whitespace throughout (see r35894).

  1. … 146 more files in changeset.
We no longer want to talk about a "tree delta" as a first-order concept.

Experience shows there is coupling between driver/receiver, such that a

tree delta is not an independent entity. The v2 interface is a

prototypical pattern for describing a set of changes to edit a *known*

target tree into a desired state. There will always be an underlying

coupling, but the editor interface helps to establish a calling pattern

and semantics which can be carried across these various pairings.

* subversion/include/svn_editor.h:

(...): in the docstrings, remove the "producer", "consumer", and the

"tree delta" concepts. Only talk about series of operations between a

driver and a receiver. Add some more history to place this interface.

* subversion/include/svn_editor.h: Comments -- additions, minor fixes and more

todos in editor v2's API docs. Checked doxygen syntax.

* subversion/include/svn_editor.h: Kick off editor-v2's documentation.

Copy-paste the intro from svn_delta_editor.h. Add comment groups and

start individual comments for structs and functions.

### Note, this is yet incomplete and unreviewed. More to follow.

editor v2: Also add REPLACES_REV arguments to "copy" and "move" callbacks,

as discussed in:

* subversion/include/svn_editor.h,

* subversion/libsvn_delta/editor.c

(svn_editor_copy, svn_editor_move): Add parameter REPLACES_REV.

### Documentation pending

  1. … 1 more file in changeset.
Enable an atomic replace in editor v2.

If you want to know why a revnum is chosen as replace indicator, read

notes/editor-v2.txt as of r38396 (later note).

* subversion/include/svn_editor.h

(svn_editor_add_directory_t, svn_editor_add_directory,

svn_editor_add_file_t, svn_editor_add_file,

svn_editor_add_symlink_t, svn_editor_add_symlink,

svn_editor_add_absent_t, svn_editor_add_absent):

Add parameter REPLACES_REV.

* subversion/libsvn_delta/editor.c





Add parameter REPLACES_REV and pass to callbacks.

  1. … 1 more file in changeset.
Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.



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.
The streamy list of children is a good idea, but the simple fact is that

ALL of subversion thinks it can load a set of children into memory. To

truly solve this problem requires a huge, concerted effort. Short of that,

this small effort on the editor interface is reduced to a wart rather than

a shining example of a new future. (sigh) ... remove it.

* subversion/include/svn_editor.h:

(svn_editor_cb_add_directory_streamy_t): remove

(svn_editor_setcb_add_directory_streamy): remove

(svn_editor_cb_many_t): remove 'cb_add_directory_streamy' member

(svn_editor_add_directory_streamy): remove

* subversion/libsvn_delta/editor.c:

(svn_editor_setcb_add_directory_streamy): remove

(svn_editor_setcb_many): do not copy 'cb_add_directory_streamy' member

(svn_editor_add_directory_streamy): remove

  1. … 1 more file in changeset.