subversion

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

Changeset 1356753 is being indexed.

* subverison/po/fr.po: Fix gender of 'compact' in 2 places where it

modifies masculine nouns.

Report by: Christian Bac <christian.bac@it-sudparis.eu>

Replace all calls to svn_wc__db_read_conflicts() by a call to a new

svn_wc__read_conflicts() to allow switching more of the wc_db api to

conflict skels in a future patch.

No functional changes, but removes some dead code.

* subversion/include/private/svn_wc_private.h

(svn_wc__node_get_conflict_info): Remove unused function.

* subversion/libsvn_wc/adm_ops.c

(svn_wc__delete_many,

svn_wc__delete_internal): Update caller.

* subversion/libsvn_wc/conflicts.c

(svn_wc__read_conflicts): New function.

(resolve_conflict_on_node,

conflict_status_walker): Update caller.

* subversion/libsvn_wc/copy.c

(copy_versioned_file,

remove_node_conflict_markers): Update caller.

* subversion/libsvn_wc/entries.c

(read_one_entry): Update callers.

* subversion/libsvn_wc/info.c

(build_info_for_node,

svn_wc__get_info): Update callers.

* subversion/libsvn_wc/node.c

(svn_wc__node_get_conflict_info): Remove function.

* subversion/libsvn_wc/props.c

(svn_wc__get_prejfile_abspath): Remove function.

* subversion/libsvn_wc/questions.c

(svn_wc__internal_conflicted_p): Update caller.

* subversion/libsvn_wc/tree_conflicts.c

(svn_wc__get_tree_conflict): Update caller.

* subversion/libsvn_wc/wc.h

(svn_wc__read_conflicts): New function.

* subversion/libsvn_wc/workqueue.c

(run_set_text_conflict_markers,

run_set_property_conflict_marker): Update callers.

Following up on r1355192, make sure we call the interactive conflict resolver

from the update editor to stay compatible with the old api.

Found by: philip

(with help from the swig ruby tests)

* subversion/libsvn_wc/update_editor.c

(close_file): Add missing call to svn_wc__conflict_invoke_resolver.

Use buffered IO for the pipe in the Python bindings so that

the diff output is read in blocks rather than byte-by-byte.

* subversion/bindings/swig/python/svn/fs.py

(get_pipe): Use buffered IO.

Patch by: harry{_AT_}hjackson.org

Use buffered IO for pipes in the regression testsuite code.

* subversion/tests/cmdline/svnlook_tests.py

(output_command): Use buffered IO for pipe.

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

(open_pipe, spawn_process, run_command_stdin): Use buffered IO for pipe.

[Note from the future: I mistakenly thought this made the testsuite 10%

faster but I was comparing the wrong builds. More careful measurement

shows that any increase is lost in the noise.]

Merge the r1338810 group from trunk:

* r1338810, r1339164

Fix issue #4184 ("partial svnsync drops properties when converting

copies to adds").

Justification:

Syncs that don't aren't synced at all.

Notes:

r1338810 taught the code to send properties for demoted copies.

r1339164 fixed a theoretical use of uninitialized memory.

Votes:

+1: cmpilato, rhuijben, philip

* subversion/libsvn_wc/props.c (svn_wc__merge_props): Remove unused variable.

* STATUS: Vote/approve issue 4184.
* subversion/libsvn_wc/conflicts.c

(conflict__get_conflict): Fix warnings: make the output non-const and

remove an unused variable. Add a blank line between declarations and

statements.

In two places use the proper enum value instead of a boolean. No functional

change.

* subversion/libsvn_wc/props.c

(prop_conflict_from_skel): Use proper enum value for ignore_space.

* subversion/tests/libsvn_diff/diff-diff3-test.c

(test_wrap): Use an enum value for ignore_space.

* subversion/tests/libsvn_subr/io-test.c

(test_two_file_size_comparison,

test_two_file_content_comparison,

test_three_file_size_comparison,

test_three_file_content_comparison): Allow io-test to be built

to test all permutations or a subset.

Fold the specific text, propery and tree conflict store functions in

a single query in mark_conflict.

* subversion/libsvn_wc/wc-queries.sql

(STMT_INSERT_ACTUAL_CONFLICT,

STMT_UPDATE_ACTUAL_CONFLICT): New statements.

(STMT_UPDATE_ACTUAL_TREE_CONFLICTS,

STMT_INSERT_ACTUAL_TREE_CONFLICTS,

STMT_UPDATE_ACTUAL_TEXT_CONFLICTS,

STMT_INSERT_ACTUAL_TEXT_CONFLICTS,

STMT_UPDATE_ACTUAL_PROPERTY_CONFLICTS,

STMT_INSERT_ACTUAL_PROPERTY_CONFLICTS): Remove statements.

(STMT_UPDATE_CLEAR_TREE_CONFLICT): New statement.

* subversion/libsvn_wc/wc_db.c

(temp_op_set_text_conflict_marker_files,

temp_op_set_prop_conflict_marker_file,

temp_op_set_tree_conflict): Remove prototypes.

(mark_conflict): Directly update the actual_node table instead

of using helper functions.

(db_op_mark_resolved): Use new clear statement.

(temp_op_set_tree_conflict,

temp_op_set_text_conflict_marker_files,

temp_op_set_prop_conflict_marker_file): Remove functions.

Add some status notes and a bit of wishful thinking.
* subversion/libsvn_subr/io.c

* subversion/tests/libsvn_subr/io-test.c

Remove whitespace and eol, added by recent patches.

* subversion/tests/libsvn_subr/io-test.c

(test_three_file_size_comparison,

test_three_file_content_comparison): Reduce the test set a bit by not

iterating every combination 6 times in different orders.

* subversion/tests/libsvn_subr/io-test.c

(create_test_file): Use constants that are APR 0.9 compatible.

* subversion/tests/libsvn_subr/io-test.c

(create_test_file): Use buffered write, tweak whitespace.

Ensure that the the wc_db mark conflict api is only used for adding conflicts

to the skel and not for removing.

* subversion/libsvn_wc/update_editor.c

(add_directory,

add_file): Store conflict for storing again in close_directory/close_file.

* subversion/libsvn_wc/wc_db.c

(mark_conflict): In maintainer mode assert that this function is only used

for adding/marking new conflicts.

When merging a directory addition on top of a copied/added directory we should

just set a tree conflict instead of *also* applying the property changes of

the incoming directory.

This specific case was found via the conflict handling test that I'll add in a

separate commit.

* subversion/libsvn_client/merge.c

(merge_dir_added): Skip changes on descendants on an add-add conflict.

* subversion/tests/cmdline/merge_tree_conflict_tests.py

(merge_replace_causes_tree_conflict): Update expected result. Remove

comment that the original result is unexpected.

Followup to r1356261.

* build.conf

(__ALL_TESTS__): Add new executable.

Fix two compiler warnings.

* subversion/libsvn_wc/update_editor.c

(close_file): Remove shadowing variable.

* subversion/libsvn_wc/wc_db.c

(read_tree_conflict): Remove unused function.

Optimize merge_file_trivial() by avoiding to read the files twice by

using a new comparison function which compares 3 files at once. Also

add C tests for the new and existing file comparison functions in

libsvn_subr/io.c

* subversion/include/svn_io.h

(svn_io_filesizes_three_different_p): Add new declaration

(svn_io_files_contents_three_same_p): Add new declaration

* subversion/libsvn_subr/io.c

(svn_io_filesizes_three_different_p): Add new function in analogy

to svn_io_filesizes_different_p().

(contents_three_identical_p): Add new function in analogy to

contents_identical_p().

(svn_io_files_contents_three_same_p): Add new function in analogy

to svn_io_files_contents_same_p.

* subversion/libsvn_wc/merge.c

(merge_file_trivial): Use the new three-file comparison functions to

avoid reading files twice.

* build.conf

(io-test): Add the new io-test.c file to the build configuration.

* subversion/tests/libsvn_subr:

Add the executable and temporary test file folder to svn:ignore.

* subversion/tests/libsvn_subr/io-test.c

(create_test_file): Helper function to create a test data file.

(create_comparison_candidates): Helper function to create the full

set of test data files.

(test_two_file_size_comparison): Test function for

svn_io_filesizes_different_p.

(test_two_file_content_comparison): Test function for

svn_io_files_contents_same_p.

(test_three_file_size_comparison): Test function for

test_three_file_size_comparison.

(test_three_file_content_comparison): Test function for

svn_io_files_contents_three_same_p.

Patch by: Markus Schaber <m.schaber{_AT_}3s-software.com>

    • ?
    /trunk/subversion/tests/libsvn_subr/io-test.c
* subversion/tests/cmdline/special_tests.py

(replace_symlinks): Add status verification to avoid spurious XPASS.

Merge the r1293945 group from trunk:

* r1293945, r1293972, r1293976, r1293998, r1294136, r1294236;

r1294134, r1294147, r1294586

Two interdependent changes:

Fix issue #4121: copy followed by delete of unreadable child.

Fix svn:// authz in Python tests.

Justification:

User resorted to patching the commit editor to work around this.

Tests are broken.

Notes:

r1293945,r1293972,r1293976 are cosmetics.

r1293998 is the fix.

r1294136 is a test.

r1294236 fixes an uninitialized variable.

Notes:

r1294134 extends a test to demonstrate its brokenness.

r1294147 fixes said brokenness.

r1294586 fixes r1294147 for Windows.

Votes:

+1: danielsh, stsp, rhuijben

    • ?
    /branches/1.7.x/subversion/tests/cmdline/README
* subversion/libsvn_wc/wc_db.c

(read_children_info): Fix >=SVN_WC__USES_CONFLICT_SKELS code.

Reorder the columns returned by STMT_SELECT_ACTUAL_NODE and

STMT_SELECT_ACTUAL_CHILDREN_INFO in preparation for using unified conflict

skels.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_ACTUAL_NODE,

STMT_SELECT_ACTUAL_CHILDREN_INFO): Reorder columns as

non-conflict*, conflict_data, legacy-conflict*

* subversion/libsvn_wc/wc_db.c

(copy_actual): Renumber columns.

(read_info,

read_children_info): Renumber columns. Add code for after format bump.

(commit_node): Renumber columns.

(svn_wc__db_read_conflicts): Renumber columns. Fail for new format.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_ACTUAL_CHILDREN_TREE_CONFLICT): Remove no longer used query.

Fix the conflict marker fetch query, to really fetch the information that it

needs.

Somehow our test suite doesn't detect this error class.

I'm surprised that out of range column indexes are handled as NULL by Sqlite.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_CONFLICT_MARKER_FILES1): Don't check uninteresting columns.

(STMT_SELECT_CONFLICT_MARKER_FILES2): Fetch all interesting columns.

* subversion/tests/cmdline/copy_tests.py

(copy_text_conflict): New function.

(test_list): Add copy_text_conflict.

Cleanup a few queries in preparation for using the conflict_data column.

* subversion/libsvn_wc/wc-queries.sql

(STMT_DELETE_ACTUAL_EMPTY,

STMT_DELETE_ACTUAL_EMPTIES,

STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST,

STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE):

Check conflict_data for NULL and use the same ordering for checking.

* subversion/libsvn_wc/wc-queries.sql

(STMT_INSERT_ACTUAL_EMPTIES): Remove unneeded parts of query.

(STMT_INSERT_ACTUAL_NODE_FROM_ACTUAL_NODE): Remove unused query.