[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r34209 - in trunk/subversion: libsvn_wc tests/cmdline tests/cmdline/svntest

From: Neels J. Hofmeyr <neels_at_elego.de>
Date: Mon, 17 Nov 2008 02:26:04 +0100

Steve,
I think this commit makes ./resolved_tests.py 1 fail because the revision
number is now 1, not 2. Could you take a look?

Thanks
~Neels

sbutler_at_tigris.org wrote:
> Author: sbutler
> Date: Fri Nov 14 14:45:27 2008
> New Revision: 34209
>
> Log:
> If update or switch skips a conflicted tree, don't set the new
> revision, URL, etc. on anything in the conflicted tree.
>
> On updating or switching a prop-conflicted directory, skip the
> directory and its descendants as we do for tree conflicts.
>
> This is a follow-up to the skip-conflicts improvements in r34158.
>
> * subversion/libsvn_wc/adm_ops.c
> (tweak_entries): When finishing an update or switch, skip all
> descendants of an excluded path.
>
> * subversion/libsvn_wc/update_editor.c
> (edit_baton): Note in comments the new (recursive) meaning of the
> skipped_paths field. Rename current_tree_conflict to
> current_conflict to reflect that it may contain the path of a
> prop-conflicted dir.
> (complete_directory,
> do_entry_deletion,
> add_directory,
> close_directory,
> add_file,
> open_file,
> make_editor): Track field renames.
> (open_directory): Track field renames. Ensure that an existing
> property conflict causes the dir tree to be skipped.
>
> * subversion/tests/cmdline/switch_tests.py
> (tree_conflicts_on_switch_2_1,
> tree_conflicts_on_switch_3): Expected status shows old revision
> numbers. Now consistent with the other tests.
>
> * subversion/tests/cmdline/update_tests.py
> (update_delete_modified_files,
> update_conflicted): Expected output and status show improved
> skipping and old revision numbers.
> (tree_conflicts_on_update_2_1,
> tree_conflicts_on_update_2_3,
> tree_conflicts_on_update_3): Expected status shows old revision
> numbers. Now consistent with the other tests.
>
> * subversion/tests/cmdline/svntest/actions.py
> (deep_trees_skipping_on_update): Check status before the skipping,
> too. Comment out a print statement (whoops).
>
> Modified:
> trunk/subversion/libsvn_wc/adm_ops.c
> trunk/subversion/libsvn_wc/update_editor.c
> trunk/subversion/tests/cmdline/svntest/actions.py
> trunk/subversion/tests/cmdline/switch_tests.py
> trunk/subversion/tests/cmdline/update_tests.py
>
> Modified: trunk/subversion/libsvn_wc/adm_ops.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/adm_ops.c?pathrev=34209&r1=34208&r2=34209
> ==============================================================================
> --- trunk/subversion/libsvn_wc/adm_ops.c Fri Nov 14 14:21:00 2008 (r34208)
> +++ trunk/subversion/libsvn_wc/adm_ops.c Fri Nov 14 14:45:27 2008 (r34209)
> @@ -80,16 +80,19 @@ tweak_entries(svn_wc_adm_access_t *dirpa
> svn_boolean_t write_required = FALSE;
> svn_wc_notify_t *notify;
>
> + /* Skip an excluded path and its descendants. */
> + if (apr_hash_get(exclude_paths, svn_wc_adm_access_path(dirpath),
> + APR_HASH_KEY_STRING))
> + return SVN_NO_ERROR;
> +
> /* Read DIRPATH's entries. */
> SVN_ERR(svn_wc_entries_read(&entries, dirpath, TRUE, pool));
>
> /* Tweak "this_dir" */
> - if (! apr_hash_get(exclude_paths, svn_wc_adm_access_path(dirpath),
> - APR_HASH_KEY_STRING))
> - SVN_ERR(svn_wc__tweak_entry(entries, SVN_WC_ENTRY_THIS_DIR,
> - base_url, repos, new_rev, FALSE,
> - &write_required,
> - svn_wc_adm_access_pool(dirpath)));
> + SVN_ERR(svn_wc__tweak_entry(entries, SVN_WC_ENTRY_THIS_DIR,
> + base_url, repos, new_rev, FALSE,
> + &write_required,
> + svn_wc_adm_access_pool(dirpath)));
>
> if (depth == svn_depth_unknown)
> depth = svn_depth_infinity;
>
> Modified: trunk/subversion/libsvn_wc/update_editor.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/update_editor.c?pathrev=34209&r1=34208&r2=34209
> ==============================================================================
> --- trunk/subversion/libsvn_wc/update_editor.c Fri Nov 14 14:21:00 2008 (r34208)
> +++ trunk/subversion/libsvn_wc/update_editor.c Fri Nov 14 14:45:27 2008 (r34209)
> @@ -219,14 +219,16 @@ struct edit_baton
> svn_wc_get_file_t fetch_func;
> void *fetch_baton;
>
> - /* Paths that were skipped during the edit, and therefore shouldn't have
> - their revision/url info updated at the end.
> - The keys are pathnames and the values unspecified. */
> + /* Paths that were skipped during the edit, and therefore shouldn't
> + have their revision/url info updated at the end. If a path is a
> + directory, its descendants will also be skipped. The keys are
> + pathnames and the values unspecified. */
> apr_hash_t *skipped_paths;
>
> - /* The path of the tree conflict victim, if the edit is currently inside
> - a conflicted tree. NULL if the edit is not inside a conflicted tree. */
> - const char *current_tree_conflict;
> + /* Path of the tree- or prop-conflicted directory, if the edit is
> + currently inside a conflicted tree. NULL if the edit is not
> + inside a conflicted tree. */
> + const char *current_conflict;
>
> apr_pool_t *pool;
> };
> @@ -579,7 +581,7 @@ complete_directory(struct edit_baton *eb
> const char *name;
>
> /* If inside a tree conflict, do nothing. */
> - if (eb->current_tree_conflict)
> + if (eb->current_conflict)
> return SVN_NO_ERROR;
>
> /* If this is the root directory and there is a target, we can't
> @@ -1533,7 +1535,8 @@ already_in_a_tree_conflict(char **victim
> while (! svn_path_is_empty(ancestor))
> {
> SVN_ERR(svn_wc_adm_probe_open3(&ancestor_access, NULL, ancestor,
> - FALSE, 0, NULL, NULL, pool));
> + FALSE, 0, cancel_func, cancel_baton,
> + pool));
>
> if (ancestor_access == NULL)
> break;
> @@ -1605,9 +1608,9 @@ do_entry_deletion(struct edit_baton *eb,
>
> /* Is an ancestor-dir (already visited by this edit) a tree conflict
> victim? If so, skip without notification. */
> - if (eb->current_tree_conflict)
> + if (eb->current_conflict)
> {
> - SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_tree_conflict,
> + SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_conflict,
> full_path));
>
> remember_skipped_path(eb, full_path);
> @@ -1840,9 +1843,9 @@ add_directory(const char *path,
>
> /* Is an ancestor-dir (already visited by this edit) a tree conflict
> victim? If so, skip without notification. */
> - if (eb->current_tree_conflict)
> + if (eb->current_conflict)
> {
> - SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_tree_conflict,
> + SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_conflict,
> full_path));
>
> remember_skipped_path(eb, full_path);
> @@ -1858,8 +1861,7 @@ add_directory(const char *path,
> if (victim_path != NULL)
> {
> /* Record this conflict so that its descendants are skipped silently. */
> - eb->current_tree_conflict = victim_path;
> -
> + eb->current_conflict = victim_path;
> remember_skipped_path(eb, full_path);
>
> /* ### TODO: Also print victim_path in the skip msg. */
> @@ -1956,7 +1958,7 @@ add_directory(const char *path,
> if (tree_conflict != NULL)
> {
> /* Record this conflict so that its descendants are skipped silently. */
> - eb->current_tree_conflict = apr_pstrdup(pool,
> + eb->current_conflict = apr_pstrdup(pool,
> tree_conflict->path);
>
> remember_skipped_path(eb, full_path);
> @@ -2147,9 +2149,9 @@ open_directory(const char *path,
>
> /* Is an ancestor-dir (already visited by this edit) a tree conflict
> victim? If so, skip the tree without notification. */
> - if (eb->current_tree_conflict)
> + if (eb->current_conflict)
> {
> - SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_tree_conflict,
> + SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_conflict,
> full_path));
>
> db->bump_info->skipped = TRUE;
> @@ -2165,7 +2167,7 @@ open_directory(const char *path,
>
> if (victim_path != NULL)
> {
> - eb->current_tree_conflict = victim_path;
> + eb->current_conflict = victim_path;
> tree_conflict = NULL;
> }
> else
> @@ -2175,14 +2177,13 @@ open_directory(const char *path,
> full_path, entry, parent_adm_access,
> svn_wc_conflict_action_edit, pool));
>
> - if (tree_conflict != NULL)
> - eb->current_tree_conflict = apr_pstrdup(pool, tree_conflict->path);
> -
> - /* If property-conflicted, skip the dir itself, with notification, but
> - allow its descendants to be updated. */
> + /* If property-conflicted, skip the tree with notification. */
> SVN_ERR(svn_wc_conflicted_p2(NULL, &prop_conflicted, NULL, full_path,
> adm_access, pool));
>
> + if (tree_conflict != NULL || prop_conflicted)
> + eb->current_conflict = full_path;
> +
> if (victim_path != NULL || tree_conflict != NULL || prop_conflicted)
> {
> db->bump_info->skipped = TRUE;
> @@ -2306,13 +2307,13 @@ close_directory(void *dir_baton,
>
> /* Skip if we're in a conflicted tree. Remove the tree-conflict flag if
> we're closing the victim directory. */
> - if (db->edit_baton->current_tree_conflict)
> + if (db->edit_baton->current_conflict)
> {
> /* Allow the parent to complete its update. */
> SVN_ERR(maybe_bump_dir_info(db->edit_baton, db->bump_info, db->pool));
>
> - if (strcmp(db->edit_baton->current_tree_conflict, db->path) == 0)
> - db->edit_baton->current_tree_conflict = NULL;
> + if (strcmp(db->edit_baton->current_conflict, db->path) == 0)
> + db->edit_baton->current_conflict = NULL;
>
> return SVN_NO_ERROR;
> }
> @@ -2942,9 +2943,9 @@ add_file(const char *path,
>
> /* Is an ancestor-dir (already visited by this edit) a tree conflict
> victim? If so, skip without notification. */
> - if (eb->current_tree_conflict)
> + if (eb->current_conflict)
> {
> - SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_tree_conflict,
> + SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_conflict,
> full_path));
>
> fb->skipped = TRUE;
> @@ -3116,9 +3117,9 @@ open_file(const char *path,
>
> /* Is an ancestor-dir (already visited by this edit) a tree conflict
> victim? If so, skip without notification. */
> - if (eb->current_tree_conflict)
> + if (eb->current_conflict)
> {
> - SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_tree_conflict,
> + SVN_ERR_ASSERT(svn_path_is_ancestor(eb->current_conflict,
> full_path));
>
> fb->skipped = TRUE;
> @@ -4133,7 +4134,7 @@ make_editor(svn_revnum_t *target_revisio
> eb->allow_unver_obstructions = allow_unver_obstructions;
> eb->skipped_paths = apr_hash_make(subpool);
> eb->ext_patterns = preserved_exts;
> - eb->current_tree_conflict = NULL;
> + eb->current_conflict = NULL;
>
> /* Construct an editor. */
> tree_editor->set_target_revision = set_target_revision;
>
> Modified: trunk/subversion/tests/cmdline/svntest/actions.py
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/tests/cmdline/svntest/actions.py?pathrev=34209&r1=34208&r2=34209
> ==============================================================================
> --- trunk/subversion/tests/cmdline/svntest/actions.py Fri Nov 14 14:21:00 2008 (r34208)
> +++ trunk/subversion/tests/cmdline/svntest/actions.py Fri Nov 14 14:45:27 2008 (r34209)
> @@ -2132,6 +2132,8 @@ def deep_trees_skipping_on_update(sbox,
> run_and_verify_update(base, x_out, x_disk, None,
> error_re_string = test_case.error_re_string)
>
> + run_and_verify_unquiet_status(base, x_status)
> +
> # Update subtrees, expecting a single 'Skipped' output for each one.
> for path in skip_paths:
> run_and_verify_update(j(base, path),
> @@ -2142,7 +2144,7 @@ def deep_trees_skipping_on_update(sbox,
> # This time, cd to the subdir before .
> was_cwd = os.getcwd()
> for path, skipped in chdir_skip_paths:
> - print("CHDIR TO: %s" % j(base, path))
> + #print("CHDIR TO: %s" % j(base, path))
> os.chdir(j(base, path))
> run_and_verify_update('',
> wc.State('', {skipped : Item(verb='Skipped')}),
>
> Modified: trunk/subversion/tests/cmdline/switch_tests.py
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/tests/cmdline/switch_tests.py?pathrev=34209&r1=34208&r2=34209
> ==============================================================================
> --- trunk/subversion/tests/cmdline/switch_tests.py Fri Nov 14 14:21:00 2008 (r34208)
> +++ trunk/subversion/tests/cmdline/switch_tests.py Fri Nov 14 14:45:27 2008 (r34209)
> @@ -2284,32 +2284,7 @@ def tree_conflicts_on_switch_2_1(sbox):
>
> expected_disk = disk_after_leaf_edit
>
> - ### Descendants of t.c. victims should be at r2!
> -# expected_status = deep_trees_status_local_leaf_edit
> - expected_status = svntest.wc.State('', {
> - '' : Item(status=' ', wc_rev=3),
> - 'D' : Item(status=' ', wc_rev=3),
> - 'D/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'D/D1/delta' : Item(status='A ', wc_rev=0),
> - 'DD' : Item(status=' ', wc_rev=3),
> - 'DD/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DD/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DD/D1/D2/epsilon' : Item(status='A ', wc_rev=0),
> - 'DDD' : Item(status=' ', wc_rev=3),
> - 'DDD/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DDD/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DDD/D1/D2/D3' : Item(status=' ', wc_rev=3),
> - 'DDD/D1/D2/D3/zeta' : Item(status='A ', wc_rev=0),
> - 'DDF' : Item(status=' ', wc_rev=3),
> - 'DDF/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DDF/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DDF/D1/D2/gamma' : Item(status='M ', wc_rev=3),
> - 'DF' : Item(status=' ', wc_rev=3),
> - 'DF/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DF/D1/beta' : Item(status='M ', wc_rev=3),
> - 'F' : Item(status=' ', wc_rev=3),
> - 'F/alpha' : Item(status='M ', wc_rev=2, treeconflict='C'),
> - })
> + expected_status = deep_trees_status_local_leaf_edit
> expected_status.tweak('F/alpha', 'D/D1', 'DF/D1', 'DD/D1', 'DDF/D1',
> 'DDD/D1', switched='S')
>
> @@ -2386,29 +2361,7 @@ def tree_conflicts_on_switch_3(sbox):
>
> expected_disk = state_empty_dirs
>
> - ### Descendants of t.c. victims should be at r2!
> -# expected_status = deep_trees_status_local_tree_del
> - expected_status = svntest.wc.State('', {
> - '' : Item(status=' ', wc_rev=3),
> - 'D' : Item(status=' ', wc_rev=3),
> - 'D/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DD' : Item(status=' ', wc_rev=3),
> - 'DD/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DD/D1/D2' : Item(status='D ', wc_rev=3),
> - 'DDD' : Item(status=' ', wc_rev=3),
> - 'DDD/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DDD/D1/D2' : Item(status='D ', wc_rev=3),
> - 'DDD/D1/D2/D3' : Item(status='D ', wc_rev=3),
> - 'DDF' : Item(status=' ', wc_rev=3),
> - 'DDF/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DDF/D1/D2' : Item(status='D ', wc_rev=3),
> - 'DDF/D1/D2/gamma' : Item(status='D ', wc_rev=3),
> - 'DF' : Item(status=' ', wc_rev=3),
> - 'DF/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DF/D1/beta' : Item(status='D ', wc_rev=3),
> - 'F' : Item(status=' ', wc_rev=3),
> - 'F/alpha' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - })
> + expected_status = deep_trees_status_local_tree_del
> expected_status.tweak('F/alpha', 'D/D1', 'DF/D1', 'DD/D1', 'DDF/D1',
> 'DDD/D1', switched='S')
>
> @@ -2459,9 +2412,9 @@ test_list = [ None,
> tolerate_local_mods,
> tree_conflicts_on_switch_1_1,
> tree_conflicts_on_switch_1_2,
> - XFail(tree_conflicts_on_switch_2_1),
> + tree_conflicts_on_switch_2_1,
> tree_conflicts_on_switch_2_2,
> - XFail(tree_conflicts_on_switch_3),
> + tree_conflicts_on_switch_3,
> ]
>
> if __name__ == '__main__':
>
> Modified: trunk/subversion/tests/cmdline/update_tests.py
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/tests/cmdline/update_tests.py?pathrev=34209&r1=34208&r2=34209
> ==============================================================================
> --- trunk/subversion/tests/cmdline/update_tests.py Fri Nov 14 14:21:00 2008 (r34208)
> +++ trunk/subversion/tests/cmdline/update_tests.py Fri Nov 14 14:45:27 2008 (r34209)
> @@ -670,6 +670,7 @@ def update_delete_modified_files(sbox):
> expected_status.tweak('A/B/E/alpha', status ='M ', wc_rev=1,
> treeconflict='C')
> expected_status.tweak('A/D/G/pi', status='M ')
> + expected_status.tweak('A/D/G/pi', 'A/D/G/rho', 'A/D/G/tau', wc_rev=1)
> expected_status.tweak('A/D/G', wc_rev=1, treeconflict='C')
>
> svntest.actions.run_and_verify_update(wc_dir,
> @@ -2752,13 +2753,20 @@ def update_conflicted(sbox):
> 'A/B/lambda' : Item(verb='Skipped'),
> 'A/mu' : Item(verb='Skipped'),
> 'A/D' : Item(verb='Skipped'),
> - 'A/D/G/pi' : Item(status='U '),
> })
> expected_status.tweak(wc_rev=3)
> expected_status.tweak('iota', 'A/B/lambda', 'A/mu', 'A/D', wc_rev=2)
> - expected_disk.tweak('A/D/G/pi', contents="""This is the file 'pi'.
> -Another line for pi
> -""")
> + # We no longer update descendants of a prop-conflicted dir.
> + expected_status.tweak('A/D/G',
> + 'A/D/G/pi',
> + 'A/D/G/rho',
> + 'A/D/G/tau',
> + 'A/D/H',
> + 'A/D/H/chi',
> + 'A/D/H/omega',
> + 'A/D/H/psi',
> + 'A/D/gamma', wc_rev=2)
> +
> svntest.actions.run_and_verify_update(wc_dir,
> expected_output,
> expected_disk,
> @@ -3993,32 +4001,7 @@ def tree_conflicts_on_update_2_1(sbox):
>
> expected_disk = disk_after_leaf_edit
>
> - ### Descendants of t.c. victims should be at r2!
> -# expected_status = deep_trees_status_local_leaf_edit
> - expected_status = svntest.wc.State('', {
> - '' : Item(status=' ', wc_rev=3),
> - 'D' : Item(status=' ', wc_rev=3),
> - 'D/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'D/D1/delta' : Item(status='A ', wc_rev=0),
> - 'DD' : Item(status=' ', wc_rev=3),
> - 'DD/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DD/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DD/D1/D2/epsilon' : Item(status='A ', wc_rev=0),
> - 'DDD' : Item(status=' ', wc_rev=3),
> - 'DDD/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DDD/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DDD/D1/D2/D3' : Item(status=' ', wc_rev=3),
> - 'DDD/D1/D2/D3/zeta' : Item(status='A ', wc_rev=0),
> - 'DDF' : Item(status=' ', wc_rev=3),
> - 'DDF/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DDF/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DDF/D1/D2/gamma' : Item(status='M ', wc_rev=3),
> - 'DF' : Item(status=' ', wc_rev=3),
> - 'DF/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DF/D1/beta' : Item(status='M ', wc_rev=3),
> - 'F' : Item(status=' ', wc_rev=3),
> - 'F/alpha' : Item(status='M ', wc_rev=2, treeconflict='C'),
> - })
> + expected_status = deep_trees_status_local_leaf_edit
>
> svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
> [ DeepTreesTestCase("local_leaf_edit_incoming_tree_del",
> @@ -4092,32 +4075,7 @@ def tree_conflicts_on_update_2_3(sbox):
>
> expected_disk = disk_after_leaf_edit
>
> - ### Descendants of t.c. victims should be at r2!
> -# expected_status = deep_trees_status_local_leaf_edit
> - expected_status = svntest.wc.State('', {
> - '' : Item(status=' ', wc_rev=3),
> - 'D' : Item(status=' ', wc_rev=3),
> - 'D/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'D/D1/delta' : Item(status='A ', wc_rev=0),
> - 'DD' : Item(status=' ', wc_rev=3),
> - 'DD/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DD/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DD/D1/D2/epsilon' : Item(status='A ', wc_rev=0),
> - 'DDD' : Item(status=' ', wc_rev=3),
> - 'DDD/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DDD/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DDD/D1/D2/D3' : Item(status=' ', wc_rev=3),
> - 'DDD/D1/D2/D3/zeta' : Item(status='A ', wc_rev=0),
> - 'DDF' : Item(status=' ', wc_rev=3),
> - 'DDF/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DDF/D1/D2' : Item(status=' ', wc_rev=3),
> - 'DDF/D1/D2/gamma' : Item(status='M ', wc_rev=3),
> - 'DF' : Item(status=' ', wc_rev=3),
> - 'DF/D1' : Item(status=' ', wc_rev=2, treeconflict='C'),
> - 'DF/D1/beta' : Item(status='M ', wc_rev=3),
> - 'F' : Item(status=' ', wc_rev=3),
> - 'F/alpha' : Item(status='M ', wc_rev=2, treeconflict='C'),
> - })
> + expected_status = deep_trees_status_local_leaf_edit
>
> # Paths where output should be a single 'Skipped' message.
> skip_paths = [
> @@ -4156,29 +4114,7 @@ def tree_conflicts_on_update_3(sbox):
>
> expected_disk = state_empty_dirs
>
> - ### Descendants of t.c. victims should be at r2!
> -# expected_status = deep_trees_status_local_tree_del
> - expected_status = svntest.wc.State('', {
> - '' : Item(status=' ', wc_rev=3),
> - 'D' : Item(status=' ', wc_rev=3),
> - 'D/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DD' : Item(status=' ', wc_rev=3),
> - 'DD/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DD/D1/D2' : Item(status='D ', wc_rev=3),
> - 'DDD' : Item(status=' ', wc_rev=3),
> - 'DDD/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DDD/D1/D2' : Item(status='D ', wc_rev=3),
> - 'DDD/D1/D2/D3' : Item(status='D ', wc_rev=3),
> - 'DDF' : Item(status=' ', wc_rev=3),
> - 'DDF/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DDF/D1/D2' : Item(status='D ', wc_rev=3),
> - 'DDF/D1/D2/gamma' : Item(status='D ', wc_rev=3),
> - 'DF' : Item(status=' ', wc_rev=3),
> - 'DF/D1' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - 'DF/D1/beta' : Item(status='D ', wc_rev=3),
> - 'F' : Item(status=' ', wc_rev=3),
> - 'F/alpha' : Item(status='D ', wc_rev=2, treeconflict='C'),
> - })
> + expected_status = deep_trees_status_local_tree_del
>
> svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
> [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svn-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: svn-help_at_subversion.tigris.org
>

Received on 2008-11-17 02:26:26 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.