subversion

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

Changeset 876756 is being indexed.

* www/tasks.html (ctypes-python): Typo fix. Follow-up to r36681.

* www/tasks.html (ctypes-python): Describe the ctypes python bindings project.

Remove some needless code, and some now-unused code in entries.c.

* subversion/libsvn_wc/entries.c:

(enum statement_keys, statements): remove some unused DELETE statements

(entry_remove_body): remove. unused.

(svn_wc__entry_remove): remove a chunk of code that immediately modified

the database (in wc-ng). this is not needed since the database will be

updated properly at entries_write() time.

(svn_wc__entry_modify): remove operation on the show_hidden=FALSE list

of entries. since that is simply a pruned list of references to the

*same* entry structures, there is no need to attempt to modify the

entry structure twice. this cleans out and simplifies the function.

* www/svn_1.6_releasenotes.html: document new public historical URI syntax.
Try to minimize/centralize the number of places where we modify ENTRIES

hash tables, and where we (manually) write them out to disk. This revision

concentrates on the svn_wc__entry_remove() function.

Every caller grabbed PARENT_DIR from an access baton, so we just pass that

in directly (which we need anyways). Add a WRITE_TO_DISK parameter so this

function can write the modification out to disk. Also, make the ENTRIES

parameter optional -- we'll fetch the entries, do the removal, and then

write the result to disk for this case.

All callers updated.

* subversion/libsvn_wc/entries.h:

(svn_wc__entry_remove): adjust parameters and docstring

* subversion/libsvn_wc/entries.c:

(svn_wc__entry_remove): adjust parameters. if ENTRIES is not provided,

then read them. temporarily remove all the DB code since the entries

will get written at some point, and the names should be removed *then*

rather than removed immediately. and lastly, if WRITE_TO_DISK is true,

then write out the (modified) entries.

* subversion/libsvn_wc/crop.c:

(crop_children): adjust call to entry_remove, and write to disk.

* subversion/libsvn_wc/adm_ops.c:

(tweak_entries): adjust call to entry_remove, but don't write to disk

since we'll do a batch-write at the end.

(svn_wc_delete3): adjust call to entry_remove and write to disk.

(revert_entry): adjust call, and write to disk

(svn_wc_remove_from_revision_control): adjust call to entry_remove,

taking advantage of not needing the entries at all. a later loop does,

though, so move the declaration. adjust the other calls to

entry_remove, with the appropriate WRITE_TO_DISK values.

* subversion/libsvn_wc/update_editor.c:

(complete_directory): adjust calls to entry_remove() and hold off on

writing, in favor of a batch-write at the end.

(do_entry_deletion): replace entries read/remove/write with a new call

to entry_remove()

* subversion/libsvn_wc/log.c:

(log_do_delete_entry): replace a read/remove/write with a single

call to entry_remove()

* www/index.html

(rc-announcement): Bump latest RC number.

Removed spurious trailing whitespace that made it appear as if more text

had changed since r36672.

* CHANGES: remove trailing whitespace on one line

Constify a number of status structures, and update to svn_wc_status_func4_t.

* subversion/libsvn_client/status.c:

(tweak_status): constify STATUS param, bumping this to a func4 callback.

(svn_client_status5): switch to status_editor5() to take our new

callback type; add an extra pool to the call.

* subversion/libsvn_client/delete.c:

(find_undeletables): constify the STATUS param

(svn_client__can_delete): switch to svn_client_status5() to take our new

callback type. whitespace fix for style.

* subversion/libsvn_wc/status.c:

(close_directory): tighten scope of DIR_STATUS local, and add const. add

const to TGT_STATUS local, and remove an unused assignment to

DIR_STATUS.

* subversion/libsvn_wc/revision_status.c:

(analyze_status): constify STATUS param, bumping this to a func4.

(svn_wc_revision_status): use status_editor5() to take our new callback

type, and add another pool parameter.

* CHANGES: Add conflict resolver mine-conflict and theirs-conflict support.
* CHANGES:

Note that repository root relative URL support is 1.6 new feature.

(and remove a specific bugfix of it)

Followup to r33670: constify the local ENTRY variable to match what is

found in the status structure.

* subversion/bindings/javahl/native/StatusCallback.cpp:

(StatusCallback::createJavaStatus): constify ENTRY local variable.

Constify the STATUS parameter in the status callback so that we can better

understand/verify where a status structure is created and/or modified.

This bumps the callback to "func4" with dependent bumps in the client and

wc status driver functions to take the updated type. Also separated the

single pool argument of svn_wc_get_status_editor5 into a result/scratch

pair (tho scratch is unused so far).

This revision is a first pass to simply add the new functions, deprecate

the old, and provide minimal mapping. This allows us to first verify the

deprecated functions continue to work before continuing further.

Note: I'd like to revamp how we do status reporting, so it is possible

that this API bump will not survive to the end of 1.7 development. But it

is going to be hard for us to reason about the status infrastructure as

long as we throw around modifiable status structures.

* subversion/include/svn_wc.h:

(svn_wc_status_func4_t): new version of the callback which has a const

STATUS parameter.

(svn_wc_status_func3_t): mark as deprecated

(svn_wc_get_status_editor5): new version with updated function type and

split pool parameters.

(svn_wc_get_status_editor4): mark as deprecated

* subversion/include/svn_client.h:

(svn_client_status5): new version with updated function type

(svn_client_status4): mark as deprecated

* subversion/libsvn_wc/status.c:

(struct edit_baton): update type of STATUS_FUNC member

(send_status_structure, send_unversioned_item, get_dir_status,

handle_dir_entry, get_dir_status): update type of STATUS_FUNC

parameter.

(hash_stash): constify the STATUS parameter to turn this into a func4

(struct status_baton): update REAL_STATUS_FUNC to a func4

(mark_deleted): duplicate the incoming status in order to modify it

(handle_statii): update type of the STATUS_FUNC local var

(svn_wc_get_status_editor5): renamed/tweaked from the editor4

incarnation. adjusted the STATUS_FUNC type and split the pools.

adjusted calls to use RESULT_POOL instead of plain POOL.

(svn_wc_get_status_editor4): removed; reborn over in deprecated.c

* subversion/libsvn_wc/deprecated.c:

(struct status4_wrapper_baton): new struct to map across func callback

types.

(status4_wrapper_func): new callback function to map across the types by

duplicating the STATUS param into a modifiable value.

(svn_wc_get_status_editor4): new incarnation of this function,

implemented in terms of the new editor5 interface. important point is

to place the new baton onto the heap since it must survive as long as

the returned editor.

* subversion/libsvn_client/status.c:

(struct status_baton): bump REAL_STATUS_FUNC type to func4

(tweak_status): assume incoming STATUS param should not be touched, so

duplicate it before modifying its values. pass the modified version to

the real status function. note that tweak_status remains a func3

signature so that we can continue to use the editor4() interface.

(svn_client_status5): renamed/tweaked version of status4(). simply

bumped the STATUS_FUNC callback type.

(svn_client_status4): removed; reborn over in deprecated.c

* subversion/libsvn_client/deprecated.c:

(struct status4_wrapper_baton): same as wc/deprecated. a new struct to

map across callback types.

(status4_wrapper_func): same as wc/deprecated. a new func to map

callback types by duplicating the STATUS param.

(svn_client_status4): new incarnation of this function. a mapping baton

is held on the stack (since it has a short life) and is used to map

the callback type.

* subversion/libsvn_client/client.h:

(svn_client__do_external_status): bump type of STATUS_FUNC param.

* subversion/libsvn_client/externals.c:

(svn_client__do_external_status): bump type of STATUS_FUNC param, and

use the new svn_client_status5() in order to accept the new type

Add a missing "const" in the status structures (callers should not have

been modifying the entry which is passed). Also, constify some other uses

of the status structure, and move two deprecated functions over to

deprecated.c.

* subversion/include/svn_wc.h:

(svn_wc_status2_t, svn_wc_status_t): mark the ENTRY member as const

* subversion/libsvn_wc/status.c:

(find_dir_url): mark STATUS local var as const

(make_dir_baton): mark THIS_DIR_STATUS as const

(svn_wc_status, svn_wc_dup_status): move to deprecated.c

* subversion/libsvn_wc/deprecated.c:

(svn_wc_status, svn_wc_dup_status): moved from status.c

* STATUS: Update comment
* STATUS: Nominate a few update_editor verification enhancements
Constify some svn_wc_entry_t structures to clarify they aren't being used

for modification purposes. Tighten the scope of a few entry variables.

* subversion/libsvn_wc/crop.c:

(crop_children): constify the CURRENT_ENTRY local var

* subversion/libsvn_wc/adm_ops.c:

(tweak_entries): constify the CURRENT_ENTRY local var.

(process_committed_internal): constify the PARENT_ENTRY local var.

(revert_entry): move TMPENTRY from a heap pointer to a stack-based

structure, renaming to TMP_ENTRY per convention elsewhere. constify

the ENTRY_IN_PARENT local var.

(revert_internal): constify the CHILD_ENTRY local var

(svn_wc_remove_from_revision_control): constify the DIR_ENTRY local

* subversion/libsvn_wc/status.c:

(handle_statii): constify the DIR_ENTRY parameter

* subversion/libsvn_wc/update_editor.c:

(complete_directory): move CURRENT_ENTRY to a tighter local scope

* subversion/libsvn_wc/diff.c:

(path_driver_cb_func): constify the ENTRY local var

* subversion/libsvn_wc/copy.c:

(post_copy_cleanup): move ENTRY local var to a tighter scope

More constification of svn_wc_entry_t structures. This change constifies a

parameter to the (duplicative) take_from_entry() function in entries.c and

old-and-busted.c.

* subversion/libsvn_wc/entries.c:

* subversion/libsvn_wc/old-and-busted.c:

(take_from_entry): constify the SRC parameter.

Constify the ENTRY parameter.

* subversion/libsvn_wc/log.h:

* subversion/libsvn_wc/log.c:

(svn_wc__loggy_entry_modify): constify ENTRY to make it clear this

structure will not be modified.

Eliminate another conditional parameter by pruning deleted entries in entries.c

rather than lock.c

* subversion/libsvn_wc/lock.c

(prune_deleted): Remove.

(svn_wc__adm_access_set_entries): Always return the cached entries.

* subversion/libsvn_wc/lock.h

(svn_wc__adm_access_entries): Remove extra param, and doc.

* subversion/libsvn_wc/entries.c

(prune_deleted): Re-add.

(svn_wc_entries_read): Prune the deleted entries if requested.

Stop carrying around *two* entries caches in adm_access batons, and just use

one instead. (I hope to get that down to zero shortly.)

* subversion/libsvn_wc/lock.c

(svn_wc_adm_access_t): Remove entries member, and rename entries_hidden to

entries_all.

(adm_access_alloc): Update to follow suit.

(prune_deleted): Instead of storing it in the baton, just return the pruned

hash.

(svn_wc__adm_access_set_entries): Remove the show_hidden parameter, and just

set the sole entries cache.

(svn_wc__adm_access_entries): Prune the hash on-demand.

* subversion/libsvn_wc/lock.h

(svn_wc__adm_access_set_entries): Remove param.

* subversion/libsvn_wc/old-and-busted.c

(svn_wc__read_entries_old, svn_wc__entries_write_old): Update callers.

* subversion/libsvn_wc/entries.c

(read_entries, svn_wc__entries_write): Update callers.

JavaHL: Tighten up test for depth of working copy in info2 tests.

Test the depth of each item in WC using existing loop that already

checks other aspects of each item in WC. Also change the test to

look for a value of infinity instead of unknown.

[ in subversion/bindings/javahl/ ]

* tests/org/tigris/subversion/javahl/BasicTests.java:

(testBasicInfo2): modified the test to check depth of each item.

* www/svn_1.6_releasenotes.html

(ctypes-python-bindings): Add some more content.

Patch by: sage

Create a branch to explore the ramifications of not setting mergeinfo on

subtrees unaffected by a merge, specifically:

1) Making elision work.

2) Impact on current subtree logic for determining what has already been

merged to a given subtree, e.g. what needs to be done to make it work

and is there going to be a huge performance hit hit.

3) Can more merge performance improvements be piggy-backed on this work,

e.g. stopping *all* communication with the repos during the initial

walk for explicit subtree mergeinfo (applies even with WCNG).

4) How would cmpilato's ideas about recording only the diff between a subtree

and its parent's mergeinfo apply?

Some more work on the release notes.

* www/svn_1.6_releasenotes.html

(news): Generalize the externals improvements entry.

(externals): New umbrella section, including the file externals improvements

and shell quoting in externals.

* www/roadmap.html:

Update a few dates.

* www/tasks.html

Fix a validation error.

Get with the 21st century and move the Guide to Translating Subversion to the

inter-tubes.

* www/hacking.html:

Update reference.

* www/translating.html:

New.

* TRANSLATING:

Remove all content and replace with a pointer to the new document.

That svn_wc_ensure_adm3() function was killing us some more. It turns out

that the entry doesn't always have a copyfrom_url to examine (ie. it is a

child of a copied subtree). Thus, we have to relax the assertion even more.

I've updated the errata and proposed an alternate solution and path for

investigation.

* subversion/libsvn_wc/adm_files.c:

(svn_wc_ensure_adm3): relax the assertion for a mismatched directory

* notes/api-errata/wc002.txt: updated documentation and discussion

French translation update for r36653

* subversion/po/fr.po: po-update & 1 new translation.

Merge r36652 from trunk:

* subversion/po/de.po: Fix a typo