svn_wc_notify_t Struct Reference
Working copy management » Notification callback handling

Structure used in the svn_wc_notify_func2_t function. More...

`#include <svn_wc.h>`

## Data Fields

const char * | path
| Path, either absolute or relative to the current working directory (i.e., not relative to an anchor). More...
svn_wc_notify_action_t | action
| Action that describes what happened to svn_wc_notify_t.path.
svn_node_kind_t | kind
| Node kind of `path`.
const char * | mime_type
| If non-NULL, indicates the mime-type of `path`. More...
const svn_lock_t * | lock
| Points to the lock structure received from the repository when `action` is svn_wc_notify_locked. More...
svn_error_t * | err
| Points to an error describing the reason for the failure when `action` is one of the following: svn_wc_notify_failed_lock, svn_wc_notify_failed_unlock, svn_wc_notify_failed_external. More...
svn_wc_notify_state_t | content_state
| The type of notification that is occurring about node content.
svn_wc_notify_state_t | prop_state
| The type of notification that is occurring about node properties.
svn_wc_notify_lock_state_t | lock_state
| Reflects the addition or removal of a lock token in the working copy.
svn_revnum_t | revision
| When `action` is svn_wc_notify_update_completed, target revision of the update, or SVN_INVALID_REVNUM if not available; when `action` is svn_wc_notify_blame_revision, processed revision; Since Subversion 1.7 when action is svn_wc_notify_update_update or svn_wc_notify_update_add, the target revision. More...
const char * | changelist_name
| If `action` pertains to a changelist, this is the changelist name. More...
svn_merge_range_t * | merge_range
| When `action` is svn_wc_notify_merge_begin or svn_wc_notify_foreign_merge_begin or svn_wc_notify_merge_record_info_begin, and both the left and right sides of the merge are from the same URL. More...
const char * | url
| Similar to `path`, but if non-NULL the notification is about a url. More...
const char * | path_prefix
| If non-NULL, specifies an absolute path prefix that can be subtracted from the start of the absolute path in `path` or `url`. More...
const char * | prop_name
| If `action` relates to properties, specifies the name of the property. More...
apr_hash_t * | rev_props
| If `action` is svn_wc_notify_blame_revision, contains a list of revision properties for the specified revision. More...
svn_revnum_t | old_revision
| If `action` is svn_wc_notify_update_update or svn_wc_notify_update_add, contains the revision before the update. More...
svn_linenum_t | hunk_original_start
| These fields are used by svn patch to identify the hunk the notification is for. More...
svn_linenum_t | hunk_original_length
svn_linenum_t | hunk_modified_start
svn_linenum_t | hunk_modified_length
svn_linenum_t | hunk_matched_line
| The line at which a hunk was matched (and applied). More...
svn_linenum_t | hunk_fuzz
| The fuzz factor the hunk was applied with. More...

## Detailed Description

Structure used in the svn_wc_notify_func2_t function.

`kind`, `content_state`, `prop_state` and `lock_state` are from after `action`, not before.

Note
  If `action` is svn_wc_notify_update_completed, then `path` has already been installed, so it is legitimate for an implementation of svn_wc_notify_func2_t to examine `path` in the working copy.
  The purpose of the `kind`, `mime_type`, `content_state`, and `prop_state` fields is to provide "for free" information that an implementation is likely to want, and which it would otherwise be forced to deduce via expensive operations such as reading entries and properties. However, if the caller does not have this information, it will simply pass the corresponding ‘*_unknown’ values, and it is up to the implementation how to handle that (i.e., whether to attempt deduction, or just to punt and give a less informative notification).
  Callers of notification functions should use svn_wc_create_notify() or svn_wc_create_notify_url() to create structures of this type to allow for extensibility.

Since
  New in 1.2.

Definition at line 1390 of file svn_wc.h.

## Field Documentation

## changelist_name

const char* svn_wc_notify_t::changelist_name

If `action` pertains to a changelist, this is the changelist name.

In all other cases, it is `NULL`.

Since
  New in 1.5

Definition at line 1439 of file svn_wc.h.

## err

svn_error_t* svn_wc_notify_t::err

Points to an error describing the reason for the failure when `action` is one of the following: svn_wc_notify_failed_lock, svn_wc_notify_failed_unlock, svn_wc_notify_failed_external.

Is `NULL` otherwise.

Definition at line 1417 of file svn_wc.h.

## hunk_fuzz

svn_linenum_t svn_wc_notify_t::hunk_fuzz

The fuzz factor the hunk was applied with.

Since
  New in 1.7

Definition at line 1490 of file svn_wc.h.

## hunk_matched_line

svn_linenum_t svn_wc_notify_t::hunk_matched_line

The line at which a hunk was matched (and applied).

Since
  New in 1.7.

Definition at line 1486 of file svn_wc.h.

## hunk_original_start

svn_linenum_t svn_wc_notify_t::hunk_original_start

These fields are used by svn patch to identify the hunk the notification is for.

They are line-based offsets and lengths parsed from the unidiff hunk header.

Since
  New in 1.7.

Definition at line 1478 of file svn_wc.h.

## lock

const svn_lock_t* svn_wc_notify_t::lock

Points to the lock structure received from the repository when `action` is svn_wc_notify_locked.

For other actions, it is `NULL`.

Definition at line 1411 of file svn_wc.h.

## merge_range

svn_merge_range_t* svn_wc_notify_t::merge_range

When `action` is svn_wc_notify_merge_begin or svn_wc_notify_foreign_merge_begin or svn_wc_notify_merge_record_info_begin, and both the left and right sides of the merge are from the same URL.

In all other cases, it is `NULL`.

Since
  New in 1.5

Definition at line 1446 of file svn_wc.h.

## mime_type

const char* svn_wc_notify_t::mime_type

If non-NULL, indicates the mime-type of `path`.

It is always `NULL` for directories.

Definition at line 1406 of file svn_wc.h.

## old_revision

svn_revnum_t svn_wc_notify_t::old_revision

If `action` is svn_wc_notify_update_update or svn_wc_notify_update_add, contains the revision before the update.

In all other cases, it is SVN_INVALID_REVNUM.

Since
  New in 1.7

Definition at line 1471 of file svn_wc.h.

## path

const char* svn_wc_notify_t::path

Path, either absolute or relative to the current working directory (i.e., not relative to an anchor).

`path` is "." or another valid path value for compatibility reasons when the real target is a url that is available in `url`.

Definition at line 1396 of file svn_wc.h.

## path_prefix

const char* svn_wc_notify_t::path_prefix

If non-NULL, specifies an absolute path prefix that can be subtracted from the start of the absolute path in `path` or `url`.

Its purpose is to allow notification to remove a common prefix from all the paths displayed for an operation.

Since
  New in 1.6

Definition at line 1456 of file svn_wc.h.

## prop_name

const char* svn_wc_notify_t::prop_name

If `action` relates to properties, specifies the name of the property.

Since
  New in 1.6

Definition at line 1460 of file svn_wc.h.

## rev_props

apr_hash_t* svn_wc_notify_t::rev_props

If `action` is svn_wc_notify_blame_revision, contains a list of revision properties for the specified revision.

Since
  New in 1.6

Definition at line 1465 of file svn_wc.h.

## revision

svn_revnum_t svn_wc_notify_t::revision

When `action` is svn_wc_notify_update_completed, target revision of the update, or SVN_INVALID_REVNUM if not available; when `action` is svn_wc_notify_blame_revision, processed revision; Since Subversion 1.7 when action is svn_wc_notify_update_update or svn_wc_notify_update_add, the target revision.

In all other cases, it is SVN_INVALID_REVNUM.

Definition at line 1435 of file svn_wc.h.

## url

const char* svn_wc_notify_t::url

Similar to `path`, but if non-NULL the notification is about a url.

Since
  New in 1.6

Definition at line 1450 of file svn_wc.h.

The documentation for this struct was generated from the following file:

- svn_wc.h