svn_wc_notify_t

Struct svn_wc_notify_t 

Source
#[repr(C)]
pub struct svn_wc_notify_t {
Show 23 fields pub path: *const c_char, pub action: svn_wc_notify_action_t, pub kind: svn_node_kind_t, pub mime_type: *const c_char, pub lock: *const svn_lock_t, pub err: *mut svn_error_t, pub content_state: svn_wc_notify_state_t, pub prop_state: svn_wc_notify_state_t, pub lock_state: svn_wc_notify_lock_state_t, pub revision: svn_revnum_t, pub changelist_name: *const c_char, pub merge_range: *mut svn_merge_range_t, pub url: *const c_char, pub path_prefix: *const c_char, pub prop_name: *const c_char, pub rev_props: *mut apr_hash_t, pub old_revision: svn_revnum_t, pub hunk_original_start: svn_linenum_t, pub hunk_original_length: svn_linenum_t, pub hunk_modified_start: svn_linenum_t, pub hunk_modified_length: svn_linenum_t, pub hunk_matched_line: svn_linenum_t, pub hunk_fuzz: svn_linenum_t,
}
Expand description

Structure used in the #svn_wc_notify_func2_t function.

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

@note If @c action is #svn_wc_notify_update_completed, then @c path has already been installed, so it is legitimate for an implementation of #svn_wc_notify_func2_t to examine @c path in the working copy.

@note The purpose of the @c kind, @c mime_type, @c content_state, and @c 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).

@note 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.

Fields§

§path: *const c_char

Path, either absolute or relative to the current working directory (i.e., not relative to an anchor). @c path is “.” or another valid path value for compatibility reasons when the real target is a url that is available in @c url.

§action: svn_wc_notify_action_t

Action that describes what happened to #svn_wc_notify_t.path.

§kind: svn_node_kind_t

Node kind of @c path.

§mime_type: *const c_char

If non-NULL, indicates the mime-type of @c path. It is always @c NULL for directories.

§lock: *const svn_lock_t

Points to the lock structure received from the repository when @c action is #svn_wc_notify_locked. For other actions, it is @c NULL.

§err: *mut svn_error_t

Points to an error describing the reason for the failure when @c action is one of the following: #svn_wc_notify_failed_lock, #svn_wc_notify_failed_unlock, #svn_wc_notify_failed_external. Is @c NULL otherwise.

§content_state: svn_wc_notify_state_t

The type of notification that is occurring about node content.

§prop_state: svn_wc_notify_state_t

The type of notification that is occurring about node properties.

§lock_state: svn_wc_notify_lock_state_t

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

§revision: svn_revnum_t

When @c action is #svn_wc_notify_update_completed, target revision of the update, or #SVN_INVALID_REVNUM if not available; when @c 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.

§changelist_name: *const c_char

If @c action pertains to a changelist, this is the changelist name. In all other cases, it is @c NULL. @since New in 1.5

§merge_range: *mut svn_merge_range_t

When @c 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 @c NULL. @since New in 1.5

§url: *const c_char

Similar to @c path, but if non-NULL the notification is about a url. @since New in 1.6

§path_prefix: *const c_char

If non-NULL, specifies an absolute path prefix that can be subtracted from the start of the absolute path in @c path or @c 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

§prop_name: *const c_char

If @c action relates to properties, specifies the name of the property. @since New in 1.6

§rev_props: *mut apr_hash_t

If @c action is #svn_wc_notify_blame_revision, contains a list of revision properties for the specified revision @since New in 1.6

§old_revision: svn_revnum_t

If @c 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

§hunk_original_start: svn_linenum_t§hunk_original_length: svn_linenum_t§hunk_modified_start: svn_linenum_t§hunk_modified_length: svn_linenum_t§hunk_matched_line: svn_linenum_t

The line at which a hunk was matched (and applied). @since New in 1.7.

§hunk_fuzz: svn_linenum_t

The fuzz factor the hunk was applied with. @since New in 1.7

Trait Implementations§

Source§

impl Clone for svn_wc_notify_t

Source§

fn clone(&self) -> svn_wc_notify_t

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for svn_wc_notify_t

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for svn_wc_notify_t

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Copy for svn_wc_notify_t

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.