Alien-SVN

 view release on metacpan or  search on metacpan

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


  /** Mergeinfo describing a merge was recorded.
   * @since New in 1.7. */
  svn_wc_notify_merge_record_info_begin,

  /** Mergeinfo was removed due to elision.
   * @since New in 1.7. */
  svn_wc_notify_merge_elide_info,

  /** A file in the working copy was patched.
   * @since New in 1.7. */
  svn_wc_notify_patch,

  /** A hunk from a patch was applied.
   * @since New in 1.7. */
  svn_wc_notify_patch_applied_hunk,

  /** A hunk from a patch was rejected.
   * @since New in 1.7. */
  svn_wc_notify_patch_rejected_hunk,

  /** A hunk from a patch was found to already be applied.
   * @since New in 1.7. */
  svn_wc_notify_patch_hunk_already_applied,

  /** Committing a non-overwriting copy (path is the target of the
   * copy, not the source).
   * @since New in 1.7. */
  svn_wc_notify_commit_copied,

  /** Committing an overwriting (replace) copy (path is the target of
   * the copy, not the source).
   * @since New in 1.7. */
  svn_wc_notify_commit_copied_replaced,

  /** The server has instructed the client to follow a URL
   * redirection.
   * @since New in 1.7. */
  svn_wc_notify_url_redirect,

  /** The operation was attempted on a path which doesn't exist.
   * @since New in 1.7. */
  svn_wc_notify_path_nonexistent,

  /** Removing a path by excluding it.
   * @since New in 1.7. */
  svn_wc_notify_exclude,

  /** Operation failed because the node remains in conflict
   * @since New in 1.7. */
  svn_wc_notify_failed_conflict,

  /** Operation failed because an added node is missing
   * @since New in 1.7. */
  svn_wc_notify_failed_missing,

  /** Operation failed because a node is out of date
   * @since New in 1.7. */
  svn_wc_notify_failed_out_of_date,

  /** Operation failed because an added parent is not selected
   * @since New in 1.7. */
  svn_wc_notify_failed_no_parent,

  /** Operation failed because a node is locked by another user and/or
   * working copy.  @since New in 1.7. */
  svn_wc_notify_failed_locked,

  /** Operation failed because the operation was forbidden by the server.
   * @since New in 1.7. */
  svn_wc_notify_failed_forbidden_by_server,

  /** The operation skipped the path because it was conflicted.
   * @since New in 1.7. */
  svn_wc_notify_skip_conflicted,

  /** Just the lock on a file was removed during update.
   * @since New in 1.8. */
  svn_wc_notify_update_broken_lock,

  /** Operation failed because a node is obstructed.
   * @since New in 1.8. */
  svn_wc_notify_failed_obstruction,

  /** Conflict resolver is starting.
   * This can be used by clients to detect when to display conflict summary
   * information, for example.
   * @since New in 1.8. */
  svn_wc_notify_conflict_resolver_starting,

  /** Conflict resolver is done.
   * This can be used by clients to detect when to display conflict summary
   * information, for example.
   * @since New in 1.8. */
  svn_wc_notify_conflict_resolver_done,

  /** The current operation left local changes of something that was deleted
   * The changes are available on (and below) the notified path
   * @since New in 1.8. */
  svn_wc_notify_left_local_modifications,

  /** A copy from a foreign repository has started
   * @since New in 1.8. */
  svn_wc_notify_foreign_copy_begin,

  /** A move in the working copy has been broken, i.e. degraded into a
   * copy + delete. The notified path is the move source (the deleted path).
   * ### TODO: Provide path to move destination as well?
   * @since New in 1.8. */
  svn_wc_notify_move_broken

} svn_wc_notify_action_t;


/** The type of notification that is occurring. */
typedef enum svn_wc_notify_state_t
{
  svn_wc_notify_state_inapplicable = 0,

  /** Notifier doesn't know or isn't saying. */
  svn_wc_notify_state_unknown,

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

 * (which must be an absolute path), the @c kind field to
 * #svn_wc_conflict_kind_tree, the @c node_kind to @a node_kind, the @c
 * operation to @a operation, the @c src_left_version field to
 * @a src_left_version, and the @c src_right_version field to
 * @a src_right_version.
 *
 * @note: It is the caller's responsibility to set the other required fields
 * (such as the four file names and @c action and @c reason).
 *
 * @since New in 1.7.
 */
svn_wc_conflict_description2_t *
svn_wc_conflict_description_create_tree2(
  const char *local_abspath,
  svn_node_kind_t node_kind,
  svn_wc_operation_t operation,
  const svn_wc_conflict_version_t *src_left_version,
  const svn_wc_conflict_version_t *src_right_version,
  apr_pool_t *result_pool);


/** Similar to svn_wc_conflict_description_create_tree(), but returns
 * a #svn_wc_conflict_description_t *.
 *
 * @since New in 1.6.
 * @deprecated Provided for backward compatibility with the 1.6 API.
 */
SVN_DEPRECATED
svn_wc_conflict_description_t *
svn_wc_conflict_description_create_tree(
  const char *path,
  svn_wc_adm_access_t *adm_access,
  svn_node_kind_t node_kind,
  svn_wc_operation_t operation,
  /* non-const */ svn_wc_conflict_version_t *src_left_version,
  /* non-const */ svn_wc_conflict_version_t *src_right_version,
  apr_pool_t *pool);


/** Return a duplicate of @a conflict, allocated in @a result_pool.
 * A deep copy of all members will be made.
 *
 * @since New in 1.7.
 */
svn_wc_conflict_description2_t *
svn_wc__conflict_description2_dup(
  const svn_wc_conflict_description2_t *conflict,
  apr_pool_t *result_pool);


/** The way in which the conflict callback chooses a course of action.
 *
 * @since New in 1.5.
 */
typedef enum svn_wc_conflict_choice_t
{
  /** Don't resolve the conflict now.  Let libsvn_wc mark the path
     'conflicted', so user can run 'svn resolved' later. */
  svn_wc_conflict_choose_postpone,

  /** If there were files to choose from, select one as a way of
     resolving the conflict here and now.  libsvn_wc will then do the
     work of "installing" the chosen file.
  */
  svn_wc_conflict_choose_base,            /**< original version */
  svn_wc_conflict_choose_theirs_full,     /**< incoming version */
  svn_wc_conflict_choose_mine_full,       /**< own version */
  svn_wc_conflict_choose_theirs_conflict, /**< incoming (for conflicted hunks) */
  svn_wc_conflict_choose_mine_conflict,   /**< own (for conflicted hunks) */
  svn_wc_conflict_choose_merged,          /**< merged version */

  /* @since New in 1.8. */
  svn_wc_conflict_choose_unspecified      /**< undecided */

} svn_wc_conflict_choice_t;


/** The final result returned by #svn_wc_conflict_resolver_func_t.
 *
 * @note Fields may be added to the end of this structure in future
 * versions.  Therefore, to preserve binary compatibility, users
 * should not directly allocate structures of this type.  Instead,
 * construct this structure using svn_wc_create_conflict_result()
 * below.
 *
 * @since New in 1.5.
 */
typedef struct svn_wc_conflict_result_t
{
  /** A choice to either delay the conflict resolution or select a
      particular file to resolve the conflict. */
  svn_wc_conflict_choice_t choice;

  /** If not NULL, this is a path to a file which contains the client's
      (or more likely, the user's) merging of the three values in
      conflict.  libsvn_wc accepts this file if (and only if) @c choice
      is set to #svn_wc_conflict_choose_merged.*/
  const char *merged_file;

  /** If true, save a backup copy of merged_file (or the original
      merged_file from the conflict description, if merged_file is
      NULL) in the user's working copy. */
  svn_boolean_t save_merged;

} svn_wc_conflict_result_t;


/**
 * Allocate an #svn_wc_conflict_result_t structure in @a pool,
 * initialize and return it.
 *
 * Set the @c choice field of the structure to @a choice, @c merged_file
 * to @a merged_file, and @c save_merged to false.  Make only a shallow
 * copy of the pointer argument @a merged_file.
 *
 * @since New in 1.5.
 */
svn_wc_conflict_result_t *
svn_wc_create_conflict_result(svn_wc_conflict_choice_t choice,
                              const char *merged_file,
                              apr_pool_t *pool);


/** A callback used in merge, update and switch for resolving conflicts
 * during the application of a tree delta to a working copy.
 *
 * @a description describes the exact nature of the conflict, and
 * provides information to help resolve it.  @a baton is a closure
 * object; it should be provided by the implementation, and passed by
 * the caller.  When finished, the callback signals its resolution by
 * returning a structure in @a *result, which should be allocated in
 * @a result_pool.  (See #svn_wc_conflict_result_t.)  @a scratch_pool
 * should be used for any temporary allocations.
 *
 * The values #svn_wc_conflict_choose_mine_conflict and
 * #svn_wc_conflict_choose_theirs_conflict are not legal for conflicts
 * in binary files or binary properties.
 *
 * Implementations of this callback are free to present the conflict
 * using any user interface.  This may include simple contextual
 * conflicts in a file's text or properties, or more complex
 * 'tree'-based conflicts related to obstructed additions, deletions,
 * and edits.  The callback implementation is free to decide which
 * sorts of conflicts to handle; it's also free to decide which types
 * of conflicts are automatically resolvable and which require user
 * interaction.
 *
 * @since New in 1.7.
 */
typedef svn_error_t *(*svn_wc_conflict_resolver_func2_t)(



( run in 0.997 second using v1.01-cache-2.11-cpan-3d66aa2751a )