subversion

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

Changeset 1437419 is being indexed.

Fix compilation warning.

* subversion/tests/libsvn_repos/repos-test.c

(prop_validation): Use '\xff' instead of '(char) 0xff'.

Follow-up to r1437354: Add test for svn_repos_delete().

* subversion/tests/libsvn_repos/repos-test.c

(test_delete_repos): New test for svn_repos_delete().

(test_funcs): Add new test to list.

Suggested by: philip

* subversion/libsvn_client/copy_foreign.c

(copy_foreign_dir): Adjust variables to avoid gcc "incompatible pointer"

warnings about const.

When removing old repositories before re-creating them for tests, we don't

need to be clean about it, so just recursively remove the directory.

* subversion/tests/svn_test_fs.c

(svn_test__create_repos): Just remove the target directory, rather than

just the repository.

Snapshot some testwork on issue #3362 by adding a second variant of a test

and some disabled helper code.

Variant 2 currently shows different bugs in the file and memory

unified diff output. (The memory code misses the verify first line of the original

and the file code tries to read context from lines that have already been

processed, which the reader doesn't support. The result is a broken index in the

hunk header.

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

(two_way_diff): Add some disabled helper code.

(test_issue_3362): Duplicate this test in..

(two_way_issue_3362_v1): The original testset.

(two_way_issue_3362_v2): The final variant.

Extract a helper function from the file-based unified diff output code.

* subversion/libsvn_diff/diff_file.c

(output_unified_diff_range): New function.

(output_unified_flush_hunk): Use helper instead of local loop.

(output_unified_diff_modified): Use helper instead of loops. Use two

separate variables to help in document what this code does.

Don't conditionalize the skip based on whether we are creating a

new hunk header.

Factor out the 'run svn' command in the reintegrate merge tests. I verified

that this

is a no-op by comparing the verbose output before and after:

it is unchanged apart from line numbers.

* subversion/tests/cmdline/merge_reintegrate_tests.py

(run_reintegrate,

run_reintegrate_expect_error,

run_and_verify_reintegrate): New, factored out...

(...elsewhere...): ... from here.

* subversion/libsvn_client/copy.c

(repos_to_wc_copy_single): Following up on r1437203, also send the foreign

repository notifications when copying a single file.

* subversion/tests/cmdline/copy_tests.py

(repos_to_wc): Verify output for the file copy from a foreign repository.

Resolve issue #3590, by making 'svn copy' capable of copying directory

structures from foreign repositories.

A notification is added to make it clear that this is not just a cheap

copy, like the intra repository copies.

* subversion/tests/libsvn_client/client-test.c

(test_foreign_repos_copy): Update caller.

* subversion/tests/cmdline/copy_tests.py

(repos_to_wc): Add more recent issue number. Update expected result for

foreign repository copy.

* subversion/svn/notify.c

(notify): Add new notification handling.

* subversion/libsvn_client/copy_foreign.c

(edit_open): Make root directory when opening to make sure files in the root

work properly when completely handled before other changes.

(svn_client__copy_foreign): Allow usage within an existing lock.

* subversion/libsvn_client/copy.c

(repos_to_wc_copy_single): Use svn_client__copy_foreign for foreign

repository copies.

* subversion/include/svn_wc.h

(svn_wc_notify_action_t): Add notification value.

* subversion/include/private/svn_client_private.h

(svn_client__copy_foreign): Update prototype.

* subversion/tests/cmdline/merge_reintegrate_tests.py

(reintegrate_fail_on_modified_wc, reintegrate_fail_on_switched_wc):

Tweak the scenarios so that the 'reintegrate' style of merge is really

necessary, so that an 'automatic' merge would operate in the same way,

in preparation for also testing these scenarios with automatic merge.

In an attempt to make cmpilato fix the rest of issue #3590 before 1.8, add

a foreign repository copy implementation to libsvn_client.

* subversion/include/private/svn_client_private.h

(svn_client__copy_foreign): Declare new api. Still private.

* subversion/libsvn_client/copy_foreign.c

(new file): Implement an editor that uses the new svn_wc_add_from_disk2()

to perform a foreign repository copy.

* subversion/tests/libsvn_client/client-test.c

(test_foreign_repos_copy): New test.

(test_funcs): Add test_foreign_repos_copy.

    • ?
    /trunk/subversion/libsvn_client/copy_foreign.c
Expose the 'diff_ignore_ancestry' option in the automatic merge API (which

is new since 1.7 so can be changed without deprecating).

* subversion/include/svn_client.h,

subversion/libsvn_client/merge.c

(svn_client_do_automatic_merge): Add a 'diff_ignore_ancestry' parameter.

* subversion/svn/merge-cmd.c

(automatic_merge): Same, and pass it through.

(svn_cl__merge): Pass FALSE for this new param to automatic_merge().

Add test for Issue #4300.

* subversion/tests/cmdline/update_tests.py

(update_swapped_depth_dirs): New test.

(test_list): Add update_swapped_depth_dirs.

* subversion/libsvn_client/merge.c

(find_base_on_target, find_automatic_merge,

svn_client_automatic_merge_t,

svn_client_find_automatic_merge_no_wc,

svn_client_find_automatic_merge,

do_automatic_merge_locked,

svn_client_automatic_merge_is_reintegrate_like):

Remove the unimplemented 'mid-point' location concept from the

automatic merge code. It was being used only as a boolean flag, so

replace it with a boolean flag.

Remove a new public API for reintegrate merge that I introduced since 1.7.

We don't want it now because it's superseded by the automatic merge API.

There is a small functional change: the '--verbose' option will no longer

print any extra messages during a reintegrate merge -- but that option is

new since 1.7 so that doesn't matter.

* subversion/include/svn_client.h,

subversion/libsvn_client/merge.c

(svn_client_find_reintegrate_merge): Delete.

* subversion/svn/merge-cmd.c

(merge_reintegrate): Delete.

(svn_cl__merge): Call the old svn_client_merge_reintegrate() function

directly.

Separate the two meanings of 'ignore_ancestry' in the libsvn_client merge

APIs. The two new flags are 'ignore_mergeinfo' and 'diff_ignore_ancestry'.

* subversion/include/svn_client.h

(svn_client_merge5, svn_client_merge_peg5): New, with separate flags.

(svn_client_merge4, svn_client_merge_peg4): Deprecated.

* subversion/libsvn_client/merge.c

(svn_client_merge5, svn_client_merge_peg5): New, with separate flags.

* subversion/libsvn_client/deprecated.c

(svn_client_merge4, svn_client_merge_peg4): Re-implement as wrappers.

* subversion/svn/merge-cmd.c

(merge_reintegrate, svn_cl__merge): Update callers.

* build/generator/gen_base.py

(create_dll_target): Add exception for entries-dump to unbreak windows

shared library build support.

* subversion/tests/cmdline/entries-dump.c

(tree_dump_dir): Dump using the relative path to avoid problems with the

path already stored in the access baton.

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

(run_entriesdump_tree): New function, wrapping the new --tree-dump feature

of the entries-dump tool.

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

(from_entries): Use run_entriesdump_tree to reduce the number of invocations

of entries-dump by the number of directories in a working copy.

Separate the two meanings of 'ignore ancestry' in merge functions. One

meaning is ignore mergeinfo; the other is diff unrelated nodes as if they

are related. Extend this separation almost up to the public API, for now.

* subversion/libsvn_client/merge.c

(merge_cmd_baton_t): Instead of 'ignore_ancestry' have two separate flags

'ignore_mergeinfo' and 'diff_ignore_ancestry'.

(HONOR_MERGEINFO): Update the reference: use 'ignore_mergeinfo'.

(drive_merge_report_editor, do_file_merge): Update the references: use

'diff_ignore_ancestry'.

(do_merge, merge_locked, merge_peg_locked): Instead of 'ignore_ancestry'

take two separate flags.

(merge_cousins_and_supplement_mergeinfo): Instead of 'ignore_ancestry'

take just a 'diff_ignore_ancestry' flag, since this function is only

used with mergeinfo.

(merge_reintegrate_locked, do_automatic_merge_locked): Take a new

'diff_ignore_ancestry' flag, which was previously assumed to be false.

(svn_client_merge4,

svn_client_merge_peg4): Pass the API's 'ignore_ancestry' flag for both.

(svn_client_merge_reintegrate,

svn_client_do_automatic_merge): Pass FALSE for both, as we don't want to

ignore mergeinfo and don't have an API flag for ignoring diff ancestry.

Give entries-dump a new mode where it provides a python structure of the entire

subtree's entry data with just a single sqlite transaction.

This adds a new --tree-dump option which dumps everything our python code

wants, but in just a single call to this tool.

* subversion/tests/cmdline/entries-dump.c

(includes): Add lock.h.

(entries_dump): Accept a related access baton. Use svn__apr_ to avoid

ugly casts.

(directory_walk_baton): Add baton, to allow reusing this struct.

(tree_dump_dir,

tree_dump_txn,

tree_dump): New functions.

(main): Document and support --tree-dump. Update caller.

On the ev2-export branch:

Bring up-to-date with trunk. This picks up fixes for merge test 133.

While checking out the behavior of the code, apply some modern layout.

* subversion/libsvn_diff/diff_file.c

(datasources_open): Avoid warning with suffix scanning disabled.

(svn_diff_file_output_unified3): Don't initialize unneeded data. Remove

'direct child' requirement as any descendant will do. No space before

parren.

Make static string literal in svnserve message gettext friendly

* subversion/svnserve/svnserve.c

(svnserve__options): Remove use of nested macro for default port.

Breaks scanner and cannot be printf'ed in a static definition of

a apr_getopt_option_t[]. From r1334953/r1335021.

Approved by: stsp

ra_serf: Add 'svndiff1' and 'svndiff' to Accept-Encoding header in update

report request.

* subversion/libsvn_ra_serf/update.c

(setup_update_report_headers): New.

(finish_report): Set handler->custom_accept_encoding to TRUE and setup

headers delegate.

Add a c test for the diff problem described in issue #3362. The current result

is that the in-memory and file diff produce different results for this dataset.

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

(two_way_diff): Extend error message.

(test_issue_3362): New function.

(test_funcs): Add test_issue_3362 as XFail.

Switch diff-diff3-test.c to using our current io apis instead of the apr ones

that need the binary flag to avoid platform differences.

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

(make_random_file,

make_file,

three_way_merge,

two_way_diff,

make_random_merge_file,

random_trivial_merge,

random_three_way_merge,

merge_with_part_already_present): Use svn_io_* instead of apr_file_*.

* subversion/tests/cmdline/lock_tests.py

(locks_stick_over_switch): Update path separators to be more os-dependant.

* subversion/libsvn_subr/sqlite3wrapper.c

* tools/server-side/fsfs-stats.c

* tools/dev/fsfs-access-map.c

* tools/dev/fsfs-reorg.c

(svn:eol-style): Set to native.

* subversion/svn/notify.c

(notify): Don't calculate 'off' if it is going to be set to zero anyway.

* subversion/libsvn_wc/update_editor.c

(close_file): Following up on r1436694, remove SVN_DBG() call.