- Timestamp:
- Sep 3, 2013 7:24:22 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 88660
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/apps/svnsync-vbox/main.c
r33540 r48252 1242 1242 svn_boolean_t prev_process_default, process_default; 1243 1243 svn_boolean_t prev_process_recursive, process_recursive; 1244 svn_boolean_t added_ancestor_dir; /* This dir or its ancestors were added in this changeset */ 1244 1245 svn_boolean_t ignore_everything; /* Ignore operations on this dir/file. */ 1245 1246 svn_boolean_t ignore_everything_rec; /* Recursively ignore operations on subdirs/files. */ … … 1291 1292 apr_hash_t *fileprops; 1292 1293 apr_hash_index_t *hi; 1293 1294 SVN_ERR(eb->wrapped_editor->add_file(dst_path, wrapped_parent_node_baton, 1295 NULL, SVN_IGNORED_REVNUM, pool, 1296 &fb->wrapped_node_baton)); 1294 svn_error_t *e = NULL; 1295 1296 e = eb->wrapped_editor->add_file(dst_path, wrapped_parent_node_baton, 1297 NULL, SVN_IGNORED_REVNUM, pool, 1298 &fb->wrapped_node_baton); 1299 if (e) 1300 { 1301 svn_error_clear(e); 1302 SVN_ERR(eb->wrapped_editor->open_file(dst_path, wrapped_parent_node_baton, 1303 SVN_IGNORED_REVNUM, pool, 1304 &fb->wrapped_node_baton)); 1305 } 1297 1306 1298 1307 subpool = svn_pool_create(pool); … … 1602 1611 { 1603 1612 /* Genuinely add a new dir, referring to other revision/name if known. */ 1613 b->added_ancestor_dir = TRUE; 1604 1614 SVN_ERR(eb->wrapped_editor->add_directory(path, pb->wrapped_node_baton, 1605 1615 copyfrom_path, … … 1664 1674 node_baton_t *db = apr_pcalloc(pool, sizeof(*db)); 1665 1675 svn_boolean_t dir_added_this_changeset = FALSE; 1666 svn_boolean_t dir_present_in_target = TRUE;1676 svn_boolean_t dir_present_in_target = FALSE; 1667 1677 1668 1678 DX(fprintf(stderr, "open_directory %s\n", path);) 1679 db->added_ancestor_dir = pb->added_ancestor_dir; 1669 1680 db->ignore_everything_rec = pb->ignore_everything_rec; 1670 1681 db->ignore_everything = db->ignore_everything_rec; … … 1676 1687 * a change to some file in the directory is in one changeset. */ 1677 1688 SVN_ERR(svn_ra_check_path(eb->from_session_prop, STRIP_LEADING_SLASH(path), 1678 eb->current-1, 1679 &nodekind, pool));1680 dir_added_this_changeset =(nodekind != svn_node_dir);1689 eb->current-1, &nodekind, pool)); 1690 dir_added_this_changeset = db->added_ancestor_dir 1691 || (nodekind != svn_node_dir); 1681 1692 if (!dir_added_this_changeset) 1682 1693 { … … 1696 1707 } 1697 1708 } 1709 else 1710 { 1711 dir_present_in_target = TRUE; 1712 } 1698 1713 SVN_ERR(get_props_sync(eb->from_session_prop, eb->default_process, 1699 1714 pb->process_default, pb->process_recursive, path, … … 1746 1761 /* Directory appears due to changes to the process settings. */ 1747 1762 eb->changeset_live = TRUE; 1763 db->added_ancestor_dir = TRUE; 1748 1764 SVN_ERR(eb->wrapped_editor->add_directory(path, pb->wrapped_node_baton, 1749 1765 NULL, SVN_IGNORED_REVNUM, pool,
Note:
See TracChangeset
for help on using the changeset viewer.