subversion

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

Changeset 874050 is being indexed.

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

representation.

(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__rep_contents_checksums().

(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

svn_fs_base__dag_file_checksum().

(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/update_tests.py

(update_uuid_changed):

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

* subversion/tests/cmdline/info_tests.py

(verify_lines):

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

in merge_tests.py.

(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/actions.py

(run_and_parse_info, run_and_verify_info):

New functions.

(get_wc_uuid):

Moved here and rewritten to use run_and_parse_info().

* subversion/tests/cmdline/merge_tests.py

(merge_dir_branches):

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

Use new run_and_verify_info().

* subversion/tests/cmdline/info_tests.py

(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/prop_tests.py

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

* subversion/tests/cmdline/svntest/actions.py

(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:

http://permalink.gmane.org/gmane.comp.version-control.subversion.devel/105704

* subversion/tests/cmdline/prop_tests.py

(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/NotifyInformation.java

(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/NotifyAction.java

(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/merge_tests.py

(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_and_obstructions,

tree_conflicts_on_merge_local_ci_4_1,

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_4_1,

tree_conflicts_on_merge_no_local_ci_4_2,

tree_conflicts_on_merge_no_local_ci_5_1,

tree_conflicts_on_merge_no_local_ci_5_2,

tree_conflicts_on_merge_no_local_ci_6): Fix up some tests. Intentionally

leaving some merge tests unfixed for now.

TODO-1.6: Tweak TODO item.
TODO-1.6: Add TODO item.
Use sha1 checksums in the FSFS backend.

Note: there is a bit of consternation about whether or not we should

be using sha1. However, we already do so for the BDB backend (see r33306

on the fs-rep-sharing branch), so this at least consistifies the backends.

This commit is more about making things consistent than attempting to

enforce a particular point of view.

For further information on the debate, see:

* log message to r28976.

* http://svn.haxx.se/dev/archive-2008-10/0933.shtml

* http://svn.haxx.se/dev/archive-2008-10/0832.shtml

* http://svn.haxx.se/dev/archive-2008-10/0932.shtml

* subversion/libsvn_fs_fs/tree.c

(apply_textdelta): Only compare like-kinded checksums.

* subversion/libsvn_fs_fs/fs_fs.c

(read_rep_offsets): Parse both sha1 and md5 checksums.

(rep_read_get_baton): Initialize the checksum context to be the same

kind of checksum we already have for the rep.

(rep_read_contents): Update comments.

(rep_write_get_baton): Create a sha1 context instead of a md5 one.

(rep_write_contents_close): Avoid and error leak.

* subversion/libsvn_fs_fs/rep-cache.c

(svn_fs_fs__get_Rep_reference, svn_fs_fs__set_rep_reference): Make sure we're

only using sha1 checksums in the rep cache.

* subversion/libsvn_fs_fs/dag.c

(svn_fs_fs__dag_finalize_edits): Only compare like-kinded checksums.

[ Reverted in r34252. ]

* subversion/include/svn_cmdline.h

(svn_cmdline_setup_auth_baton): Further docstring tweakage following r33952.

Rename a new 1.6-era function for a few reasons:

- it's a little harder to tell the difference between "set_up" and

"setup" than between even "function" and "function2".

- but if we don't like the noun "setup" being used as a verb, let's

at least avoid the use of "up" as a verb modifier in English,

which is ... weird.

- besides, "set up" sounds like it initializes an existing auth

baton, which it doesn't. So let's go with "create" as a closer

binding with names of similar factory functions.

- i like mine sage green.

* subversion/include/svn_cmdline.h,

* subversion/libsvn_subr/cmdline.c

(svn_cmdline_create_auth_baton): Was svn_cmdline_set_up_auth_baton().

(svn_cmdline_setup_auth_baton): Track renamed function.

* subversion/svn/main.c

(main): Track renamed function.

* subversion/svnsync/main.c

(main): Track renamed function.

* subversion/libsvn_wc/update_editor.c

Add questions about bits I don't understand, reverting r33900.

On the reintegrate-improvements branch: Merge r33779-33949 from trunk.
  1. … 170 more files in changeset.
On the issue-3067-deleted-subtrees branch: Merge r33887-33948 from trunk.
  1. … 92 more files in changeset.
On the fsfs-pack branch:

Bring up-to-date with trunk.

    • ?
    /branches/fsfs-pack/www/release-history.html
    • ?
    /branches/fsfs-pack/www/hacking.html
  1. … 151 more files in changeset.
* subversion/libsvn_subr/opt.c

(): Include 'opt.h' in the private header section.

Suggested by: gstein