subversion

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

Changeset 842051 is being indexed.

Fix warnings from gcc -Wunsigned; comparison between signed and

unsigned integers.

* clients/cmdline/main.c (svn_cl__get_option_from_enum,

subcommand_takes_option, print_command_info): Use apr_size_t when

comparing against sizeof() values.

* tests/libsvn_wc/translate-test.c (create_file,

substitute_and_verify): Likewise, and when comparing against stringbuf

len field.

    • -3
    • +3
    /trunk/subversion/clients/cmdline/main.c
* diff.c (do_diff): Fix some error handling, courtesy of gcc

-Wunreachable-code.

    • -4
    • +4
    /trunk/subversion/libsvn_client/diff.c
More work on ra_pipe. This gets the client part of update working. Presumably

switch will as well, although that isn't tested. More thought needs to be done

about how the xml-update file will look when doing status -u, since

svn_delta_xml_auto_parse currently expects text-deltas to be in the file.

* subversion/libsvn_ra_pipe/ra_pipe.c:Moved #defines to new ra_pipe.h.

(svn_ra_pipe__close) - Add missing close tag for the request.

(svn_ra_pipe__do_checkout) - Now uses a compat wrapper, and accepts newstyle

editor.

(svn_ra_pipe__do_update, svn_ra_pipe__do_switch, svn_ra_pipe__do_status) -

Implement with new svn_ra_pipe__get_reporter.

* subversion/libsvn_ra_pipe/ra_pipe.h: Moved #defines from ra_pipe.c, added

some new ones for the reporter.

(svn_ra_pipe__get_reporter) - New prototype.

* subversion/libsvn_ra_pipe/pipe_reporter.c: (svn_ra_pipe__report_baton_t) -

New type.

(svn_ra_pipe__set_path, svn_ra_pipe__delete_path, svn_ra_pipe__link_path,

svn_ra_pipe__finish_report, svn_ra_pipe__abort_report, ra_pipe_reporter) -

New reporter vtable and object.

(svn_ra_pipe__get_reporter) - New func to create a reporter.

    • -0
    • +98
    /trunk/subversion/libsvn_ra_pipe/ra_pipe.h
Cleanup to revision 1973, thanks to Brane and Philip for the suggestions.

* configure.in - Use ${0} instead of 'A' as the file to diff.

* subversion/libsvn_subr/io.c (svn_io_run_diff3) - Remove one #ifdef, by

allocating one extra const char * sometimes.

Support newer versions of diffutils when they are installed in non-standard

locations. Tested with diffutils 2.7 and diffutils 2.8.

* configure.in - Determine whether or not diff3 supports the --diff-program

arg and define SVN_DIFF3_HAS_DIFF_PROGRAM_ARG if it does.

* subversion/libsvn_subr/io.c (svn_io_run_diff3) - Pass --diff-program to diff3

if it supports it.

Checkpoint of delta combiner work.

* libsvn_delta/delta.h (build_ops_baton_t): Removed forward declaration.

Renamed to svn_txdelta__ops_baton_t and changed all uses.

(svn_txdelta__make_window): New prototype.

(svn_txdelta__compose_windows) New prototype.

* subversion/libsvn_delta/compose_delta.c: New file.

* libsvn_delta/libsvn_delta.dsp: Added compose_delta.c.

* libsvn_delta/vdelta.c: Renamed build_ops_baton_t -> svn_txdelta__ops_baton_t.

* libsvn_delta/text_delta.c (build_ops_baton_t): Moved definition to delta.h.

(make_window): Made global and renamed to svn_txdelta__make_window. Swapped

order of parameters, and renamed `bob' to `build_baton' for consistency.

All callers changed.

(svn_txdelta__insert_op): Renamed `bob' to `build_baton' for consistency.

(svn_txdelta_next_window): Likewise.

* tests/libsvn_delta/random-test.c (walk_range_index, print_range_index,

random_range_index_test): New test for combiner internals, disabled by

default as it's expected to fail.

(test_funcs): Added random_range_index_test.

    • -2
    • +2
    /trunk/subversion/libsvn_delta/vdelta.c
    • -4
    • +29
    /trunk/subversion/libsvn_delta/delta.h
    • -0
    • +506
    /trunk/subversion/libsvn_delta/compose_delta.c
* subversion/libsvn_fs/fs.c

(svn_fs_create_berkeley): Set lock inits to 2000 in DB_CONFIG.

I'm pretty sure this won't hurt anything, based on the text at

http://www.sleepycat.com/docs/ref/lock/max.html, and it may help solve

the problem described by Sander Striker's mail

Subject: DB_CONFIG on svn.collab.net

at http://subversion.tigris.org/servlets/ReadMsg?msgId=72992&listName=dev.

Anyone who feels they understand this issue well should please feel

free to tweak these numbers :-).

Completion of issue #658. Man, this 'deleted' entry thing is a royal

pain in the %#*$. But it's a necessary evil if we're to allow

mixed-revision working copies that remain accurate. And the

implementation is much cleaner this time around, thanks to a lot of

rewriting of libsvn_wc over the last year.

All six of my hand-tests pass, and 'make check' passes over ra_local

and ra_dav. I think this is about a good a guarantee as we can get

for now. (That is, a guarantee that the 'ghudson paradox' is now

fixed, and that we've not regressed at all.)

* adm_ops.c (svn_wc_add): allow this function to see 'deleted'

items. it's totally fine to have an entry scheduled for addition

and previously 'deleted'.

(recursively_tweak_entries): don't recurse on 'deleted' directories.

(svn_wc_revert): after removing a 'schedule add' entry, be sure to

leave a lone 'deleted' entry behind iff the entry was also 'deleted'

to begin with.

* entries.c (svn_wc__entry_modify): make this function aware of

'deleted' entries. necessary for above change; deleted entries

may need to have 'schedule=add' merged into them.

(fold_scheduling): allow a schedule=add when entry exists and is deleted.

(svn_wc__tweak_entry): duh, actually remove the deleted entry from the hash.

* log.c (log_do_committed, svn_wc__run_log): oops, don't forget to

write out the Kind when creating a 'deleted' entry. also, for a

re-added dir, make sure 'deleted' flag goes away in parent's entry.

* adm_crawler.c (report_revisions): if entry is 'deleted', report it

as missing in update transaction. This is the Whole Point of

implementing 'deleted' entries. :-)

* commit_tests.py (hudson_part_1, hudson_part_1_variation_1): these

tests no longer expect a 'no-op' deletion during the update.

* notes/ghudson_deleted_entries: new file, my notes on this issue.

    • -10
    • +60
    /trunk/subversion/libsvn_wc/adm_ops.c
    • -10
    • +11
    /trunk/subversion/libsvn_wc/entries.c
    • -0
    • +106
    /trunk/notes/ghudson_deleted_entries
    • -5
    • +12
    /trunk/subversion/libsvn_wc/adm_crawler.c

Continuation of issue #658... remove 'deleted' entries altogether

after updates and committed adds.

* entries.c (svn_wc__tweak_entry): if the server didn't overwrite the

deleted entry during an update, then it's safe to assume that the

entry is *meant* to be gone in the parent dir's revision... so

remove the entry altogether.

* log.c (log_do_committed): if we manage to get the point where a

committed entry is being 'installed', then it's safe to remove any

'deleted' state that might have co-existed with a 'schedule=add'

state.

Fix issue 705. Don't use the trail pool for the returned conflict path.

* subversion/libsvn_fs/tree.c

(merge): Change parameter to svn_stringbuf_t*, and set it using

svn_stringbuf_set.

(merge_args): Make conflict an svn_stringbuf_t*.

(svn_fs_commit_txn, svn_fs_merge_txn): Initialise merge_args.conflict

using svn_stringbuf_create.

    • -27
    • +36
    /trunk/subversion/libsvn_fs/tree.c

Mark entries as 'deleted' as the appropriate times in post-commit

processing.

* log.c (log_do_committed): for a committed, deleted file, possibly

recreate a 'deleted' entry after removing it from revision control.

(svn_wc__run_log): if a KILLME file cause the whole directory to be

removed, also possibly put a 'deleted' dir entry in parent as well.

Also: only remove logfile *after* checking for KILLME file. This

allows the next change...

(svn_wc_cleanup): ...no need to look for a KILLME file. If the log

was run, it was already handled.

    • -20
    • +76
    /trunk/subversion/libsvn_wc/log.c
Continue working on issue #654.

### Until further notice, this branch should NOT be expected to build.

### Should one be so lucky as to build it, one should note that the

### use of this branch WILL CAUSE the emergence, at an unnatural rate,

### of gray hairs and ulcers.

* subversion/libsvn_fs/fs.h

(svn_fs__txn_id_t, svn_fs__copy_id_t, svn_fs__node_id_t): New.

(SVN_FS__TXN_ID_T_FMT, SVN_FS__NODE_ID_T_FMT, SVN_FS__COPY_ID_T_FMT): New.

(svn_fs__revision_t): Add 'txn_id' member.

(svn_fs__transaction_t): Add 'revision' member, and modify comments.

(svn_fs__node_revision_t): Remove 'ancestor_path', 'ancestor_rev',

and 'revision' members. Add 'predecessor_id' member.

* subversion/include/svn_fs.h

(svn_fs_id_distance): Removed.

(svn_fs_check_related): Remove 'related', 'fs', and 'pool' parameters,

and now return an int.

* subversion/libsvn_fs/node-rev.h

(svn_fs__stable_node): Removed.

* subversion/include/svn_error_codes.h

(SVN_ERR_FS_TRANSACTION_NOT_MUTABLE): New error code.

* subversion/libsvn_fs/err.h

(svn_fs__err_txn_not_mutable): New.

* subversion/libsvn_fs/fs_skels.c

(is_valid_transaction_skel, svn_fs__parse_transaction_skel,

svn_fs__unparse_transaction_skel): Handle new committed transaction skel.

(is_valid_revision_skel, svn_fs__parse_revision_skel,

svn_fs__unparse_revision_skel): Update to handle new svn_fs__revision_t.

(is_valid_node_revision_header_skel, svn_fs__parse_node_revision_skel,

svn_fs__unparse_node_revision_skel): Update to hande new

svn_fs__node_revision_t.

* subversion/libsvn_fs/structure

Small mods to definition of committed transaction and NODE-REVISION skels.

* subversion/libsvn_fs/txn-table.c

(is_committed, svn_fs__commit_txn): New.

(svn_fs__create_txn): Update to new svn_fs__transaction_t type.

(svn_fs__delete_txn, svn_fs__set_txn_root, svn_fs__set_txn_base,

txn_body_txn_prop, txn_body_txn_proplist, svn_fs__set_txn_prop):

Don't operate on committed transactions.

(svn_fs__get_txn_list): Drop a todo to make this filter out

committed transactions.

* subversion/libsvn_fs/id.h

(struct svn_fs_id_t): Remove 'digits' member, add 'node_id',

'copy_id', and 'txn_id' members. Do some docstring re-writing.

(svn_fs__id_length, svn_fs__precede_id, svn_fs__id_predecessor): Removed.

* subversion/libsvn_fs/id.c

(svn_fs__id_length, svn_fs_id_distance, distance_from_prefix): Remove.

(svn_fs__id_eq, svn_fs__id_copy): Rework to new svn_fs_id_t type and

semantics.

(svn_fs_check_related): Remove 'related', 'fs', and 'pool'

parameters, and now return an int. Rework to new svn_fs_id_t type

and semantics.

* subversion/libsvn_fs/deltify.c

(svn_fs__stable_node): Removed.

* subversion/libsvn_fs/err.c

(svn_fs__err_txn_not_mutable): New.

* subversion/libsvn_fs/txn-table.h

(svn_fs__get_txn_list): Add todo comment.

(svn_fs__set_txn_prop, svn_fs__set_txn_base, svn_fs__set_txn_root,

svn_fs__get_txn_ids, svn_fs__delete_txn): Edit promise.

(svn_fs__commit_txn): New.

    • -194
    • +13
    /branches/issue-654-dev/subversion/libsvn_fs/id.c
    • -81
    • +12
    /branches/issue-654-dev/subversion/libsvn_fs/id.h

Tweak on issue #658 ("reinstate 'deleted' flag").

It turns out that it's possible for an entry to simultaneously be

flagged as 'deleted' and 'scheduled for addition':

svn rm foo.c

svn ci foo.c

touch foo.c

svn add foo.c

In such a case, 90% of all callers of svn_wc_entries_read *do* in fact

still need to see such an entry. So we tweak the screening process:

* svn_wc.h (svn_wc_entries_read, svn_wc_entry): change promise of

'show_deleted' argument: only screen out entries that are deleted

and also *not* scheduled for re-addition.

* entries.c (handle_start_tag): the new screening test.

Fix a memory problem identified by valgrind.

* subversion/clients/cmdline/trace-commit.c (close_edit): Access

baton before destroying the pool.

Merge r1961 from /trunk into this branch.

(Fix some memory problems identified by valgrind.)

Merge r1959 and r1960 from /trunk into this branch.

(Constify some of the svn_fs_id_t variables and remove some casts.)

    • -2
    • +2
    /branches/issue-654-dev/subversion/libsvn_fs/txn-table.h
    • -3
    • +3
    /branches/issue-654-dev/subversion/libsvn_fs/node-rev.h
    • -4
    • +4
    /branches/issue-654-dev/subversion/libsvn_fs/txn.c
    • -3
    • +3
    /branches/issue-654-dev/subversion/libsvn_fs/node-rev.c
    • -2
    • +2
    /branches/issue-654-dev/subversion/libsvn_fs/dag.h
Fix some memory problems identified by valgrind.

* subversion/libsvn_delta/text_delta.c (svn_txdelta): Initialise

digest member.

* subversion/libsvn_fs/deltify.c (deltify_by_id): Don't read more

than svn_fs__id_length digits from target_id.

* subversion/libsvn_ra_dav/commit.c (do_proppatch): Release buffer

allocated by ne_buffer_create.

    • -6
    • +9
    /trunk/subversion/libsvn_ra_dav/commit.c
Fix some const-ness errors noted by C. Mike Pilato <cmpilato@collab.net>

* libsvn_fs/dag.c

(dir_entry_id_from_node): constify the 'id_p' return value

(svn_fs__dag_link): constify the 'entry_id' variable

(svn_fs__dag_open): constify the 'node_id' variable

Constify some of the svn_fs_id_t variables and remove some casts.

* libsvn_fs/fs.h

(struct svn_fs__revision_t): constify the 'id' member

(struct svn_fs__transaction_t): constify the 'root_id' and

'base_root_id' members

* libsvn_fs/dag.h

(svn_fs__dag_get_node): constify the 'id' parameter

(svn_fs__dag_delete_if_mutable): constify the 'id' parameter

* libsvn_fs/dag.c

(svn_fs__dag_get_node): constify the 'id' parameter

(make_entry): constify the 'new_node_id' variable

(svn_fs__dag_revision_root): constify the 'root_id' variable

(svn_fs__dag_txn_root): constify the 'root_id' and 'ignored'

variables.

(svn_fs__dag_txn_base_root): constify the 'base_root_id' and

'ignore' variables.

(svn_fs__dag_clone_child): constify the 'new_node_id' variable

(svn_fs__dag_clone_root): constify the 'base_root_id' and 'root_id'

variables.

(svn_fs__dag_delete_if_mutable): constify the 'id' parameter

(svn_fs__dag_copy): remove the cast on the first arg of the

svn_fs__create_node() function call.

* libsvn_fs/txn-table.h

(svn_fs__get_txn_ids): constify the 'root_id_p' and 'base_root_id_p'

parameters.

* libsvn_fs/txn-table.c

(svn_fs__create_txn): remove casts for assigning to the 'root_id'

and 'base_root_id' members.

(svn_fs__get_txn_ids): constify the return values of the 'root_id_p'

and 'base_root_id_p' parameters.

(svn_fs__set_txn_root): remove the cast for the 'root_id' member

(svn_fs__set_txn_base): remove the cast for the 'base_root_id' member

* libsvn_fs/tree.c

(txn_body_commit): constify the 'y_rev_root_id' variable

(txn_body_txn_root): constify the 'root_id' and 'base_root_id'

variables

* libsvn_fs/txn.c

(txn_body_begin_txn): constify the 'root_id' variable

(txn_body_abort_txn): constify the 'root_id' and 'ignored_id'

variables

(txn_body_open_txn): constify the 'root_id' and 'base_root_id'

variables

* libsvn_fs/node-rev.h

* libsvn_fs/node-rev.c

(svn_fs__create_node): constify the 'id_p' return value

(svn_fs__create_successor): constify the 'id_p' return value and the

'old_id' input parameter

* libsvn_fs/rev-table.h

* libsvn_fs/rev-table.c

(svn_fs__rev_get_root): constify the 'root_id_p' return value

    • -3
    • +3
    /trunk/subversion/libsvn_fs/node-rev.h
    • -2
    • +2
    /trunk/subversion/libsvn_fs/txn-table.h
    • -6
    • +6
    /trunk/subversion/libsvn_fs/txn-table.c
    • -3
    • +3
    /trunk/subversion/libsvn_fs/node-rev.c
    • -1
    • +1
    /trunk/subversion/libsvn_fs/rev-table.c
    • -1
    • +1
    /trunk/subversion/libsvn_fs/rev-table.h
Fix some memory leaks identified by valgrind.

* subversion/clients/cmdline/main.c (main): Add svn_terminate as an

atexit function. Add apr_initialize error checking while I'm here.

* subversion/libsvn_fs/nodes-table.c

(parse_node_revision_dbt, compare_nodes_keys): Free malloc'd digits

member when free'ing svn_fs_id_t pointer.

* subversion/libsvn_ra_dav/session.c (svn_ra_dav__close): Free the uri

fields allocated in svn_ra_dav__open.

    • -2
    • +14
    /trunk/subversion/clients/cmdline/main.c
    • -2
    • +11
    /trunk/subversion/libsvn_fs/nodes-table.c
    • -7
    • +14
    /trunk/subversion/libsvn_ra_dav/session.c
Starting module system, issue #517:

* subversion/include/svn_types.h

(SVN_PROP_MODULE): New property.

* subversion/libsvn_wc/entries.h

(SVN_WC__ENTRY_ATTR_MODULE): New entry attribute...

(SVN_WC__ENTRY_MODIFY_MODULE): ...And new modification flag for it.

* modules/: Set `svn:module' property on this directory.

* modules/svn-docs: Set `svn:module' property on this directory.

Later, we'll make this property inherit, so future files added here

get it automatically...

* modules/svn-docs: New module, for hand testing.

New top-level "modules/" directory, for holding module descriptions.

Part I of issue #658: reinstate the 'deleted' flag on entries, so that

updating clients can once again give accurate state-reports to the

server.

[This is one aspect of the "ghudson paradox", originally solved via

CVS commit on 2001-07-18 15:30, and then removed in svn r642.]

This change simply creates the *potential* for an entry to be marked

as deleted. Nothing is being marked this way yet. I just want to

make sure everything compiles and passes tests up to this point, to

lower the power-plant factor.

* svn_wc.h

(svn_wc_entry_t): add 'deleted' boolean field to entry struct.

(svn_wc_entry, svn_wc_entries_read): new 'show_deleted' argument.

* entries.h

(SVN_WC__ENTRY_ATTR_DELETED): new xml attribute name.

(SVN_WC__ENTRY_MODIFY_DELETED): new modify-flag; renumber

successive flag values.

* entries.c

(svn_wc__atts_to_entry): read 'deleted' attribute into entry

structure.

(write_entry): write entry 'deleted' flag into xml att hash.

(fold_entry): if modify-flags dictate, absorb value of 'deleted' flag.

(svn_wc_entries_read, svn_wc_entry, read_entries, struct

entries_accumulator, handle_start_tag): take and process

'show_deleted' boolean arg.

* adm_ops.c

(svn_wc__do_update_cleanup, recursively_tweak_entries,

svn_wc_process_committed): pass TRUE for 'show_deleted' flag.

* log.c

(log_do_committed): pass TRUE for 'show_deleted' flag.

* adm_crawler.c

(report_revisions) pass TRUE for 'show_deleted' flag.

[ Every other caller is passing FALSE for 'show_deleted'. (I have the

massive list of callers, but am omitting it here for clarity.) ]

    • -4
    • +4
    /trunk/subversion/libsvn_client/diff.c
    • -1
    • +2
    /trunk/subversion/clients/cmdline/main.c
    • -1
    • +1
    /trunk/subversion/libsvn_client/status.c
    • -1
    • +1
    /trunk/subversion/libsvn_client/update.c
    • -9
    • +11
    /trunk/subversion/libsvn_wc/entries.h
    • -2
    • +2
    /trunk/subversion/libsvn_client/switch.c
  1. … 16 more files in changeset.
Actually instantiate and initialize the new `copies' table.

* subversion/libsvn_fs/copies-table.c

(svn_fs__open_copies_table): Put initial entry into the `copies' table.

(put_copy): Constify `copy'.

(allocate_copy_id): Update call to svn_fs__err_corrupt_next_id.

* subversion/libsvn_fs/fs.c

(cleanup_fs, svn_fs_create_berkeley, svn_fs_open_berkeley): Process

new `copies' table along with others.

* subversion/libsvn_fs/err.c

* subversion/libsvn_fs/err.h

(svn_fs__err_corrupt_next_id): Was svn_fs__err_corrupt_next_txn_id.

Now accepts `table' parameter.

* subversion/libsvn_fs/txn-table.c

(allocate_txn_id): Update call to svn_fs__err_corrupt_next_id.

* subversion/libsvn_fs/fs_skels.h

(svn_fs__unparse_copy_skel): Constify `copy'.

* subversion/libsvn_fs/fs_skels.c

(svn_fs__unparse_copy_skel): Constify `copy'.

Cleanup some FS code, with a nod to Greg Stein <gstein@collab.net> for

the review. Also (committed in revision 1950 to /trunk).

* subversion/libsvn_fs/fs.h

(svn_fs__revision_t, svn_fs__transaction_t, svn_fs__node_revision_t):

Comment clarification.

* subversion/libsvn_fs/fs_skels.h

(svn_fs__unparse_revision_skel): Constify `revision'.

(svn_fs__unparse_transaction_skel): Constify `transaction'.

(svn_fs__unparse_representation_skel): Constify `rep'.

(svn_fs__unparse_node_revision_skel): Constify `noderev' (which was

`rep' by accident)

* subversion/libsvn_fs/reps-table.h

(svn_fs__write_rep, svn_fs__write_new_rep): Constify `rep'.

* subversion/libsvn_fs/rev-table.h

(svn_fs__put_rev): Constify `revision'.

* subversion/libsvn_fs/fs_skels.c

(is_valid_node_revision_header_skel): Match semantics for

node-revision skels found in `structure'.

(svn_fs__parse_node_revision_skel, svn_fs__parse_proplist_skel,

svn_fs__parse_representation_skel): apr_pstrndup -> apr_pstrmemdup.

(svn_fs__parse_entries_skel): apr_pstrndup -> apr_pstrmemdup. Pass

explicit length to apr_hash_set.

(svn_fs__unparse_revision_skel): Constify `revision'.

(svn_fs__unparse_transaction_skel): Constify `transaction'.

(svn_fs__unparse_representation_skel): Constify `rep'.

(svn_fs__unparse_node_revision_skel): Constify `noderev'.

* subversion/libsvn_fs/reps-table.c

(svn_fs__write_rep): Constify `rep'.

(svn_fs__write_new_rep): apr_pstrndup -> apr_pstrmemdup. Constify `rep'.

* subversion/libsvn_fs/strings-table.c

(get_key_and_bump): apr_pstrndup -> apr_pstrmemdup.

* subversion/libsvn_fs/txn-table.c

(allocate_txn_id, svn_fs__get_txn_list): apr_pstrndup -> apr_pstrmemdup.

(put_txn): Constify `txn'.

(svn_fs__create_txn, svn_fs__set_txn_root, svn_fs__set_txn_base):

Don't bother copying ID.

(svn_fs__get_txn): Docco.

* subversion/libsvn_fs/reps-strings.c

(make_fulltext_rep): Only dup non-NULL strings.

(delta_string_keys): Constify `rep'. Always return a valid array,

even if it is an empty one.

(svn_fs__rep_contents_clear): Docco.

(svn_fs__rep_deltify): Remove unnecessary division.

* subversion/libsvn_fs/rev-table.c

(svn_fs__get_rev): Docco.

(put_rev, svn_fs__put_rev): Constify `revision'.

    • -2
    • +2
    /branches/issue-654-dev/subversion/libsvn_fs/reps-table.h
    • -9
    • +8
    /branches/issue-654-dev/subversion/libsvn_fs/txn-table.c
    • -3
    • +3
    /branches/issue-654-dev/subversion/libsvn_fs/rev-table.c
    • -1
    • +1
    /branches/issue-654-dev/subversion/libsvn_fs/rev-table.h
    • -3
    • +3
    /branches/issue-654-dev/subversion/libsvn_fs/reps-table.c
Cleanup some FS code, with a nod to Greg Stein <gstein@collab.net> for

the review.

* subversion/libsvn_fs/fs.h

(svn_fs__revision_t, svn_fs__transaction_t, svn_fs__node_revision_t):

Comment clarification.

* subversion/libsvn_fs/fs_skels.h

(svn_fs__unparse_revision_skel): Constify `revision'.

(svn_fs__unparse_transaction_skel): Constify `transaction'.

(svn_fs__unparse_representation_skel): Constify `rep'.

(svn_fs__unparse_node_revision_skel): Constify `noderev' (which was

`rep' by accident)

* subversion/libsvn_fs/reps-table.h

(svn_fs__write_rep, svn_fs__write_new_rep): Constify `rep'.

* subversion/libsvn_fs/rev-table.h

(svn_fs__put_rev): Constify `revision'.

* subversion/libsvn_fs/fs_skels.c

(is_valid_node_revision_header_skel): Match semantics for

node-revision skels found in `structure'.

(svn_fs__parse_node_revision_skel, svn_fs__parse_proplist_skel,

svn_fs__parse_representation_skel): apr_pstrndup -> apr_pstrmemdup.

(svn_fs__parse_entries_skel): apr_pstrndup -> apr_pstrmemdup. Pass

explicit length to apr_hash_set.

(svn_fs__unparse_revision_skel): Constify `revision'.

(svn_fs__unparse_transaction_skel): Constify `transaction'.

(svn_fs__unparse_representation_skel): Constify `rep'.

(svn_fs__unparse_node_revision_skel): Constify `noderev'.

* subversion/libsvn_fs/reps-table.c

(svn_fs__write_rep): Constify `rep'.

(svn_fs__write_new_rep): apr_pstrndup -> apr_pstrmemdup. Constify `rep'.

* subversion/libsvn_fs/strings-table.c

(get_key_and_bump): apr_pstrndup -> apr_pstrmemdup.

* subversion/libsvn_fs/txn-table.c

(allocate_txn_id, svn_fs__get_txn_list): apr_pstrndup -> apr_pstrmemdup.

(put_txn): Constify `txn'.

(svn_fs__create_txn, svn_fs__set_txn_root, svn_fs__set_txn_base):

Don't bother copying ID.

(svn_fs__get_txn): Docco.

* subversion/libsvn_fs/reps-strings.c

(make_fulltext_rep): Only dup non-NULL strings.

(delta_string_keys): Constify `rep'. Always return a valid array,

even if it is an empty one.

(svn_fs__rep_contents_clear): Docco.

(svn_fs__rep_deltify): Remove unnecessary division.

* subversion/libsvn_fs/rev-table.c

(svn_fs__get_rev): Docco.

(put_rev, svn_fs__put_rev): Constify `revision'.

    • -46
    • +47
    /trunk/subversion/libsvn_fs/fs_skels.c
    • -3
    • +3
    /trunk/subversion/libsvn_fs/reps-table.c
    • -3
    • +3
    /trunk/subversion/libsvn_fs/rev-table.c
    • -1
    • +1
    /trunk/subversion/libsvn_fs/rev-table.h
    • -4
    • +4
    /trunk/subversion/libsvn_fs/fs_skels.h
    • -2
    • +2
    /trunk/subversion/libsvn_fs/reps-table.h
    • -9
    • +8
    /trunk/subversion/libsvn_fs/txn-table.c
* subversion/libsvn_fs/copies-table.c

* subversion/libsvn_fs/copies-table.h

New files, modeled after (yea, copied and modified from) txn-table.c

and txn-table.h.

* subversion/libsvn_fs/fs.h

(svn_fs_t): Add `copies' table.

(svn_fs__copy_t): New.

* subversion/libsvn_fs/fs_skels.h

(svn_fs__unparse_proplist_skel, svn_fs__unparse_revision_skel,

svn_fs__unparse_transaction_skel, svn_fs__unparse_representation_skel,

svn_fs__unparse_entries_skel): Minor docstring mod.

(svn_fs__unparse_node_revision_skel): Fix misnamed argument.

(svn_fs__parse_copy_skel, svn_fs__unparse_copy_skel): New.

* subversion/include/svn_error_codes.h

(SVN_ERR_FS_NO_SUCH_COPY): New.

* subversion/libsvn_fs/structure

Mods to the COPY and REVISIONS skel definitions.

* subversion/libsvn_fs/fs_skels.c

(svn_fs__parse_copy_skel, svn_fs__unparse_copy_skel,

is_valid_copy_skel): New.

* subversion/libsvn_fs/err.c

* subversion/libsvn_fs/err.h

(svn_fs__err_no_such_copy, svn_fs__err_corrupt_copy): New.

    • -1
    • +11
    /branches/issue-654-dev/subversion/libsvn_fs/fs.h
    • -10
    • +23
    /branches/issue-654-dev/subversion/libsvn_fs/fs_skels.h
    • -1
    • +21
    /branches/issue-654-dev/subversion/libsvn_fs/err.c
    • -0
    • +7
    /branches/issue-654-dev/subversion/libsvn_fs/err.h
    • -0
    • +66
    /branches/issue-654-dev/subversion/libsvn_fs/fs_skels.c