Struct git2::Reference
[−]
[src]
pub struct Reference<'repo> { // some fields omitted }
A structure to represent a git reference.
Methods
impl<'repo> Reference<'repo>
[src]
fn is_valid_name(refname: &str) -> bool
Ensure the reference name is well-formed.
fn raw(&self) -> *mut git_reference
Get access to the underlying raw pointer.
fn delete(&mut self) -> Result<(), Error>
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.
fn is_branch(&self) -> bool
Check if a reference is a local branch.
fn is_note(&self) -> bool
Check if a reference is a note.
fn is_remote(&self) -> bool
Check if a reference is a remote tracking branch
fn is_tag(&self) -> bool
Check if a reference is a tag
fn name(&self) -> Option<&str>
Get the full name of a reference.
Returns None
if the name is not valid utf-8.
fn name_bytes(&self) -> &[u8]
Get the full name of a reference.
fn shorthand(&self) -> Option<&str>
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.
fn shorthand_bytes(&self) -> &[u8]
Get the full shorthand of a reference.
fn target(&self) -> Option<Oid>
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).
fn target_peel(&self) -> Option<Oid>
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.
fn symbolic_target(&self) -> Option<&str>
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.
fn symbolic_target_bytes(&self) -> Option<&[u8]>
Get full name to the reference pointed to by a symbolic reference.
Only available if the reference is symbolic.
fn resolve(&self) -> Result<Reference<'repo>, Error>
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.
fn peel(&self, kind: ObjectType) -> Result<Object<'repo>, Error>
Peel a reference to an object
This method recursively peels the reference until it reaches an object of the specified type.
fn rename(&mut self, new_name: &str, force: bool, msg: &str) -> Result<Reference<'repo>, Error>
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.
fn set_target(&mut self, id: Oid, reflog_msg: &str) -> Result<Reference<'repo>, Error>
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> PartialOrd for Reference<'repo>
[src]
fn partial_cmp(&self, other: &Reference<'repo>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<'repo> Ord for Reference<'repo>
[src]
fn cmp(&self, other: &Reference<'repo>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
impl<'repo> PartialEq for Reference<'repo>
[src]
fn eq(&self, other: &Reference<'repo>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.