- r991353: 2010-08-31 21:54:46 [gstein] Greg Stein
-
/subversion/libsvn_wc/questions.c [diff, log, file]
* subversion/libsvn_wc/questions.c:
(svn_wc__internal_versioned_file_modcheck): clarify a param
- r991352: 2010-08-31 21:52:47 [gstein] Greg Stein
-
/subversion/libsvn_wc/wc.h [diff, log, file]
* subversion/libsvn_wc/wc.h:
(SVN_WC__VERSION): clarify some history around the 1.4.x series
- r991348: 2010-08-31 21:50:02 [gstein] Greg Stein
-
/notes/wc-ng/conflict-storage [diff, log, file]
* notes/wc-ng/conflict-store:
(): some changes to how patch rejects are recorded
- r991342: 2010-08-31 21:43:54 [gstein] Greg Stein
-
/build/generator/extractor.py [diff, log, file]
* build/generator/extractor.py:
(): remove an obsolete import of the 'string' module
- r965124: 2010-07-17 18:47:17 [gstein] Greg Stein
-
/subversion/tests/libsvn_wc/create_wc_for_upgrade.sh [log, file]
New script to assemble working copies for upgrade testing.
* create_wc_for_upgrade.sh: new script
- r958297: 2010-06-26 23:55:57 [gstein] Greg Stein
-
/subversion/libsvn_wc/wc_db.c [diff, log, file]
* subversion/libsvn_wc/wc_db.c:
(count_children, union_children, single_table_children,
gather_children): add docstrings as a followup to r952493.
Suggested by: julianfoad
- r957751: 2010-06-24 23:40:44 [gstein] Greg Stein
-
/subversion/site/publish/packages.html [diff, log, file]
The Subversion community does not "certify" any binaries. These particular
binaries have professional support behind them, but they are not "certified"
* /site/publish/packages.html:
(...): adjust some terminology
- r952493: 2010-06-08 00:47:22 [gstein] Greg Stein
-
/subversion/libsvn_wc/wc-queries.sql [diff, log, file]
/subversion/libsvn_wc/wc_db.c [diff, log, file]
The query that we used to fetch all children in BASE_NODE and WORKING_NODE
used a UNION between two SELECT statements. The idea was to have SQLite
remove all duplicates for us in a single query. Unfortunately, this caused
SQLite to create an ephemeral (temporary) table and place the results of
each query into that table. It created an index to remove dupliates. Then
it returned the values in that ephemeral table. For large numbers of
nodes, the construction of the table and its index becomes very costly.
This change rebuilds gather_children() in wc_db.c to do the duplicate
removal manually using a hash table. It does some simple scanning straight
into an array when it knows duplicates cannot exist (one of BASE or
WORKING is empty).
The performance problem of svn_wc__db_read_children() was first observed
in issue #3499. The actual performance improvement is untested so far, but
I'm assuming pburba can pick up this change and try in his scenario.
* subversion/libsvn_wc/wc_db.c:
(count_children): new helper to count the number of children of a given
PARENT_RELPATH within a specific table.
(add_children_to_hash): new helper to scan children, placing their names
into a hash table as keys (and the mapped values).
(union_children): new helper to scan both BASE_NODE and WORKING_NODE and
manually create a union of the resulting names using a hash table.
(single_table_children): new helper to return the children from a single
table.
(gather_children): rebuilt in terms of the above helpers
* subversion/libsvn_wc/wc-queries.sql:
(STMT_COUNT_BASE_NODE_CHILDREN, STMT_COUNT_WORKING_NODE_CHILDREN): new
statements to count the number of children for a given parent_relpath
(STMT_SELECT_WORKING_CHILDREN): removed
(STMT_SELECT_WORKING_NODE_CHILDREN): like STMT_SELECT_BASE_NODE_CHILDREN,
this scan all children in WORKING_NODE for a given parent_relpath
- r951379: 2010-06-04 11:35:05 [gstein] Greg Stein
-
/subversion/tests/cmdline/svntest/__init__.py [diff, log, file]
Protect against bad python proggies.
* subversion/test/cmdline/svntest/__init__.py:
(__all__): die, idiots
- r951368: 2010-06-04 11:14:00 [gstein] Greg Stein
-
/subversion/libsvn_wc/wc-queries.sql [diff, log, file]
/subversion/libsvn_wc/wc_db.c [diff, log, file]
/subversion/libsvn_wc/wc_db.h [diff, log, file]
Implement the application of old-style propfiles against the database
during an upgrade process. (tho this code isn't really tested yet)
* subversion/libsvn_wc/wc_db.h:
(svn_wc__db_upgrade_apply_props): add some sketchy docco
* subversion/libsvn_wc/wc_db.c:
(prop_upgrade_trees): helper function to find the available trees,
WORKING presence, and WC_ID values for a props upgrade.
(struct set_props_baton): replace PDH with WC_ID
(set_props_txn): use WC_ID member, as appropriate
(svn_wc__db_op_set_props): assert abspath input. adjust logic to store a
WC_ID into the baton, rather than a PDH.
(svn_wc__db_upgrade_apply_props): implement this sucker
* subversion/libsvn_wc/wc-queries.sql:
(STMT_PLAN_PROP_UPGRADE): new query
- r951230: 2010-06-04 00:54:29 [gstein] Greg Stein
-
/subversion/libsvn_wc/upgrade.c [diff, log, file]
/subversion/libsvn_wc/wc-queries.sql [diff, log, file]
Remove the DB hacks from property upgrading, and rely just on what is
found in the SDB. Create a helper function for both props and text-base
upgrading.
* subversion/libsvn_wc/upgrade.c:
(get_versioned_files): new helper function to return all the children
found in SDB which are files.
(wipe_obsolete_files): add a future clearing of the temp area
(upgrade_to_wcng): call migrate_props() rather than iterating over
children and calling the singular migrate_node_props.
(migrate_props): do not construct a DB object. use the new
get_versioned_files() helper, to iterate on calling
migrate_node_props. move the temp area clearing to wipe_obsolete_files
* subversion/libsvn_wc/wc-queries.sql:
(STMT_SELECT_ALL_FILES): new query for get_versioned_files()
- r951175: 2010-06-03 21:33:34 [gstein] Greg Stein
-
/subversion/libsvn_wc/wc_db.c [diff, log, file]
Commenting the NULL params is good, but typical pattern is for the comma
to be post-comment. This allows for searching for "NULL," or "TRUE," or
whatever to find uncommented constant parameters.
* subversion/libsvn_wc/wc_db.c:
(temp_cross_db_copy, svn_wc__db_op_copy): tweak style of some comments
- r951169: 2010-06-03 21:30:07 [gstein] Greg Stein
-
/subversion/libsvn_wc/upgrade.c [diff, log, file]
Use an iterpool as a scratch pool (pre-loop) for better memory use.
* subversion/libsvn_wc/upgrade.c:
(migrate_props): use iterpool for a couple function calls
- r951164: 2010-06-03 21:29:07 [gstein] Greg Stein
-
/subversion/libsvn_wc/adm_ops.c [diff, log, file]
* subversion/libsvn_wc/adm_ops.c:
(svn_wc__internal_remove_from_revision_control): tweak/fix comment
- r947335: 2010-05-22 21:19:30 [gstein] Greg Stein
-
/subversion/site/publish/buildbot/index.html [diff, log, file]
* /site/publish/buildbot/index.html:
(): add the basic build and RAT report to the svn-specific builders
- r946388: 2010-05-19 20:53:22 [gstein] Greg Stein
-
/subversion/site/publish/mailing-lists.html [diff, log, file]
Follow up to r946348.
* /site/publish/mailing-lists.html: let's not publish a subscribe link for
an invite-only list.
- r945978: 2010-05-19 00:50:11 [gstein] Greg Stein
-
/subversion/libsvn_wc/upgrade.c [diff, log, file]
/subversion/libsvn_wc/wc.h [diff, log, file]
/subversion/libsvn_wc/wc_db.c [diff, log, file]
/subversion/libsvn_wc/wc_db.h [diff, log, file]
Another round of work on the props upgrade/migration code. This fixes up
where we find props for "this dir", adds an additional driver from the
pre-wc-ng upgrade code, and passes the ORIGINAL_FORMAT through the code so
we can properly interpret the files we locate.
* subversion/libsvn_wc/upgrade.c:
(upgrade_to_wcng): construct an iterpool and use it in many calls as a
scratch pool. add a loop to call migrate_node_props() for each node in
the entries hash.
(migrate_node_props): pull this out from the #if 0 protector so we can
see compile errors/warnings. accept an ORIGINAL_FORMAT param so that
we can interpret the prop files we locate. properly handle "this dir"
propfiles. pass the local_relpath to operate on (ha!) and the
ORIGINAL_FORMAT to the upgrade_apply_props function.
(migrate_props): accept an ORIGINAL_FORMAT param and pass that to
migrate_node_props(). add a call to upgrade props of "this dir"
(struct bump_to_17_baton): new baton for passing params thru the sqlite
transaction callback.
(bump_to_YYY): renamed to bump_to_17. this is definitely our 17 bump.
the baton is (now) a bump_to_17_baton; extract its values for passing
along to migrate_props()
(svn_wc__upgrade_sdb): stop adjusting START_FORMAT since we may need the
original value. adjust the code on the 16->17 bump, and invoke the
bump_to_17 within a txn.
* subversion/libsvn_wc/wc.h:
(SVN_WC__NO_REVERT_FILES): new define
* subversion/libsvn_wc/wc_db.h:
(svn_wc__db_upgrade_apply_props): add LOCAL_RELPATH and ORIGINAL_FORMAT
parameters.
* subversion/libsvn_wc/wc_db.c:
(svn_wc__db_upgrade_apply_props): add LOCAL_RELPATH and ORIGINAL_FORMAT
parameters. add some comments about interpretation of the files that
are found, relative to svn releases and wc formats.
- r945890: 2010-05-18 21:16:20 [gstein] Greg Stein
-
/subversion/libsvn_wc/props.c [diff, log, file]
Another tweak to svn_wc__props_modified(). We can use load_actual_props()
and load_pristine_props(), but we have to throw out the "replaced" check.
On today's working copies, the check is wrong. load_actual_props will
return "the current set of props", which may be a copy of the pristine
props. The load_props call would return NULL if no changes were present.
Thus, we cannot early-out on a replaced node since we must do a comparison
against the pristines to look for changes.
* subversion/libsvn_wc/props.c:
(svn_wc__props_modified): no early-out for LOCALPROPS=NULL since that
will never happen (we at least return an empty set). stub out the
check for a 'replaced' node. remove the alternate implementations for
when USE_DB_PROPS is not defined.
- r944982: 2010-05-17 06:13:33 [gstein] Greg Stein
-
/subversion/libsvn_wc/status.c [diff, log, file]
* subversion/libsvn_wc/status.c:
(assemble_status): add ref to example of brittleness.
- r944980: 2010-05-17 06:03:44 [gstein] Greg Stein
-
/subversion/libsvn_wc/props.c [diff, log, file]
It is unclear why these changes cause errors, but they do:
copy_tests 31, 33
special_tests 7
Back out the changes temporarily for normal operation, but keep them for
USE_DB_PROPS (all tests passed). More investigation is needed, as some
semantic has probably been missed.
* subversion/libsvn_wc/props.c:
(svn_wc__props_modified): keep some old behavior for now
- r944977: 2010-05-17 05:26:32 [gstein] Greg Stein
-
/subversion/libsvn_wc/wc_db.c [diff, log, file]
* subversion/libsvn_wc/wc_db.c:
(svn_wc__db_upgrade_apply_props): drop some notes about where this
function will be going
- r944975: 2010-05-17 05:22:51 [gstein] Greg Stein
-
/subversion/libsvn_wc/upgrade.c [diff, log, file]
/subversion/libsvn_wc/wc_db.c [diff, log, file]
/subversion/libsvn_wc/wc_db.h [diff, log, file]
Perform an iteration on the props upgrade code. wc_db will sort out
where/how to drop the properties... the upgrade code simply needs to read
the properties from the old-style prop files. Factor out the code that
migrates a node's props because we will have a couple different ways to
find all the children.
* subversion/libsvn_wc/upgrade.c:
(wipe_obsolete_files): prepare some code for wiping out the property
data. this cannot be done now since we aren't actually migrating that
data. leave a big warning to that effect :-P
(migrate_node_props): new function to migrate the props for a single
node. this gathers up all the props and passes them into wc_db.
(migrate_props): gutted. the bulk goes into migrate_node_props and the
future svn_wc__db_upgrade_apply_props, with a little bit over to
wipe_obsolete_files.
* subversion/libsvn_wc/wc_db.h:
* subversion/libsvn_wc/wc_db.c:
(svn_wc__db_upgrade_apply_props): new stub function to apply a set of
properties to a given node, during the upgrade process.
- r944967: 2010-05-17 04:44:28 [gstein] Greg Stein
-
/subversion/libsvn_wc/adm_ops.c [diff, log, file]
/subversion/libsvn_wc/props.c [diff, log, file]
/subversion/libsvn_wc/props.h [diff, log, file]
/subversion/libsvn_wc/workqueue.c [diff, log, file]
A couple additional tweaks for running with in-database properties, and
scatter some more uses of USE_DB_PROPS around for that testing.
Note: the test suite passes using in-database props, except for two
upgrade tests which result from a lack of props-upgrading code. The
upgrade code is the last piece before we do a format bump.
* subversion/libsvn_wc/props.h:
(USE_DB_PROPS): undef'd for now, but an experimental control flag for
using in-database properties.
* subversion/libsvn_wc/props.c:
(load_props): do not define when USE_DB_PROPS is defined
(svn_wc__get_revert_props): swap blocks for how fetching revert props is
done, based on USE_DB_PROPS (the logic was reversed).
(svn_wc__working_props_committed, svn_wc__props_delete): no-op when
USE_DB_PROPS is defined.
(svn_wc__props_modified): use load_actual_props and load_pristine_props
instead of variations of load_props. be wary of NULL pristines.
* subversion/libsvn_wc/adm_ops.c:
(process_committed_leaf): don't worry about revert props when
USE_DB_PROPS is defined.
(svn_wc_add4): don't worry about cleaning nubbins when USE_DB_PROPS is
defined.
(svn_wc__internal_remove_from_revision_control): no need to delete props
when USE_DB_PROPS is defined.
* subversion/libsvn_wc/workqueue.c:
(run_revert): ignore the prop files when USE_DB_PROPS is defined
(run_prepare_revert_files): no need to prepare revert prop files when
USE_DB_PROPS is defined.
(run_delete): no need to delete prop files when USE_DB_PROPS
(svn_wc__wq_build_write_old_props): return NULL for the work item when
USE_DB_PROPS is defined... just skip the work.
- r944935: 2010-05-16 23:03:36 [gstein] Greg Stein
-
/subversion/libsvn_wc/props.c [diff, log, file]
/subversion/libsvn_wc/wc_db.c [diff, log, file]
Small changes necessary for running with in-db properties, primarily
focused on the fact that some nodes do not have pristine properties
defined for them (thus props==NULL).
* subversion/libsvn_wc/props.c:
(USE_DB_PROPS): switch to in-db props when this is defined. NOT defined
at this time. for experimental purposes, only.
(load_pristine_props, load_actual_props): if USE_DB_PROPS is defined,
then load the properties using the wc_db function.
(svn_wc__get_revert_props): assert that REVERT_PROPS_P will always be
provided, to simplify this logic. load BASE props when USE_DB_PROPS is
defined. adjust the code in TEST_DB_PROPS (an easy case; may never be
used tho).
(immediate_install_props): the pristine properties might not be defined.
when that happens, unconditionally set the ACTUAL props. otherwise,
determine if they are different from the pristines, and clear the
ACTUAL props if no changes exist.
(svn_wc__internal_propdiff): if pristines are not defined for this node,
then just assume an empty set, so that all ACTUAL props are see as
property additions.
* subversion/libsvn_wc/wc_db.c:
(svn_wc__db_read_props): if no pristines are defined, then we should
usually define ACTUAL props as an empty set.
- r944210: 2010-05-14 11:46:12 [gstein] Greg Stein
-
/subversion/libsvn_fs_fs/fs_fs.c [diff, log, file]
Remove an assumption about how the hash table uses the KEY parameter.
There is no guarantee that the newly-presented value will NOT be
used/retained, so we must ensure it has a proper lifetime.
* subversion/libsvn_fs_fs/fs_fs.c:
(fold_change): always copy PATH into the target pool.