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

Changeset 874062 is being indexed.

Follow on to r33082: 'Merge the tree-conflicts branch back to trunk. This

implements basic tree conflict detection for most cases.'

Since the directory in this test is now being detected as conflicted, just

mark it resolved and move on.

* subversion/bindings/swig/ruby/test/test_client.rb

(SvnClientTest#assert_merge): Mark the directory conflict resolved.

Follow on to r32901: 'Merge the double-delete branch back to trunk, fixing

issue #3156 "Delete should conflict with delete (at the repos level)"


This change exposed a bug in the test below which was trying to copy a path

after it had been deleted.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_changed): cp a path being tested before rm-ing it.

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.