~ubuntu-branches/debian/stretch/subversion/stretch

« back to all changes in this revision

Viewing changes to subversion/libsvn_wc/adm_ops.c

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2013-10-18 23:23:06 UTC
  • mfrom: (17.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20131018232306-etbd7h4i0stghrd5
Tags: 1.7.13-2
Remove unnecessary libapache2-svn.prem.  (Closes: #726717)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1405
1405
/* Make the working tree under LOCAL_ABSPATH to depth DEPTH match the
1406
1406
   versioned tree.  This function is called after svn_wc__db_op_revert
1407
1407
   has done the database revert and created the revert list.  Notifies
1408
 
   for all paths equal to or below LOCAL_ABSPATH that are reverted. */
 
1408
   for all paths equal to or below LOCAL_ABSPATH that are reverted.
 
1409
 
 
1410
   REVERT_ROOT is true for explicit revert targets and FALSE for targets
 
1411
   reached via recursion.
 
1412
 */
1409
1413
static svn_error_t *
1410
1414
revert_restore(svn_wc__db_t *db,
1411
1415
               const char *local_abspath,
1412
1416
               svn_depth_t depth,
1413
1417
               svn_boolean_t use_commit_times,
 
1418
               svn_boolean_t revert_root,
1414
1419
               svn_cancel_func_t cancel_func,
1415
1420
               void *cancel_baton,
1416
1421
               svn_wc_notify_func2_t notify_func,
1434
1439
#endif
1435
1440
  svn_boolean_t copied_here;
1436
1441
  svn_wc__db_kind_t reverted_kind;
 
1442
  svn_boolean_t is_wcroot;
1437
1443
 
1438
1444
  if (cancel_func)
1439
1445
    SVN_ERR(cancel_func(cancel_baton));
1440
1446
 
 
1447
  SVN_ERR(svn_wc__db_is_wcroot(&is_wcroot, db, local_abspath, scratch_pool));
 
1448
  if (is_wcroot && !revert_root)
 
1449
    {
 
1450
      /* Issue #4162: Obstructing working copy. We can't access the working
 
1451
         copy data from the parent working copy for this node by just using
 
1452
         local_abspath */
 
1453
 
 
1454
      if (notify_func)
 
1455
        {
 
1456
          svn_wc_notify_t *notify = svn_wc_create_notify(
 
1457
                                        local_abspath,
 
1458
                                        svn_wc_notify_update_skip_obstruction,
 
1459
                                        scratch_pool);
 
1460
 
 
1461
          notify_func(notify_baton, notify, scratch_pool);
 
1462
        }
 
1463
 
 
1464
      return SVN_NO_ERROR; /* We don't revert obstructing working copies */
 
1465
    }
 
1466
 
1441
1467
  SVN_ERR(svn_wc__db_revert_list_read(&notify_required,
1442
1468
                                      &conflict_old, &conflict_new,
1443
1469
                                      &conflict_working, &prop_reject,
1743
1769
                                          iterpool);
1744
1770
 
1745
1771
          SVN_ERR(revert_restore(db, child_abspath, depth,
1746
 
                                 use_commit_times,
 
1772
                                 use_commit_times, FALSE /* revert root */,
1747
1773
                                 cancel_func, cancel_baton,
1748
1774
                                 notify_func, notify_baton,
1749
1775
                                 iterpool));
1795
1821
 
1796
1822
  if (!err)
1797
1823
    err = revert_restore(db, local_abspath, depth,
1798
 
                         use_commit_times,
 
1824
                         use_commit_times, TRUE /* revert root */,
1799
1825
                         cancel_func, cancel_baton,
1800
1826
                         notify_func, notify_baton,
1801
1827
                         scratch_pool);