Checkout Tools
  • last updated 1 hour ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1697541 is being indexed.

Merge r1694929 from trunk:

* r1694929

Fix memory corruption in SWIG bindings' svn_client_copy_source_t



Constructor result is not correct as REVISION gets partially overwritten

by PEG_REVISION. May also result in segfaults.


+1: stefan2, philip

+0.5: rhuijben (Minimal review)

    • ?
Merge the r1696222 group from trunk:

* r1696222, r1696225

Implement polling on named pipes on Windows to resolve svn+ssh:// problems


Without this patch operations like checkout just fail with an error.

This is a regression as older Subversion releases ignored the error.


+1: rhuijben, brane, stefan2

Merge r1691928 from trunk:

* r1691928

Fix issue #4584, "Non-canonical $HOME crashes GPG-agent support code".


Regression introduced in 1.8.11. Simple cause; simple fix.


Also nominated for 1.8.x.

Trunk has a better fix, but less suitable for backporting, in r1691952.


+1: julianfoad, philip, stefan2

+1: danielsh (either with or without r1691952; haven't tried to reproduce,

only reviewed the diff)

+0: rhuijben (Can't test this part. +1 on the combination with r1691952.

I don't see returning a properly canonicalized path

instead of a potentially non canonical path as a breaking

change that can't be backported. I would call it a bugfix

that should be backported)

Merge the r1674626 group from trunk:

* r1674626, r1674785

On Windows: Enable memcached support in libsvn_subr on apr-util 1.3+


Apr-Util 1.3+ always provides memcached client support, so we can just

support this on Windows with a trivial buildsystem change. This makes the

behaviour similar to that on other platforms.


+1: rhuijben, ivan, stefan2

+0.9: brane (The change looks trivially correct, but I can't test it)

On the 'move-tracking-2' branch: Move some hacky code out of the editor.

* subversion/libsvn_delta/editor3e.c

(svn_editor3_alter): Don't allocate unknown EIDs here, ...

* subversion/svnmover/svnmover.c

(subtree_replay): ... but here, the only caller that cares, instead.


Vote for and approve r1691928 ($HOME canonicalizaton).

Sadly, we can't use the r1691952 - so take what we can get.


Vote for and approve the r1674626 group (memcached with apr 1.3)

after testing it on Windows.

* STATUS: Cast some votes. Move swig fix to approved.

Vote for & approve the r1696222 group (svn+ssh on Windows).


Vote for r1687304 group (httpd version check),

for r1696387 (expat & zlib version info)

and r1696695 (circular lib reference in FSX)

On the 'move-tracking-2' branch: Remove an obsolete type declaration.

* subversion/include/private/svn_editor3e.h

(svn_editor3_cb_instantiate_t): Remove.

Correct a pool name.

* subversion/libsvn_fs_fs/load-index.c

(svn_fs_fs__load_index): ITERPOOL actually a mere SUBPOOL.

Make 'svnfsfs load-index' more convenient to use in case the revision

footer is corrupted or missing. Also, as long as the footer is valid,

make sure the new index actually covers all revision contents.

* subversion/libsvn_fs_fs/load-index.c

(get_max_covered): New utility function.

(svn_fs_fs__load_index): In case of a footer parser error, truncate

the rev file where the coverage of new index

data ends. Otherwise, require the coverage

to be the same as the old index coverage.

* subversion/tests/libsvn_fs_fs/fs-fs-private-test.c

(load_index): Update test to pass the stricter internal checks.

Improve error checking in 'svnfsfs load-index'. The input data must

have no holes or overlaps in it.

* subversion/libsvn_fs_fs/load-index.c

(check_all_covered): New validation function.

(svn_fs_fs__load_index): Invoke the new check.

* STATUS: Add svnfsfs load-index fixes (r1697381, r1697384, r1697387).
Actually implement what 'svnfsfs load-index' promises: That the input data

does not need to be pre-sorted by offset.

* subversion/libsvn_fs_fs/load-index.c

(compare_p2l_entry_revision): Define ordering criterion.

(svn_fs_fs__load_index): Sort the input before processing it.

Fix an inconsistency between 'svnfsfs dump-index' and 'svnfsfs load-index'.

While the first writes decimal item numbers, the load would interpret them

as hex. Read them as decimal now.

* subversion/svnfsfs/load-index-cmd.c

(token_to_i64): Make the RADIX selectable.

(parse_index_line): Parse each column with the appropriate radix.

Fix a bug in FSFS format7's index rewriting code, used by svnfsfs only.

The bug will lead to invalid index data for packed revisions if the first

entry in the index data passed in from svnfsfs is not part of the revision

in that pack file. A workaround is possible by adding a simple dummy

entry for an empty item of size 0 with the correct revision number in front

of the actual index data.

* subversion/libsvn_fs_fs/load-index.c

(svn_fs_fs__load_index): Pass the first revision in the pack down the

call stack instead of a random revision within

the same pack.

On the 'move-tracking-2' branch: Update BRANCH-README following r1697376.


Remove a bug/query about cross-branch moving.

On the 'move-tracking-2' branch: Rework the 'move to a different branch'

functionality. Add new commands 'copy-and-delete', 'branch-and-delete',

'branch-into-and-delete', and make the 'mv' command interactively ask the user

what they want to do for a cross-branch move, offering those three as the


* subversion/svnmover/svnmover.c


action_defn): Define new actions 'copy-and-delete', 'branch-and-delete',


(do_copy_and_delete): Rename from 'move_by_copy_and_delete'. Use the

existing 'do_*' functions so as to be sure it is equivalent, and to get


(do_branch_and_delete): New.

(do_branch_into_and_delete): Rename from 'move_by_branch_and_delete'. Use

the existing 'do_*' functions, as above.

(do_interactive_cross_branch_move): New.

(do_move): Only handle 'normal' moves.

(VERIFY_NOT_CHILD_OF_SELF): Change the error message so it doesn't

assume the operation is 'move'.

(execute): Let 'mv' call the interactive function for a cross-branch move.

Implement the three new subcommands.

* subversion/tests/cmdline/


move_to_related_branch_element_already_exists): Use branch-into-and-delete.

(move_to_unrelated_branch): Use copy-and-delete.

(move_to_related_branch_2): Use branch-into-and-delete.

Remove unused code.

* subversion/libsvn_fs_fs/index.c

(svn_fs_fs__l2p_index_from_p2l_entries): Nobody uses the REVISION variable

so don't calculate it.

On the 'move-tracking-2' branch: Update an out-of-date comment.

* subversion/tests/cmdline/

(restructure_repo_projects_ttb_to_ttb_projects): Update a comment.

Add warnings to 1.8 and 1.9 release notes in the aftermath of issue #4588.

Turns out neither the release notes nor the SVN book is not too clear

about the fact that replacing repositories (e.g. after dump / load)

requires a server restart.

* site/publish/docs/release-notes/1.8.html

(FSFS format bump): Add a warning box instructing the user to restart

their server after(s) replacing a repository.

* site/publish/docs/release-notes/1.9.html

(Format bump): Same.

On the 'move-tracking-2' branch: Update an error message, now that

svnmover accepts paths specified with respect to a branch (r1696816),

and minor factoring.

* subversion/svnmover/svnmover.c

(point_to_outer_element_instead): Factor out error handling from

'execute' to here. Update the error message to suit top-level branches.

(execute): Update the call sites in the 'mv' and 'rm' commands.

On the 'move-tracking-2' branch: Update a check now that svnmover

accepts paths specified with respect to a branch (r1696816).

* subversion/svnmover/svnmover.c

(VERIFY_NOT_CHILD_OF_SELF): New macro, extracted from 'execute' and

updated to work properly when a path is specified relative to a branch.

(execute): Use VERIFY_NOT_CHILD_OF_SELF in the 'mv' command.

On the 'move-tracking-2' branch: catch up to trunk@1697326.

Resolved prop conflicts resulting from r1696087 which elided mergeinfo on

'notes' and 'subversion/tests/libsvn_fs_x'.

  1. … 31 more files in changeset.
On the 'move-tracking-2' branch: Minor refactoring: put each svnmover

subcommand in its own function, printing its own notification.

* subversion/svnmover/svnmover.c

(is_branch_root_element): Move here from further down.


branch_peid_name_to_path): New helpers.




do_put_file): New, extracted from execute().





do_branch_into): Do their own notification.

(execute): Use the new helpers, and don't do notification.

On the 'move-tracking-2' branch: Update BRANCH-README following r1696972.


Move 'svnmover switch'from the to-do list to the 'done' list.

On the 'move-tracking-2' branch: Add an 'svnmover switch' subcommand.

* subversion/svnmover/svnmover.c


action_defn): Define a 'switch' subcommand.

(do_switch): Rename from 'do_update' and extend to support switching to a

different branch. Error out on an attempt to switch to a branch with a

different root element; the merge would have errored out on this case


(execute): Adjust the 'update' command to use do_switch(), and implement

the 'switch' command.

On the 'move-tracking-2' branch: Add an 'svnmover info-wc' subcommand that

prints the WC URL, revision, and base and working branch ids.

* subversion/svnmover/svnmover.c


action_defn): Add an 'info-wc' subcommand.

(execute): Implement it.