Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/subversion/include/svn_ra.h  view on Meta::CPAN

               apr_hash_t **dirents,
               svn_revnum_t *fetched_rev,
               apr_hash_t **props,
               apr_pool_t *pool);

/**
 * Set @a *catalog to a mergeinfo catalog for the paths in @a paths.
 * If no mergeinfo is available, set @a *catalog to @c NULL.  The
 * requested mergeinfo hashes are for @a paths (which are relative to
 * @a session's URL) in @a revision.  If one of the paths does not exist
 * in that revision, return SVN_ERR_FS_NOT_FOUND.
 *
 * @a inherit indicates whether explicit, explicit or inherited, or
 * only inherited mergeinfo for @a paths is retrieved.
 *
 * If @a include_descendants is TRUE, then additionally return the
 * mergeinfo for any descendant of any element of @a paths which has
 * the @c SVN_PROP_MERGEINFO property explicitly set on it.  (Note
 * that inheritance is only taken into account for the elements in @a
 * paths; descendants of the elements in @a paths which get their
 * mergeinfo via inheritance are not included in @a *catalog.)
 *
 * Allocate the returned values in @a pool.
 *
 * If @a revision is @c SVN_INVALID_REVNUM, it defaults to youngest.
 *
 * If the server doesn't support retrieval of mergeinfo (which can
 * happen even for file:// URLs, if the repository itself hasn't been
 * upgraded), return @c SVN_ERR_UNSUPPORTED_FEATURE in preference to
 * any other error that might otherwise be returned.
 *
 * @since New in 1.5.
 */
svn_error_t *
svn_ra_get_mergeinfo(svn_ra_session_t *session,
                     svn_mergeinfo_catalog_t *catalog,
                     const apr_array_header_t *paths,
                     svn_revnum_t revision,
                     svn_mergeinfo_inheritance_t inherit,
                     svn_boolean_t include_descendants,
                     apr_pool_t *pool);

/**
 * Ask the RA layer to update a working copy to a new revision.
 *
 * The client initially provides an @a update_editor/@a update_baton to the
 * RA layer; this editor contains knowledge of where the change will
 * begin in the working copy (when @c open_root() is called).
 *
 * In return, the client receives a @a reporter/@a report_baton.  The
 * client then describes its working copy by making calls into the
 * @a reporter.
 *
 * When finished, the client calls @a reporter->finish_report().  The
 * RA layer then does a complete drive of @a update_editor, ending with
 * @a update_editor->close_edit(), to update the working copy.
 *
 * @a update_target is an optional single path component to restrict
 * the scope of the update to just that entry (in the directory
 * represented by the @a session's URL).  If @a update_target is the
 * empty string, the entire directory is updated.
 *
 * Update the target only as deeply as @a depth indicates.
 *
 * If @a send_copyfrom_args is TRUE, then ask the server to send
 * copyfrom arguments to add_file() and add_directory() when possible.
 * (Note: this means that any subsequent txdeltas coming from the
 * server are presumed to apply against the copied file!)
 *
 * Use @a ignore_ancestry to control whether or not items being
 * updated will be checked for relatedness first.  Unrelated items
 * are typically transmitted to the editor as a deletion of one thing
 * and the addition of another, but if this flag is @c TRUE,
 * unrelated items will be diffed as if they were related.
 *
 * The working copy will be updated to @a revision_to_update_to, or the
 * "latest" revision if this arg is invalid.
 *
 * The caller may not perform any RA operations using @a session before
 * finishing the report, and may not perform any RA operations using
 * @a session from within the editing operations of @a update_editor.
 *
 * Allocate @a *reporter and @a *report_baton in @a result_pool.  Use
 * @a scratch_pool for temporary allocations.
 *
 * @note The reporter provided by this function does NOT supply copy-
 * from information to the diff editor callbacks.
 *
 * @note In order to prevent pre-1.5 servers from doing more work than
 * needed, and sending too much data back, a pre-1.5 'recurse'
 * directive may be sent to the server, based on @a depth.
 *
 * @note Pre Subversion 1.8 svnserve based servers never ignore ancestry.
 *
 * @note This differs from calling svn_ra_do_switch3() with the current
 * URL of the target node.  Update changes only the revision numbers,
 * leaving any switched subtrees still switched, whereas switch changes
 * every node in the tree to a child of the same URL.
 *
 * @since New in 1.8.
 */
svn_error_t *
svn_ra_do_update3(svn_ra_session_t *session,
                  const svn_ra_reporter3_t **reporter,
                  void **report_baton,
                  svn_revnum_t revision_to_update_to,
                  const char *update_target,
                  svn_depth_t depth,
                  svn_boolean_t send_copyfrom_args,
                  svn_boolean_t ignore_ancestry,
                  const svn_delta_editor_t *update_editor,
                  void *update_baton,
                  apr_pool_t *result_pool,
                  apr_pool_t *scratch_pool);

/**
 * Similar to svn_ra_do_update3(), but always ignoring ancestry.
 *
 * @since New in 1.5.
 * @deprecated Provided for compatibility with the 1.4 API.
 */
SVN_DEPRECATED
svn_error_t *
svn_ra_do_update2(svn_ra_session_t *session,
                  const svn_ra_reporter3_t **reporter,
                  void **report_baton,
                  svn_revnum_t revision_to_update_to,
                  const char *update_target,
                  svn_depth_t depth,
                  svn_boolean_t send_copyfrom_args,
                  const svn_delta_editor_t *update_editor,
                  void *update_baton,
                  apr_pool_t *pool);

/**
 * Similar to svn_ra_do_update2(), but taking @c svn_ra_reporter2_t



( run in 0.643 second using v1.01-cache-2.11-cpan-5623c5533a1 )