Skip to main content

ReceivePolicy

Struct ReceivePolicy 

Source
pub struct ReceivePolicy {
    pub deny_non_fast_forwards: bool,
    pub deny_deletes: bool,
    pub deny_current_branch: bool,
    pub deny_delete_current: bool,
    pub fsck_objects: Option<ObjectFsckPolicy>,
    pub shallow_update: bool,
}
Expand description

Which pushed objects and ref updates the server refuses.

Fields§

§deny_non_fast_forwards: bool

Refuse branch (refs/heads/*) updates that would discard commits (receive.denyNonFastForwards). Other refs are not checked.

§deny_deletes: bool

Refuse ref deletions (receive.denyDeletes).

§deny_current_branch: bool

In a repository with a working tree, refuse to update or delete the branch HEAD points at (receive.denyCurrentBranch).

§deny_delete_current: bool

Refuse to delete the branch HEAD points at, in a bare repository as well as one with a working tree (receive.denyDeleteCurrent).

§fsck_objects: Option<ObjectFsckPolicy>

Check every pushed commit, tree and tag with this policy before any of them enters the repository (receive.fsckObjects). One refused object refuses the whole push with UnpackError::Rejected. None skips the check.

§shallow_update: bool

Accept pushes from a shallow client that would make this repository shallow at one of the client’s boundaries (receive.shallowUpdate). The new boundaries are added to the repository’s shallow file. When false, such updates are refused with RefUpdateRefusal::ShallowUpdateNotAllowed; pushes whose history the repository already holds below the client’s boundaries are accepted either way.

Implementations§

Source§

impl ReceivePolicy

Source

pub fn from_config(config: &ConfigSet) -> Self

Read the policy from the receive.* configuration keys.

receive.denyCurrentBranch accepts Git’s values: refuse, true or unset refuse the update; ignore, warn, false and updateInstead allow it (this server does not update the working tree). receive.denyDeleteCurrent is the same, except that updateInstead refuses: there is no working tree to update for a deleted branch.

Pushed objects are checked when receive.fsckObjects is true, or when it is unset and transfer.fsckObjects is true. A value that is not a boolean turns the check on rather than silently leaving it off. The check uses receive.fsck.<msg-id> overrides and receive.fsck.skipList (see ObjectFsckPolicy::from_config).

§Parameters
  • config: the repository’s loaded configuration.
§Returns

The policy, with defaults for unset or unparseable keys.

Trait Implementations§

Source§

impl Clone for ReceivePolicy

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ReceivePolicy

Source§

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

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

impl Default for ReceivePolicy

Source§

fn default() -> Self

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

impl Eq for ReceivePolicy

Source§

impl PartialEq for ReceivePolicy

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ReceivePolicy

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> Same for T

Source§

type Output = T

Should always be Self
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.