Author: rhuijben
Date: Thu Sep 7 10:50:29 2017
New Revision: 1807584
URL: http://svn.apache.org/viewvc?rev=1807584&view=rev
Log:
Drop support for upgrading working copies created with Subversion 1.7
development versions (using WC-NG development formats). Users can use
Subversion 1.7, 1.8 or 1.9 to perform an upgrade if they really need to.
We never promised to support these after the release of 1.7.0... And
not before that either ;-)
* subversion/libsvn_wc/upgrade.c
(bump_to_20,
bump_to_21,
bump_to_22,
bump_to_23,
bump_to_24,
bump_to_25,
bump_to_26,
bump_to_27,
bump_to_28,
rename_pristine_file,
upgrade_externals,
bump_to_29): Remove unused code.
(svn_wc__upgrade_sdb): Handle now unsupported formats with a proper
error.
* subversion/libsvn_wc/wc-metadata.sql
(STMT_UPGRADE_TO_20,
STMT_UPGRADE_TO_21,
STMT_UPGRADE_TO_22,
STMT_UPGRADE_TO_23,
STMT_UPGRADE_TO_23_HAS_WORKING_NODES,
STMT_UPGRADE_TO_24,
STMT_UPGRADE_TO_25,
STMT_UPGRADE_TO_26,
STMT_UPGRADE_TO_27,
STMT_UPGRADE_TO_27_HAS_ACTUAL_NODE_CONFLICTS,
STMT_UPGRADE_TO_28,
STMT_UPGRADE_TO_29): Remove unused statements.
* subversion/tests/cmdline/upgrade_tests.py
(upgrade_from_format_28): Remove test.
(test_list): Update list.
Modified:
subversion/trunk/subversion/libsvn_wc/upgrade.c
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
Modified: subversion/trunk/subversion/libsvn_wc/upgrade.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/upgrade.c?rev=1807584&r1=1807583&r2=1807584&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/upgrade.c (original)
+++ subversion/trunk/subversion/libsvn_wc/upgrade.c Thu Sep 7 10:50:29 2017
@@ -1318,234 +1318,6 @@ migrate_text_bases(apr_hash_t **text_bas
return SVN_NO_ERROR;
}
-static svn_error_t *
-bump_to_20(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_CREATE_NODES));
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_20));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_21(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_21));
- SVN_ERR(migrate_tree_conflict_data(sdb, scratch_pool));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_22(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_22));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_23(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- const char *wcroot_abspath = ((struct bump_baton *)baton)->wcroot_abspath;
- svn_sqlite__stmt_t *stmt;
- svn_boolean_t have_row;
-
- SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
- STMT_UPGRADE_23_HAS_WORKING_NODES));
- SVN_ERR(svn_sqlite__step(&have_row, stmt));
- SVN_ERR(svn_sqlite__reset(stmt));
- if (have_row)
- return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- _("The working copy at '%s' is format 22 with "
- "WORKING nodes; use a format 22 client to "
- "diff/revert before using this client"),
- wcroot_abspath);
-
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_23));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_24(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_24));
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_CREATE_NODES_TRIGGERS));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_25(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_25));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_26(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_26));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_27(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- const char *wcroot_abspath = ((struct bump_baton *)baton)->wcroot_abspath;
- svn_sqlite__stmt_t *stmt;
- svn_boolean_t have_row;
-
- SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
- STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS));
- SVN_ERR(svn_sqlite__step(&have_row, stmt));
- SVN_ERR(svn_sqlite__reset(stmt));
- if (have_row)
- return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- _("The working copy at '%s' is format 26 with "
- "conflicts; use a format 26 client to resolve "
- "before using this client"),
- wcroot_abspath);
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_27));
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-bump_to_28(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_28));
- return SVN_NO_ERROR;
-}
-
-/* If FINFO indicates that ABSPATH names a file, rename it to
- * '<ABSPATH>.svn-base'.
- *
- * Ignore any file whose name is not the expected length, in order to make
- * life easier for any developer who runs this code twice or has some
- * non-standard files in the pristine directory.
- *
- * A callback for bump_to_29(), implementing #svn_io_walk_func_t. */
-static svn_error_t *
-rename_pristine_file(void *baton,
- const char *abspath,
- const apr_finfo_t *finfo,
- apr_pool_t *pool)
-{
- if (finfo->filetype == APR_REG
- && (strlen(svn_dirent_basename(abspath, pool))
- == PRISTINE_BASENAME_OLD_LEN))
- {
- const char *new_abspath
- = apr_pstrcat(pool, abspath, PRISTINE_STORAGE_EXT, SVN_VA_NULL);
-
- SVN_ERR(svn_io_file_rename2(abspath, new_abspath, FALSE, pool));
- }
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-upgrade_externals(struct bump_baton *bb,
- svn_sqlite__db_t *sdb,
- apr_pool_t *scratch_pool)
-{
- svn_sqlite__stmt_t *stmt;
- svn_sqlite__stmt_t *stmt_add;
- svn_boolean_t have_row;
- apr_pool_t *iterpool;
-
- SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
- STMT_SELECT_EXTERNAL_PROPERTIES));
-
- SVN_ERR(svn_sqlite__get_statement(&stmt_add, sdb,
- STMT_INSERT_EXTERNAL));
-
- /* ### For this intermediate upgrade we just assume WC_ID = 1.
- ### Before this bump we lost track of externals all the time,
- ### so lets keep this easy. */
- SVN_ERR(svn_sqlite__bindf(stmt, "is", (apr_int64_t)1, ""));
-
- SVN_ERR(svn_sqlite__step(&have_row, stmt));
-
- iterpool = svn_pool_create(scratch_pool);
- while (have_row)
- {
- apr_hash_t *props;
- const char *externals;
-
- svn_pool_clear(iterpool);
-
- SVN_ERR(svn_sqlite__column_properties(&props, stmt, 0,
- iterpool, iterpool));
-
- externals = svn_prop_get_value(props, SVN_PROP_EXTERNALS);
-
- if (externals)
- {
- apr_array_header_t *ext;
- const char *local_relpath;
- const char *local_abspath;
- int i;
-
- local_relpath = svn_sqlite__column_text(stmt, 1, NULL);
- local_abspath = svn_dirent_join(bb->wcroot_abspath, local_relpath,
- iterpool);
-
- SVN_ERR(svn_wc_parse_externals_description3(&ext, local_abspath,
- externals, FALSE,
- iterpool));
-
- for (i = 0; i < ext->nelts; i++)
- {
- const svn_wc_external_item2_t *item;
- const char *item_relpath;
-
- item = APR_ARRAY_IDX(ext, i, const svn_wc_external_item2_t *);
- item_relpath = svn_relpath_join(local_relpath, item->target_dir,
- iterpool);
-
- /* Insert dummy externals definitions: Insert an unknown
- external, to make sure it will be cleaned up when it is not
- updated on the next update. */
- SVN_ERR(svn_sqlite__bindf(stmt_add, "isssssis",
- (apr_int64_t)1, /* wc_id */
- item_relpath,
- svn_relpath_dirname(item_relpath,
- iterpool),
- "normal",
- "unknown",
- local_relpath,
- (apr_int64_t)1, /* repos_id */
- "" /* repos_relpath */));
- SVN_ERR(svn_sqlite__insert(NULL, stmt_add));
- }
- }
-
- SVN_ERR(svn_sqlite__step(&have_row, stmt));
- }
-
- svn_pool_destroy(iterpool);
- return svn_error_trace(svn_sqlite__reset(stmt));
-}
-
-static svn_error_t *
-bump_to_29(void *baton, svn_sqlite__db_t *sdb, apr_pool_t *scratch_pool)
-{
- struct bump_baton *bb = baton;
- const char *wcroot_abspath = bb->wcroot_abspath;
- const char *pristine_dir_abspath;
-
- /* Rename all pristine files, adding a ".svn-base" suffix. */
- pristine_dir_abspath = svn_dirent_join_many(scratch_pool, wcroot_abspath,
- svn_wc_get_adm_dir(scratch_pool),
- PRISTINE_STORAGE_RELPATH,
- SVN_VA_NULL);
- SVN_ERR(svn_io_dir_walk2(pristine_dir_abspath, APR_FINFO_MIN,
- rename_pristine_file, NULL, scratch_pool));
-
- /* Externals */
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_CREATE_EXTERNALS));
-
- SVN_ERR(upgrade_externals(bb, sdb, scratch_pool));
- SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_UPGRADE_TO_29));
- return SVN_NO_ERROR;
-}
-
svn_error_t *
svn_wc__upgrade_conflict_skel_from_raw(svn_skel_t **conflicts,
svn_wc__db_t *db,
@@ -2090,6 +1862,15 @@ svn_wc__upgrade_sdb(int *result_format,
svn_dirent_local_style(wcroot_abspath,
scratch_pool),
start_format);
+ else if (start_format < 29)
+ return svn_error_createf(SVN_ERR_WC_UPGRADE_REQUIRED, NULL,
+ _("Working copy '%s' is an old development "
+ "version (format %d); to upgrade it, "
+ "use a Subversion 1.7-1.9 client, then "
+ "use the current client"),
+ svn_dirent_local_style(wcroot_abspath,
+ scratch_pool),
+ start_format);
/* ### need lock-out. only one upgrade at a time. note that other code
### cannot use this un-upgraded database until we finish the upgrade. */
@@ -2098,66 +1879,6 @@ svn_wc__upgrade_sdb(int *result_format,
intentional. */
switch (start_format)
{
- case 19:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_20, &bb,
- scratch_pool));
- *result_format = 20;
- /* FALLTHROUGH */
-
- case 20:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_21, &bb,
- scratch_pool));
- *result_format = 21;
- /* FALLTHROUGH */
-
- case 21:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_22, &bb,
- scratch_pool));
- *result_format = 22;
- /* FALLTHROUGH */
-
- case 22:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_23, &bb,
- scratch_pool));
- *result_format = 23;
- /* FALLTHROUGH */
-
- case 23:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_24, &bb,
- scratch_pool));
- *result_format = 24;
- /* FALLTHROUGH */
-
- case 24:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_25, &bb,
- scratch_pool));
- *result_format = 25;
- /* FALLTHROUGH */
-
- case 25:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_26, &bb,
- scratch_pool));
- *result_format = 26;
- /* FALLTHROUGH */
-
- case 26:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_27, &bb,
- scratch_pool));
- *result_format = 27;
- /* FALLTHROUGH */
-
- case 27:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_28, &bb,
- scratch_pool));
- *result_format = 28;
- /* FALLTHROUGH */
-
- case 28:
- SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_29, &bb,
- scratch_pool));
- *result_format = 29;
- /* FALLTHROUGH */
-
case 29:
SVN_ERR(svn_sqlite__with_transaction(sdb, bump_to_30, &bb,
scratch_pool));
Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1807584&r1=1807583&r2=1807584&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Sep 7 10:50:29
2017
@@ -630,208 +630,6 @@ INSERT INTO sqlite_stat1(tbl, idx, stat)
ANALYZE sqlite_master; /* Loads sqlite_stat1 data for query optimizer */
/* ------------------------------------------------------------------------- */
-/* Format 20 introduces NODES and removes BASE_NODE and WORKING_NODE */
-
--- STMT_UPGRADE_TO_20
-
-UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine
- WHERE md5_checksum = BASE_NODE.checksum)
-WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum);
-
-UPDATE WORKING_NODE SET checksum = (SELECT checksum FROM pristine
- WHERE md5_checksum = WORKING_NODE.checksum)
-WHERE EXISTS (SELECT 1 FROM pristine
- WHERE md5_checksum = WORKING_NODE.checksum);
-
-INSERT INTO NODES (
- wc_id, local_relpath, op_depth, parent_relpath,
- repos_id, repos_path, revision,
- presence, depth, moved_here, moved_to, kind,
- changed_revision, changed_date, changed_author,
- checksum, properties, translated_size, last_mod_time,
- dav_cache, symlink_target, file_external )
-SELECT wc_id, local_relpath, 0 /*op_depth*/, parent_relpath,
- repos_id, repos_relpath, revnum,
- presence, depth, NULL /*moved_here*/, NULL /*moved_to*/, kind,
- changed_rev, changed_date, changed_author,
- checksum, properties, translated_size, last_mod_time,
- dav_cache, symlink_target, file_external
-FROM BASE_NODE;
-INSERT INTO NODES (
- wc_id, local_relpath, op_depth, parent_relpath,
- repos_id, repos_path, revision,
- presence, depth, moved_here, moved_to, kind,
- changed_revision, changed_date, changed_author,
- checksum, properties, translated_size, last_mod_time,
- dav_cache, symlink_target, file_external )
-SELECT wc_id, local_relpath, 2 /*op_depth*/, parent_relpath,
- copyfrom_repos_id, copyfrom_repos_path, copyfrom_revnum,
- presence, depth, NULL /*moved_here*/, NULL /*moved_to*/, kind,
- changed_rev, changed_date, changed_author,
- checksum, properties, translated_size, last_mod_time,
- NULL /*dav_cache*/, symlink_target, NULL /*file_external*/
-FROM WORKING_NODE;
-
-DROP TABLE BASE_NODE;
-DROP TABLE WORKING_NODE;
-
-PRAGMA user_version = 20;
-
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 21 involves no schema changes, it moves the tree conflict victim
- information to victime nodes, rather than parents. */
-
--- STMT_UPGRADE_TO_21
-PRAGMA user_version = 21;
-
-/* For format 21 bump code */
--- STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT
-SELECT wc_id, local_relpath, tree_conflict_data
-FROM actual_node
-WHERE tree_conflict_data IS NOT NULL
-
-/* For format 21 bump code */
--- STMT_UPGRADE_21_ERASE_OLD_CONFLICTS
-UPDATE actual_node SET tree_conflict_data = NULL
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 22 simply moves the tree conflict information from the conflict_data
- column to the tree_conflict_data column. */
-
--- STMT_UPGRADE_TO_22
-UPDATE actual_node SET tree_conflict_data = conflict_data;
-UPDATE actual_node SET conflict_data = NULL;
-
-PRAGMA user_version = 22;
-
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 23 involves no schema changes, it introduces multi-layer
- op-depth processing for NODES. */
-
--- STMT_UPGRADE_TO_23
-PRAGMA user_version = 23;
-
--- STMT_UPGRADE_23_HAS_WORKING_NODES
-SELECT 1 FROM nodes WHERE op_depth > 0
-LIMIT 1
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 24 involves no schema changes; it starts using the pristine
- table's refcount column correctly. */
-
--- STMT_UPGRADE_TO_24
-UPDATE pristine SET refcount =
- (SELECT COUNT(*) FROM nodes
- WHERE checksum = pristine.checksum /*OR checksum = pristine.md5_checksum*/);
-
-PRAGMA user_version = 24;
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 25 introduces the NODES_CURRENT view. */
-
--- STMT_UPGRADE_TO_25
-DROP VIEW IF EXISTS NODES_CURRENT;
-CREATE VIEW NODES_CURRENT AS
- SELECT * FROM nodes
- JOIN (SELECT wc_id, local_relpath, MAX(op_depth) AS op_depth FROM nodes
- GROUP BY wc_id, local_relpath) AS filter
- ON nodes.wc_id = filter.wc_id
- AND nodes.local_relpath = filter.local_relpath
- AND nodes.op_depth = filter.op_depth;
-
-PRAGMA user_version = 25;
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 26 introduces the NODES_BASE view. */
-
--- STMT_UPGRADE_TO_26
-DROP VIEW IF EXISTS NODES_BASE;
-CREATE VIEW NODES_BASE AS
- SELECT * FROM nodes
- WHERE op_depth = 0;
-
-PRAGMA user_version = 26;
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 27 involves no schema changes, it introduces stores
- conflict files as relpaths rather than names in ACTUAL_NODE. */
-
--- STMT_UPGRADE_TO_27
-PRAGMA user_version = 27;
-
-/* For format 27 bump code */
--- STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS
-SELECT 1 FROM actual_node
-WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL)
- AND (conflict_new IS NULL) AND (conflict_working IS NULL)
- AND (tree_conflict_data IS NULL))
-LIMIT 1
-
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 28 involves no schema changes, it only converts MD5 pristine
- references to SHA1. */
-
--- STMT_UPGRADE_TO_28
-
-UPDATE NODES SET checksum = (SELECT checksum FROM pristine
- WHERE md5_checksum = nodes.checksum)
-WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum);
-
-PRAGMA user_version = 28;
-
-/* ------------------------------------------------------------------------- */
-
-/* Format 29 introduces the EXTERNALS table (See STMT_CREATE_TRIGGERS) and
- optimizes a few trigger definitions. ... */
-
--- STMT_UPGRADE_TO_29
-
-DROP TRIGGER IF EXISTS nodes_update_checksum_trigger;
-DROP TRIGGER IF EXISTS nodes_insert_trigger;
-DROP TRIGGER IF EXISTS nodes_delete_trigger;
-
-CREATE TRIGGER nodes_update_checksum_trigger
-AFTER UPDATE OF checksum ON nodes
-WHEN NEW.checksum IS NOT OLD.checksum
- /* AND (NEW.checksum IS NOT NULL OR OLD.checksum IS NOT NULL) */
-BEGIN
- UPDATE pristine SET refcount = refcount + 1
- WHERE checksum = NEW.checksum;
- UPDATE pristine SET refcount = refcount - 1
- WHERE checksum = OLD.checksum;
-END;
-
-CREATE TRIGGER nodes_insert_trigger
-AFTER INSERT ON nodes
-WHEN NEW.checksum IS NOT NULL
-BEGIN
- UPDATE pristine SET refcount = refcount + 1
- WHERE checksum = NEW.checksum;
-END;
-
-CREATE TRIGGER nodes_delete_trigger
-AFTER DELETE ON nodes
-WHEN OLD.checksum IS NOT NULL
-BEGIN
- UPDATE pristine SET refcount = refcount - 1
- WHERE checksum = OLD.checksum;
-END;
-
-PRAGMA user_version = 29;
-
-/* ------------------------------------------------------------------------- */
-
/* Format 30 creates a new NODES index for move information, and a new
PRISTINE index for the md5_checksum column. It also activates use of
skel-based conflict storage -- see notes/wc-ng/conflict-storage-2.0.
Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1807584&r1=1807583&r2=1807584&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Thu Sep 7
10:50:29 2017
@@ -972,27 +972,6 @@ def tree_replace2(sbox):
})
run_and_verify_status_no_server(sbox.wc_dir, expected_status)
-def upgrade_from_format_28(sbox):
- """upgrade from format 28: rename pristines"""
-
- # Start with a format-28 WC that is a clean checkout of the Greek tree.
- replace_sbox_with_tarfile(sbox, 'format_28.tar.bz2')
-
- # Get the old and new pristine file paths for file 'iota'.
- checksum = '2c0aa9014a0cd07f01795a333d82485ef6d083e2'
- old_pristine_path = os.path.join(sbox.wc_dir, svntest.main.get_admin_name(),
- 'pristine', checksum[0:2], checksum)
- new_pristine_path = old_pristine_path + '.svn-base'
-
- assert os.path.exists(old_pristine_path)
- assert not os.path.exists(new_pristine_path)
-
- # Upgrade the WC
- svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir)
-
- assert not os.path.exists(old_pristine_path)
- assert os.path.exists(new_pristine_path)
-
@Issue(3901)
def depth_exclude(sbox):
"upgrade 1.6.x wc that has depth=exclude"
@@ -1612,7 +1591,6 @@ test_list = [ None,
upgrade_with_scheduled_change,
tree_replace1,
tree_replace2,
- upgrade_from_format_28,
depth_exclude,
depth_exclude_2,
add_add_del_del_tc,