# svn_wc_notify_t Struct Reference
[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).
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`.
const svn_lock_t * | lock
| Points to the lock structure received from the repository when `action` is svn_wc_notify_locked.
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.
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.
const char * | changelist_name
| If `action` pertains to a changelist, this is the changelist name.
svn_merge_range_t * | merge_range
| When `action` is svn_wc_notify_merge_begin, and both the left and right sides of the merge are from the same URL.
const char * | url
| Similar to `path`, but if non-NULL the notification is about a url.
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`.
const char * | prop_name
| If `action` relates to properties, specifies the name of the property.
apr_hash_t * | rev_props
| If `action` is svn_wc_notify_blame_revision, contains a list of revision properties for the specified revision.
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.
svn_linenum_t | hunk_matched_line
| The line at which a hunk was matched (and applied).
svn_linenum_t | hunk_fuzz
| The fuzz factor the hunk was applied with.
svn_linenum_t | hunk_original_start
| These fields are used by svn patch to identify the hunk the notification is for.
svn_linenum_t | hunk_original_length
svn_linenum_t | hunk_modified_start
svn_linenum_t | hunk_modified_length

## 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 (### what?), 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 1294 of file svn_wc.h.

## Field Documentation

svn_wc_notify_action_t svn_wc_notify_t::action

Action that describes what happened to svn_wc_notify_t.path.

Definition at line 1303 of file svn_wc.h.

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 1343 of file svn_wc.h.

svn_wc_notify_state_t svn_wc_notify_t::content_state

The type of notification that is occurring about node content.

Definition at line 1324 of file svn_wc.h.

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 1321 of file svn_wc.h.

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 1392 of file svn_wc.h.

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 1388 of file svn_wc.h.

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 1380 of file svn_wc.h.

svn_node_kind_t svn_wc_notify_t::kind

Node kind of `path`.

Definition at line 1306 of file svn_wc.h.

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 1315 of file svn_wc.h.

svn_wc_notify_lock_state_t svn_wc_notify_t::lock_state

Reflects the addition or removal of a lock token in the working copy.

Definition at line 1330 of file svn_wc.h.

svn_merge_range_t* svn_wc_notify_t::merge_range

When `action` is svn_wc_notify_merge_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 1348 of file svn_wc.h.

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 1310 of file svn_wc.h.

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 1373 of file svn_wc.h.

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 an url that is available in `url`.

Definition at line 1300 of file svn_wc.h.

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 1358 of file svn_wc.h.

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 1362 of file svn_wc.h.

svn_wc_notify_state_t svn_wc_notify_t::prop_state

The type of notification that is occurring about node properties.

Definition at line 1327 of file svn_wc.h.

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 1367 of file svn_wc.h.

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 1339 of file svn_wc.h.

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 1352 of file svn_wc.h.

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

- svn_wc.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines