FreeBSD/contrib/subversion/subversion/libsvn_wc/questions.c
/* Set *MODIFIED to true iff there are any local modifications within the
 * tree rooted at LOCAL_ABSPATH, using DB. If *MODIFIED
 * is set to true and all the local modifications were deletes then set
 * *ALL_EDITS_ARE_DELETES to true, set it to false otherwise.  LOCAL_ABSPATH
 * may be a file or a directory. */
Set *MODIFIED to true iff there are any local modifications within the
tree rooted at LOCAL_ABSPATH, using DB. If *MODIFIED
is set to true and all the local modifications were deletes then set
*ALL_EDITS_ARE_DELETES to true, set it to false otherwise.  LOCAL_ABSPATH
may be a file or a directory.
Set * MODIFIED to true iff there are any local modifications within the tree rooted at LOCAL_ABSPATH using DB . If * MODIFIED is set to true and all the local modifications were deletes then set * ALL_EDITS_ARE_DELETES to true set it to false otherwise . LOCAL_ABSPATH may be a file or a directory .
svn_error_t *
svn_wc__node_has_local_mods(svn_boolean_t *modified,
                            svn_boolean_t *all_edits_are_deletes,
                            svn_wc__db_t *db,
                            const char *local_abspath,
                            svn_boolean_t ignore_unversioned,
                            svn_cancel_func_t cancel_func,
                            void *cancel_baton,
                            apr_pool_t *scratch_pool)
{
  modcheck_baton_t modcheck_baton = { FALSE, FALSE, FALSE };
  svn_error_t *err;
  if (!all_edits_are_deletes)
    {
      SVN_ERR(svn_wc__db_has_db_mods(modified, db, local_abspath,
                                     scratch_pool));
      if (*modified)
        return SVN_NO_ERROR;
    }
  modcheck_baton.ignore_unversioned = ignore_unversioned;
  err = svn_wc__internal_walk_status(db, local_abspath,
                                     svn_depth_infinity,
                                     FALSE, FALSE, FALSE, NULL,
                                     modcheck_callback, &modcheck_baton,
                                     cancel_func, cancel_baton,
                                     scratch_pool);
  if (err && err->apr_err == SVN_ERR_CEASE_INVOCATION)
    svn_error_clear(err);
  else
    SVN_ERR(err);
  *modified = modcheck_baton.found_mod;
  if (all_edits_are_deletes)
    *all_edits_are_deletes = (modcheck_baton.found_mod
                              && !modcheck_baton.found_not_delete);
  return SVN_NO_ERROR;
}
svn_error_t * svn_wc__node_has_local_mods ( svn_boolean_t * modified , svn_boolean_t * all_edits_are_deletes , svn_wc__db_t * db , const char * local_abspath , svn_boolean_t ignore_unversioned , svn_cancel_func_t cancel_func , void * cancel_baton , apr_pool_t * scratch_pool ) { modcheck_baton_t modcheck_baton = { FALSE , FALSE , FALSE } ; svn_error_t * err ; if ( ! all_edits_are_deletes ) { SVN_ERR ( svn_wc__db_has_db_mods ( modified , db , local_abspath , scratch_pool ) ) ; if ( * modified ) return SVN_NO_ERROR ; } modcheck_baton . ignore_unversioned = ignore_unversioned ; err = svn_wc__internal_walk_status ( db , local_abspath , svn_depth_infinity , FALSE , FALSE , FALSE , NULL , modcheck_callback , & modcheck_baton , cancel_func , cancel_baton , scratch_pool ) ; if ( err && err -> apr_err == SVN_ERR_CEASE_INVOCATION ) svn_error_clear ( err ) ; else SVN_ERR ( err ) ; * modified = modcheck_baton . found_mod ; if ( all_edits_are_deletes ) * all_edits_are_deletes = ( modcheck_baton . found_mod && ! modcheck_baton . found_not_delete ) ; return SVN_NO_ERROR ; }
Set *MODIFIED to true iff there are any local modifications within the
 tree rooted at LOCAL_ABSPATH, using DB.
Set * MODIFIED to true iff there are any local modifications within the tree rooted at LOCAL_ABSPATH using DB .
/* Walk the WC tree for status with depth infinity, looking for any local
   * modifications. If it's a "sparse" directory, that's OK: there can be
   * no local mods in the pieces that aren't present in the WC. */