FreeBSD/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c
/* Add an entry to the notification list, and at the same time install
   a conflict and/or work items. */
Add an entry to the notification list, and at the same time install
a conflict and/or work items.
Add an entry to the notification list and at the same time install a conflict and / or work items .
static svn_error_t *
update_move_list_add(svn_wc__db_wcroot_t *wcroot,
                     const char *local_relpath,
                     svn_wc__db_t *db,
                     svn_wc_notify_action_t action,
                     svn_node_kind_t kind,
                     svn_wc_notify_state_t content_state,
                     svn_wc_notify_state_t prop_state,
                     svn_skel_t *conflict,
                     svn_skel_t *work_item,
                     apr_pool_t *scratch_pool)
{
  svn_sqlite__stmt_t *stmt;
  if (conflict)
    {
      svn_boolean_t tree_conflict;
      SVN_ERR(svn_wc__conflict_read_info(NULL, NULL, NULL, NULL,
                                         &tree_conflict,
                                         db, wcroot->abspath, conflict,
                                         scratch_pool, scratch_pool));
      if (tree_conflict)
        {
          action = svn_wc_notify_tree_conflict;
          content_state = svn_wc_notify_state_inapplicable;
          prop_state = svn_wc_notify_state_inapplicable;
        }
    }
  SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
                                    STMT_INSERT_UPDATE_MOVE_LIST));
  SVN_ERR(svn_sqlite__bindf(stmt, "sdtdd", local_relpath,
                            action, kind_map_none, kind,
                            content_state, prop_state));
  SVN_ERR(svn_sqlite__step_done(stmt));
  if (conflict)
    SVN_ERR(svn_wc__db_mark_conflict_internal(wcroot, local_relpath, conflict,
                                              scratch_pool));
  if (work_item)
    SVN_ERR(svn_wc__db_wq_add_internal(wcroot, work_item, scratch_pool));
  return SVN_NO_ERROR;
}
static svn_error_t * update_move_list_add ( svn_wc__db_wcroot_t * wcroot , const char * local_relpath , svn_wc__db_t * db , svn_wc_notify_action_t action , svn_node_kind_t kind , svn_wc_notify_state_t content_state , svn_wc_notify_state_t prop_state , svn_skel_t * conflict , svn_skel_t * work_item , apr_pool_t * scratch_pool ) { svn_sqlite__stmt_t * stmt ; if ( conflict ) { svn_boolean_t tree_conflict ; SVN_ERR ( svn_wc__conflict_read_info ( NULL , NULL , NULL , NULL , & tree_conflict , db , wcroot -> abspath , conflict , scratch_pool , scratch_pool ) ) ; if ( tree_conflict ) { action = svn_wc_notify_tree_conflict ; content_state = svn_wc_notify_state_inapplicable ; prop_state = svn_wc_notify_state_inapplicable ; } } SVN_ERR ( svn_sqlite__get_statement ( & stmt , wcroot -> sdb , STMT_INSERT_UPDATE_MOVE_LIST ) ) ; SVN_ERR ( svn_sqlite__bindf ( stmt , " " , local_relpath , action , kind_map_none , kind , content_state , prop_state ) ) ; SVN_ERR ( svn_sqlite__step_done ( stmt ) ) ; if ( conflict ) SVN_ERR ( svn_wc__db_mark_conflict_internal ( wcroot , local_relpath , conflict , scratch_pool ) ) ; if ( work_item ) SVN_ERR ( svn_wc__db_wq_add_internal ( wcroot , work_item , scratch_pool ) ) ; return SVN_NO_ERROR ; }
Add an entry to the notification list, and at the same time install
a conflict and/or work items.
Add an entry to the notification list and at the same time install a conflict and / or work items .