Checkout Tools
  • last updated 16 mins ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 874060 is being indexed.

Bring branch tc-merge-notify up to trunk r33985.
    • ?
    • ?
    • ?
  1. … 50 more files in changeset.
* subversion/bindings/ctypes-python/

(build, build.validate_options): Look for apr-1-config / apu-1-config before

apr-config / apu-config.

On the issue-3067-deleted-subtrees branch: Correct the expectations of an

XFailing --reintegrate merge test.

* subversion/tests/cmdline/

(reintegrate_with_rename): Small expectation change, big comment to

explain why.

A fix for a tree conflict problem reported by Mark Phippard.

If update/switch caused a tree conflict by trying to delete a modified

item, the working copy became unusable. The user couldn't svn

add/cp/rm/up/ci at all. And svn resolved didn't help, because it

restored the original state that triggered the tree conflict.

This commit changes the update editor so that an incoming delete

action will delete a tree conflict victim (and items inside it),

instead of skipping the deletion.

Such a victim, or the modified items inside it, can be reinstated via

svn add/cp. Or the user can accept the incoming change ("theirs

full") via "rm" or "rm -rf".

The email thread for the bug report starts at:

* subversion/libsvn_wc/update_editor.c

(do_entry_deletion): Don't bail out after recording a tree conflict.

Include tree-conflict status in deletion notification.

* subversion/tests/cmdline/







tree_conflicts_on_update_3): Expect update to delete tree conflict

victims and items inside them.

* subversion/tests/cmdline/





tree_conflicts_on_switch_3): Expect update to delete tree conflict

victims and items inside them.

* subversion/tests/cmdline/

(tree_conflicts_resolved): Expect update to delete tree conflict

victims and items inside them.

* subversion/tests/cmdline/

(revert_tree_conflicts_in_updated_files): Expect update to delete

tree conflict victims and items inside them.

* subversion/tests/cmdline/

(status_with_tree_conflicts): Expect update to delete tree conflict

victims and items inside them.

Remove a TODO.

* TODO-1.6

Removed JavaHL Notifications for tree conflicts. Completed

by hwright with r33698, r33699.

* subversion/libsvn_wc/update_editor.c

Add a whole-file doc string.

French translation update for r33979.

* subversion/po/fr.po: po-update and 2 fuzzy fixed.

French translation update for r33974.

* subversion/po/fr.po: po-update, many fixes and new translations.

On the svnpatch-diff branch: Merge 33893:33977 from trunk.

    • ?
    • ?
  1. … 115 more files in changeset.
More stream API simplification.

* subversion/libsvn_ra/compat.c,









Use svn_stream_open_unique() and svn_stream_open_readonly() where possible.

TODO-1.6: Update.
Teach the Berkeley DB backend to store both MD5 and SHA1 checksums -- as

available and allowed for the FS format -- in the `representations' table.

* subversion/libsvn_fs_base/notes/structure

(Representations): Tweak BNF to show that we'll always store MD5,

and possibly also store SHA1, for representations.

* subversion/libsvn_fs/fs-loader.h,

* subversion/libsvn_fs/fs-loader.c

(root_vtable_t): Add 'kind' parameter to file_checksum() method,

passed into providers' file_checksum implementations.

* subversion/libsvn_fs_fs/tree.c

(fs_file_checksum): Add 'kind' parameter, and use it to filter the

returned data.

* subversion/libsvn_fs_base/fs.h

(representation_t): Rename 'checksum' member to 'md5_checksum', and

add 'sha1_checksum' member.

* subversion/libsvn_fs_base/reps-strings.h

(svn_fs_base__rep_contents_checksums): Was

svn_fs_base__rep_contents_checksum(). Rename 'checksum' parameter

to 'md5_checksum', and add 'sha1_checksum' parameter.

* subversion/libsvn_fs_base/reps-strings.c

(svn_fs_base__rep_contents_checksums): Was

svn_fs_base__rep_contents_checksum(). Rename 'checksum' parameter

to 'md5_checksum', and add 'sha1_checksum' parameter.

(make_fulltext_rep): Rename 'checksum' parameter to 'md5_checksum',

and add 'sha1_checksum' parameter, duping both.

(svn_fs_base__get_mutable_rep): Update call to make_fulltext_rep.

(txn_body_read_rep): Compare both MD5 and SHA1 checksums against

their stored values where possible.

(svn_fs_base__rep_contents): Allow checksum tests of either type of

checksum, but prefer a SHA1 comparison.

(struct rep_write_baton): Rename 'checksum_ctx' and 'checksum' to

'md5_checksum_ctx' and 'md5_checksum', respective; add

'sha1_checksum_ctx' and 'sha1_checksum'.

(rep_write_get_baton): Track renamed baton members, and also

initialize an MD5 checksum context.

(txn_body_write_rep): Update both checksum contexts.

(txn_body_write_close_rep): Copy both checksum contexts into the


(rep_write_close_contents): Finalize both checksum contexts.

(rep_contents_clear): Clear both representation checksums.

(svn_fs_base__rep_deltify): Use both representation checksums.

* subversion/libsvn_fs_base/dag.h

(svn_fs_base__dag_file_checksum): Add 'checksum_kind' parameter.

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__dag_file_checksum): Add 'checksum_kind' parameter, and

update call to svn_fs_base__rep_contents_checksums().

(maybe_store_checksum_rep): Update call to


(svn_fs_base__dag_finalize_edits): Update calls to

svn_fs_base__rep_contents_checksums(), performing checksum

comparisons against either MD5 or SHA1 as requested (if possible).

* subversion/libsvn_fs_base/tree.c

(struct file_checksum_args): Add 'kind' variable.

(txn_body_file_checksum): Pass baton's 'kind' into updated call to


(base_file_checksum): Add 'kind' parameter, and use it to populate

baton's 'kind' variable.

(txn_body_apply_textdelta): Update call to svn_fs_base__dag_file_checksum(),

asking for the same kind of checksum as the one we'll compare against.

* subversion/libsvn_fs_base/util/fs_skels.h

(svn_fs_base__unparse_representation_skel): Add 'format' parameter.

* subversion/libsvn_fs_base/util/fs_skels.c

(is_valid_representation_skel, svn_fs_base__parse_representation_skel):

Handle new representation format.

(prepend_checksum): New helper function.

(svn_fs_base__unparse_representation_skel): Add 'format' parameter,

and use prepend_checksum() as needed to handle the new

representation skel format.

* subversion/libsvn_fs_base/bdb/reps-table.c

(svn_fs_bdb__write_rep): Pass filesystem format version to updated

call to svn_fs_base__unparse_representation_skel().

* subversion/tests/libsvn_fs_base/strings-reps-test.c

(txn_body_read_rep): Update call to svn_fs_base__unparse_representation_skel.

Improve parsing of 'svn info' output in the Python tests. Also remove some

code duplications.

* subversion/tests/cmdline/


Use svntest.actions.get_wc_uuid() instead of private helper.

* subversion/tests/cmdline/


Remove, as it is now unused. An identically-named function exists


(info_with_tree_conflicts, info_on_added_file, info_on_mkdir):

Use run_and_verify_info(). Use re.escape() instead of str.replace().

* subversion/tests/cmdline/svntest/

(run_and_parse_info, run_and_verify_info):

New functions.


Moved here and rewritten to use run_and_parse_info().

* subversion/tests/cmdline/


Use svntest.actions.get_wc_uuid() instead of private helper.

Use new run_and_verify_info().

* subversion/tests/cmdline/

(info_on_mkdir): Remove (debugging?) print.

Follow up to r33970.

Fix prop_test 28 which fails in dav due to lack of username/password.

* subversion/tests/cmdline/

(added_moved_file): Formatting tweak only, no functional change.

* subversion/tests/cmdline/svntest/

(check_prop): Pass default username and password.

* subversion/libsvn_subr/config_file.c

(svn_config__parse_file): Use newer stream APIs for opening and reading

the config file.

Add regression test for bug (present in 1.5.x but not in trunk) described by

Stefan Küng at:

* subversion/tests/cmdline/

(added_moved_file): New test.

(test_list): Run it.

JavaHL: Update NotifyInformation for 1.6.

[ in subversion/bindings/javahl/ ]

* native/Notify2.cpp

(onNotify): Call the updated constructor.

* src/org/tigris/subversion/javahl/

(pathPrefix, treeConflicted, getPathPrefix, getTreeConflicted): New.

(NotifyInformation): Add parameters and save them.

JavaHL: Add new notification actions for 1.6.

[ in subversion/bindings/javahl/ ]

* native/EnumMapper.cpp

(mapNotifyAction): Map the new enums.

* src/org/tigris/subversion/javahl/

(property_updated, merge_completed): New.

(actionNames): Extend.

Protect FSFS rep-sharing functionality based upon format number.

* subversion/libsvn_fs_fs/fs_fs.c

(svn_fs_fs__open, rep_write_contents_close, write_final_rev,

svn_fs_fs__create): Wrap interaction with the rep sharing cache in

format number protections.

Add some more release blockers.

* TODO-1.6

Added some release blockers related to tree conflicts.

TODO-1.6: Add a bunch of FSFS rep-sharing issues.
* TODO-1.6: Add a tree-conflict task.
* subversion/libsvn_wc/update_editor.c

(close_directory): Tweak a comment and indentation.

Factor out a very little bit of repeated code.

* subversion/libsvn_wc/update_editor.c

(remember_skipped_path): New function.

(open_directory, add_file, open_file): Use it instead of in-line code.

On the issue-3067-deleted-subtrees branch: Merge r33948-33960 from trunk.
  1. … 11 more files in changeset.
Fix build warnings.

* subversion/libsvn_ra/deprecated.c

(svn_path.h): Include.

* www/faq.html (secure-connection-truncated): Polish and fix formatting.

www/faq.html: Add FAQ item about 'Secure connection truncated' errors.
On (lightweight) branch tc-merge-notify:

Do not show `Skipped' messages within newly tree-conflicted directories.

Pass a boolean SKIP down the item batons and completely skip *all*

action in the editor if SKIP is TRUE (i.e. don't even call diff callbacks).

* subversion/libsvn_client/repos_diff.c

(dir_baton, file_baton): Add SKIPPED flag.

(make_dir_baton, make_file_baton): Default SKIPPED to FALSE.

(delete_entry, add_directory, open_directory, add_file, open_file):

Skip *all* action if the parent node is SKIPped or TREE_CONFLICTED.

Propagate the SKIP flag to child batons where necessary.

(window_handler, apply_textdelta, close_file, close_directory,

change_file_prop, change_dir_prop): Skip *all* action if this node's

SKIP flag is TRUE.

* subversion/tests/cmdline/

(delete_file_and_dir, merge_catches_nonexistent_target,

merge_tree_deleted_in_target, merge_added_dir_to_deleted_in_target,

three_way_merge_add_of_existing_binary_file, del_differing_file,



tree_conflicts_on_merge_local_ci_4_2, tree_conflicts_on_merge_local_ci_5_1,

tree_conflicts_on_merge_local_ci_5_2, tree_conflicts_on_merge_local_ci_6,





tree_conflicts_on_merge_no_local_ci_6): Fix up some tests. Intentionally

leaving some merge tests unfixed for now.