[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: Wed, 19 Nov 2008 06:09:13 +0100

Neels J. Hofmeyr wrote:
> 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?

...Please? Just verify that everything is in order, and fix the expected
result if you want to.
~Neels

>
> 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-19 06:09:41 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.