[][src]Struct git2::Reference

pub struct Reference<'repo> { /* fields omitted */ }

A structure to represent a git reference.

Methods

impl<'repo> Reference<'repo>[src]

pub fn is_valid_name(refname: &str) -> bool[src]

Ensure the reference name is well-formed.

pub fn raw(&self) -> *mut git_reference[src]

Get access to the underlying raw pointer.

pub fn delete(&mut self) -> Result<(), Error>[src]

Delete an existing reference.

This method works for both direct and symbolic references. The reference will be immediately removed on disk.

This function will return an error if the reference has changed from the time it was looked up.

pub fn is_branch(&self) -> bool[src]

Check if a reference is a local branch.

pub fn is_note(&self) -> bool[src]

Check if a reference is a note.

pub fn is_remote(&self) -> bool[src]

Check if a reference is a remote tracking branch

pub fn is_tag(&self) -> bool[src]

Check if a reference is a tag

pub fn kind(&self) -> Option<ReferenceType>[src]

Get the reference type of a reference.

If the type is unknown, then None is returned.

pub fn name(&self) -> Option<&str>[src]

Get the full name of a reference.

Returns None if the name is not valid utf-8.

pub fn name_bytes(&self) -> &[u8][src]

Get the full name of a reference.

pub fn shorthand(&self) -> Option<&str>[src]

Get the full shorthand of a reference.

This will transform the reference name into a name "human-readable" version. If no shortname is appropriate, it will return the full name.

Returns None if the shorthand is not valid utf-8.

pub fn shorthand_bytes(&self) -> &[u8][src]

Get the full shorthand of a reference.

pub fn target(&self) -> Option<Oid>[src]

Get the OID pointed to by a direct reference.

Only available if the reference is direct (i.e. an object id reference, not a symbolic one).

pub fn target_peel(&self) -> Option<Oid>[src]

Return the peeled OID target of this reference.

This peeled OID only applies to direct references that point to a hard Tag object: it is the result of peeling such Tag.

pub fn symbolic_target(&self) -> Option<&str>[src]

Get full name to the reference pointed to by a symbolic reference.

May return None if the reference is either not symbolic or not a valid utf-8 string.

pub fn symbolic_target_bytes(&self) -> Option<&[u8]>[src]

Get full name to the reference pointed to by a symbolic reference.

Only available if the reference is symbolic.

pub fn resolve(&self) -> Result<Reference<'repo>, Error>[src]

Resolve a symbolic reference to a direct reference.

This method iteratively peels a symbolic reference until it resolves to a direct reference to an OID.

If a direct reference is passed as an argument, a copy of that reference is returned.

pub fn peel(&self, kind: ObjectType) -> Result<Object<'repo>, Error>[src]

Peel a reference to an object

This method recursively peels the reference until it reaches an object of the specified type.

pub fn peel_to_blob(&self) -> Result<Blob<'repo>, Error>[src]

Peel a reference to a blob

This method recursively peels the reference until it reaches a blob.

pub fn peel_to_commit(&self) -> Result<Commit<'repo>, Error>[src]

Peel a reference to a commit

This method recursively peels the reference until it reaches a commit.

pub fn peel_to_tree(&self) -> Result<Tree<'repo>, Error>[src]

Peel a reference to a tree

This method recursively peels the reference until it reaches a tree.

pub fn peel_to_tag(&self) -> Result<Tag<'repo>, Error>[src]

Peel a reference to a tag

This method recursively peels the reference until it reaches a tag.

pub fn rename(
    &mut self,
    new_name: &str,
    force: bool,
    msg: &str
) -> Result<Reference<'repo>, Error>
[src]

Rename an existing reference.

This method works for both direct and symbolic references.

If the force flag is not enabled, and there's already a reference with the given name, the renaming will fail.

pub fn set_target(
    &mut self,
    id: Oid,
    reflog_msg: &str
) -> Result<Reference<'repo>, Error>
[src]

Conditionally create a new reference with the same name as the given reference but a different OID target. The reference must be a direct reference, otherwise this will fail.

The new reference will be written to disk, overwriting the given reference.

Trait Implementations

impl<'repo> Drop for Reference<'repo>[src]

impl<'repo> Eq for Reference<'repo>[src]

impl<'repo> Ord for Reference<'repo>[src]

impl<'repo> PartialEq<Reference<'repo>> for Reference<'repo>[src]

impl<'repo> PartialOrd<Reference<'repo>> for Reference<'repo>[src]

Auto Trait Implementations

impl<'repo> RefUnwindSafe for Reference<'repo>

impl<'repo> !Send for Reference<'repo>

impl<'repo> !Sync for Reference<'repo>

impl<'repo> Unpin for Reference<'repo>

impl<'repo> UnwindSafe for Reference<'repo>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.