subversion

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

Changeset 842361 is being indexed.

* subversion.spec: Fix typo in %description.
* packages/rpm/subversion.spec : *sigh*, I don't know what I did wrong

previously, but it now seems to work without all the -L options in the

./configure setup.

Also changed the mod_dav_svn.so load script only pay attention to

lines starting with LoadModule so it will correctly put the

mod_dav_svn.so into the httpd.conf file after all the other LoadModule

lines.

    • -16
    • +3
    /trunk/packages/rpm/subversion.spec

Put a band-aid on issue #748. Instead of digging into the real reason

why 'svn merge' ignores the third 'wc-path' argument, just remove that

argument for now, and make users do all merging into '.', since that's

the behavior that happens regardless. At least unsuspecting users

can't accidentally mess up their local mods now (assuming they read

the helpstring.) Put off real issue till Beta.

* svn_client.h

(svn_client_merge): remove the wcpath argument, and place big

comment in docstring about the temporariness of this.

* libsvn_client/diff.c

(svn_client_merge): remove the target_wcpath argument, and make the

variable a constant "." internally instead. Add big note.

* cmdline/merge-cmd.c

(svn_cl__merge): don't pass wcpath into svn_client_merge anymore.

Make a big note about it.

* cmdline/main.c

(svn_cl__cmd_table): change the help string appropriately.

    • -2
    • +14
    /trunk/subversion/clients/cmdline/main.c
    • -3
    • +10
    /trunk/subversion/include/svn_client.h
    • -1
    • +4
    /trunk/subversion/libsvn_client/diff.c
Print "At revision N" instead of "Updated to revision N" for

effectless updates, as we did before the recent notification system

changes (see revision 2213 in particular).

* subversion/clients/cmdline/feedback.c

(notify): Be more conservative about registering a change.

Change commit/copy/import over to the new notification system. Now

only "svn merge" notification remains to be done. This resolves

issue #736, and continues work on issue #662.

This commit merges all the saved changes from branches/issue-662-dev/,

and then completes them. The merge command was:

svn merge -r2202:2199 http://svn.collab.net/repos/svn/branches/issue-662-dev

...but then continued tweaking until everything worked again.

(Note that this log message is complete -- it shouldn't be necessary

to consult revision 2202's log.)

* subversion/include/svn_client.h

(svn_client_import): Use notify_func and notify_baton instead of

before and after editors.

(svn_client_commit, svn_client_copy): Lose before and after

editors. Existing notify_func and notify_baton will be used for

everything now.

* subversion/libsvn_client/copy.c

(svn_client_copy): Same as header changes.

(wc_to_repos_copy): Take notify_func and notify_baton instead of

before and after editors.

(repos_to_wc_copy, setup_copy): Don't take before and after editors

anymore; use notify_func and notify_baton for everything.

(svn_client_move): Adjust call to setup_copy.

* subversion/libsvn_client/commit.c:

(svn_client_import, svn_client_commit): Same as header changes.

(import_file, import_dir): Take notify_func and notify_baton, invoke

them when appropriate.

(import): Take notify_func and notify_baton, pass them along, and do

notifications for postfix text deltas. Add code to notify for the

top-level path, but leave it inactive

* subversion/clients/cmdline/cl.h

(svn_cl__get_trace_update_editor): Add notice of obsoleteness.

(svn_cl__get_trace_commit_editor): Removed prototype.

* subversion/clients/cmdline/trace-commit.c: Remove this file.

* subversion/clients/cmdline/copy-cmd.c

(svn_cl__copy): Handle notification the new way.

* subversion/clients/cmdline/commit-cmd.c

(svn_cl__commit): Same.

* subversion/clients/cmdline/import-cmd.c

(svn_cl__import): Same.

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

(guarantee_greek_repository): Expect the new import output.

    • -41
    • +15
    /trunk/subversion/include/svn_client.h
    • -37
    • +6
    /trunk/subversion/libsvn_client/copy.c
    • -12
    • +3
    /trunk/subversion/clients/cmdline/cl.h
    • -35
    • +118
    /trunk/subversion/libsvn_client/commit.c
* libsvn_fs.dsp: Some files moved to subdirectories.
    • binary
    /trunk/subversion/libsvn_fs/libsvn_fs.dsp
* packages/rpm/install.patch : Fixed to copy the mod_dav_svn.so and

mod_dav_svn.la into the new apache-2.0.40 modules directory.

* packages/rpm/subversion.spec : Updates to work with apache-2.0.40 and

RedHat 7.3.

* packages/rpm/README : Changed to point to the subversion.spec file for

information on package dependencies.

    • -18
    • +54
    /trunk/packages/rpm/subversion.spec
Follow up to revision 2278.

* subversion/libsvn_fs/bdb/copies-table.c

* subversion/libsvn_fs/id.c

* subversion/libsvn_fs/util/fs_skels.c

No longer #include validate.h which was removed in revision 2278.

Ongoing work on the delta combiner (issue #531).

* compose_delta (copy_source_ops): Handle overlapping target copies.

* random-test.c: Enable random_combine_test.

Continue de-Berkeleyizing the main libsvn_fs code. This commit

doesn't finish the task, but the task isn't exactly high priority

either, so I probably won't continue it at this time.

* subversion/libsvn_subr/path.c

(svn_path_is_single_path_component): Was svn_fs__is_single_path_component.

Now returns svn_boolean_t.

* subversion/include/svn_path.h

(svn_path_is_single_path_component): Was svn_fs__is_single_path_component.

Now returns svn_boolean_t.

* subversion/libsvn_fs/validate.c

* subversion/libsvn_fs/validate.h

Removed files.

* subversion/libsvn_fs/bdb/txn-table.h

(svn_fs__put_txn): New.

(svn_fs__commit_txn, svn_fs__get_txn_ids, svn_fs__set_txn_root,

svn_fs__add_txn_copy, svn_fs__set_txn_base, svn_fs__set_txn_prop):

Moved to revs-txns.h.

* subversion/libsvn_fs/bdb/txn-table.c

(svn_fs__put_txn): Was put_txn().

(svn_fs__commit_txn, svn_fs__get_txn_ids, svn_fs__set_txn_root,

svn_fs__set_txn_base, svn_fs__add_txn_copy, struct txn_prop_args,

txn_body_txn_prop, svn_fs_txn_prop, struct txn_proplist_args,

txn_body_txn_proplist, svn_fs_txn_proplist, svn_fs__set_txn_prop,

struct change_txn_prop_args, txn_body_change_txn_prop,

svn_fs_change_txn_prop): Moved to revs-txns.c.

(svn_fs__create_txn): put_txn => svn_fs__put_txn.

* subversion/libsvn_fs/bdb/rev-table.h

(svn_fs__rev_get_root, svn_fs__rev_get_txn_id, svn_fs__set_rev_prop):

Moved to revs-txns.h.

(svn_fs__put_rev): Modify the promise of this function just a bit.

* subversion/libsvn_fs/bdb/rev-table.c

No longer #include validate.h.

(svn_fs__put_rev): Was put_rev. Old svn_fs__put_rev removed.

(svn_fs__rev_get_root, svn_fs__rev_get_txn_id, struct

youngest_rev_args, txn_body_youngest_rev, svn_fs_youngest_rev,

struct revision_prop_args, svn_fs_revision_prop, txn_body_revision_prop,

txn_body_revision_proplist, struct revision_proplist_args,

svn_fs_revision_proplist, struct change_rev_prop_args,

svn_fs__set_rev_prop, txn_body_change_rev_prop,

svn_fs_change_rev_prop): Moved to revs-txns.c.

* subversion/libsvn_fs/revs-txns.h

* subversion/libsvn_fs/revs-txns.c

New files.

* subversion/libsvn_fs/dag.c

No longer #include validate.h.

(make_entry, svn_fs__dag_clone_child, delete_entry,

svn_fs__dag_link, svn_fs__dag_open):

svn_fs__is_single_path_component => svn_path_is_single_path_component.

(svn_fs__dag_commit_txn, txn_body_dag_init_fs): Initialize revision

argument passed to svn_fs__put_rev().

* subversion/tests/libsvn_delta/random-test.c

(random_combine_test): Comment this out to prevent compiler warnings.

    • -0
    • +22
    /trunk/subversion/libsvn_subr/path.c
    • -0
    • +554
    /trunk/subversion/libsvn_fs/revs-txns.c
    • -0
    • +152
    /trunk/subversion/libsvn_fs/revs-txns.h
Update the path to tools/dev/svn-dev.el, now that these files are

another subdir lower.

    • -1
    • +1
    /trunk/subversion/libsvn_fs/util/skel.h
    • -1
    • +1
    /trunk/subversion/libsvn_fs/util/skel.c
  1. … 3 more files in changeset.
Remove some more unused includes.

    • -1
    • +1
    /trunk/subversion/libsvn_fs/node-rev.c
Remove a some needless includes from these headers.

    • -2
    • +0
    /trunk/subversion/libsvn_fs/validate.h
Looks like Mike forgot this as part of his 2273 checkin.

* build.conf: add the new FS subdirs to the sources line for

libsvn_fs. Note that we also need to explicitly mention the *.c in

the libsvn_fs directory itself, too.

Make and populate subdirectories for Berkeley DB stuff and some

database utils under the libsvn_fs directory. This required patching

up many other files' #include lines, too.

* subversion/libsvn_fs/bdb

New directory for Berkeley DB-specific source code. Also set the

svn:ignore property here.

* subversion/libsvn_fs/util

New directory for filesystem utilities source code. Also set the

svn:ignore property here.

* subversion/libsvn_fs/bdb/copies-table.c

* subversion/libsvn_fs/bdb/copies-table.h

* subversion/libsvn_fs/bdb/rev-table.c

* subversion/libsvn_fs/bdb/rev-table.h

* subversion/libsvn_fs/bdb/txn-table.c

* subversion/libsvn_fs/bdb/txn-table.h

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

* subversion/libsvn_fs/bdb/reps-table.h

* subversion/libsvn_fs/bdb/strings-table.c

* subversion/libsvn_fs/bdb/strings-table.h

* subversion/libsvn_fs/bdb/nodes-table.c

* subversion/libsvn_fs/bdb/nodes-table.h

* subversion/libsvn_fs/bdb/dbt.c

* subversion/libsvn_fs/bdb/dbt.h

Moved from subversion/libsvn_fs.

* subversion/libsvn_fs/util/skel.c

* subversion/libsvn_fs/util/skel.h

* subversion/libsvn_fs/util/fs_skels.c

* subversion/libsvn_fs/util/fs_skels.h

Moved from subversion/libsvn_fs.

* subversion/libsvn_fs/structure

Update this document with near-future plans for the filesystem.

    • -0
    • +166
    /trunk/subversion/libsvn_fs/bdb/txn-table.h
    • -0
    • +194
    /trunk/subversion/libsvn_fs/bdb/copies-table.c
    • -0
    • +114
    /trunk/subversion/libsvn_fs/bdb/nodes-table.h
    • -2
    • +2
    /trunk/subversion/libsvn_fs/node-rev.c
    • -0
    • +86
    /trunk/subversion/libsvn_fs/bdb/copies-table.h
    • -0
    • +363
    /trunk/subversion/libsvn_fs/bdb/nodes-table.c
    • -0
    • +448
    /trunk/subversion/libsvn_fs/bdb/rev-table.c
  1. … 38 more files in changeset.
If files are located in a subdirectory of a target, then don't use

'basename' to compute the object. Just strip the path, leaving a

relative path to the .lo file.

* gen_base.py

(_strip_path): new function to strip a given path from a set of

files.

(MakefileGenerator.write): use the new _strip_path function on the

object files, rather than mapping os.path.basename over them.

* range-index-test.h: Sync with changes to init_params.
* INSTALL

Update documentation to match that subversion requires neon 0.21.2.

Ongoing work on the delta combiner (issue #531).

[In subversion/libsvn_delta]

* compose_delta.c (insert_range): Fix bug where a new range superceded

an existing range, but the target offset didn't get updated.

(svn_txdelta__compose_windows): Generate source view offset and length

correctly: Introduce parameter next_sview_offset, a sort of baton for

the combinaer, and use update it when generating the combined window.

Don't add the op offset twice to the new data pointer when copying delta

ops to the composite.

* delta.h (svn_txdelta__compose_windows): Update prototype.

[In subversion/tests/libsvn_delta]

* delta-window-test.h: New file. Code for printing delta windows, extracted

from vdelta-test.c,

* range-index-test.h: New file. Unit test for the delta combiner's range

index, extracted from random-test.c

* vdelta-test.c: Include and use the code from delta-window-test.h.

Update calls to svn_txdelta__compose_windows.

* random-test.c: Include and use the code from delta-window-test.h.

Include range-index-test.h, disabled by default.

(init_params): New parameters dump_files, print_windows, random_bytes

and bytes_range. Modify through new options -F, -W and -r..., respectively.

All callers changed.

(generate_random_file): Handle random_bytes, bytes_range and dump_files.

All callers changed.

(compare_files): Handle dump_files. All callers changed.

(copy_tempfile): Rewind streams.

(random_combine_test): New test for the delta combiner, disabled by default.

    • -0
    • +1
    /trunk/subversion/libsvn_delta/delta.h
Ongoing work on the delta combiner (issue #531).

- Don't overlap successive source windows when generating deltas. The

combiner can't handle that yet. Note: The code in apply_delta()

still handles overlapping windows, so data in the repository will

still be readable. However, all repositories will have to be

reloaded before the delta combiner is enabled.

* text_delta.c (svn_txdelta_stream_t): Remove field saved_source_len.

(svn_txdelta): Don't initialize the baton's saved_source_len field.

Allocate only twice the stream chunk size.

(svn_txdelta_next_window): Remove total_srouce_len, and all code that

relies on it and the baton's saved_source_len field. Rename new_source_len

to source_len, and use it wherever total_source_len was used.

* svn_base64.h:

* svn_fs.h:

* svn_hash.h:

* svn_path.h:

* svn_quoprint.h:

* svn_repos.h:

* svn_sorts.h:

* svn_test.h:

* svn_time.h:

Fix the placement of the C++ namespace wrappers.

    • -8
    • +6
    /trunk/subversion/include/svn_base64.h
    • -7
    • +6
    /trunk/subversion/include/svn_quoprint.h
Make 'svn propset svn:executable' take effect immediately.

This is in contrast to our other "magic" props; svn:eol-style and

svn:keywords don't tweak your working file until you commit. But Karl

rightly points out that this isn't really a problem; users aren't

going to expect all these magic props to behave exactly the same.

Tweaking file contents is much more invasive than tweaking permissions.

* props.c (svn_wc_prop_set): if the svn:executable property is either

set or deleted, then do a chmod +x or -x on the working file.

    • -0
    • +11
    /trunk/subversion/libsvn_wc/props.c
* subversion.dsw: Add some dependencies on libsvn_delta.
* build/buildcheck.sh

Require neon 0.21.2. A bug in neon 0.21.1 was found by Justin

Erenkrantz using svn with mod_deflate if zlib was used for

on-the-wire compression.

Bugfix for an edge-case of the ghudson 'deleted' scenario: when

receiving a newly 'added' item during checkout or update, be sure we

correctly overwrite any pre-existing phantom 'deleted' entry.

* update_editor.c

(maybe_bump_dir_revision): don't assume that an added directory has

no entry in its parent. When writing a new parent entry, add a

'deleted = FALSE' attribute to the entry merge.

(svn_wc_install_file): same here. When we finally write the new

entry for an added file, be sure to merge 'deleted = FALSE'.

* copy_tests.py

(resurrect_deleted_dir): uncomment the second half of this test,

which actually uncovered this bug in the first place!

* build/buildcheck.sh

Allow use of neon 0.21.2. However, don't require it.

* subversion/libsvn_client/externals.c

(handle_external_item_change): Calculate path up front, instead of

duplicating the calculation for each case. Remove a block level.

Change some of the internal test framework over to the new State

systme and remove some obsolete stuff.

* svntest/wc.py (State.write_to_disk): new method to dump a State to

disk.

* svntest/actions.py

(guarantee_greek_repository): refer to main.greek_state rather than

main.greek_tree.

(make_repo_and_wc): construct the expected output by copying

main.greek_state rather than building a tree from

main.greek_tree. The expected WC is equal to the greek_state.

(get_virginal_status_list): removed. no longer used.

(path_index): removed. no longer used.

* svntest/main.py

(greek_tree): removed. no longer used.

(greek_state): add a comment for this variable, based on the old

greek_tree comments.

(write_tree): removed. no longer used.

(copy_greek_tree): removed. no longer used.

Convert the rest of the tests to the new State mechanism for

representing trees.

* basic_tests.py:

* commit_tests.py:

* copy_tests.py:

* log_tests.py:

* module_tests.py:

* prop_tests.py:

* stat_tests.py:

* svnadmin_tests.py:

* trans_tests.py:

* update_tests.py:

(all test functions): build the expected output, disk, and status as

State objects rather than as lists (converted to trees).

generally, calls to build_generic_tree() were switched to

construction of a State by instantiating a bunch of StateItem

objects. The get_virginal_state() function was used instead of

get_virginal_status_list(). We also use main.greek_state.copy()

rather than calling main.copy_greek_tree().

The path_index function is no longer used, so the "abbreviation"

was removed from the test scripts.

* schedule_tests.py:

Same as above.

(revert_add_files, revert_add_directories, revert_nested_adds,

revert_delete_files, revert_delete_dirs): simplify list

comparisons. [I believe the sorting isn't necessary, assuming the

output is deterministic; I left it in for now]

* switch_tests.py:

Same as above.

Doc tweak: note that we have 'svn info' to get URLs.

More work on issue #517:

* subversion/libsvn_client/externals.c

(handle_external_item_change): Handle the commit-then-update case.