Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Reprensents a git reference.
Synopsis
- newtype Ref = Ref (ManagedPtr Ref)
- class (GObject o, IsDescendantOf Ref o) => IsRef o
- toRef :: (MonadIO m, IsRef o) => o -> m Ref
- refDelete :: (HasCallStack, MonadIO m, IsRef a) => a -> m ()
- refDeleteLog :: (HasCallStack, MonadIO m, IsRef a) => a -> m ()
- refGetLog :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Reflog)
- refGetName :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Text)
- refGetOwner :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Repository)
- refGetReferenceType :: (HasCallStack, MonadIO m, IsRef a) => a -> m RefType
- refGetShorthand :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Text)
- refGetSymbolicTarget :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Text)
- refGetTarget :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe OId)
- refHasLog :: (HasCallStack, MonadIO m, IsRef a) => a -> m Bool
- refIsBranch :: (HasCallStack, MonadIO m, IsRef a) => a -> m Bool
- refIsNote :: (HasCallStack, MonadIO m, IsRef a) => a -> m Bool
- refIsRemote :: (HasCallStack, MonadIO m, IsRef a) => a -> m Bool
- refIsTag :: (HasCallStack, MonadIO m, IsRef a) => a -> m Bool
- refIsValidName :: (HasCallStack, MonadIO m) => Text -> m Bool
- refLookup :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Object)
- refRename :: (HasCallStack, MonadIO m, IsRef a) => a -> Text -> Bool -> Text -> m (Maybe Ref)
- refResolve :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Ref)
- refSetSymbolicTarget :: (HasCallStack, MonadIO m, IsRef a) => a -> Text -> Text -> m (Maybe Ref)
- refSetTarget :: (HasCallStack, MonadIO m, IsRef a) => a -> OId -> Text -> m (Maybe Ref)
- refToString :: (HasCallStack, MonadIO m, IsRef a) => a -> m (Maybe Text)
Exported types
Memory-managed wrapper type.
Instances
Eq Ref Source # | |
GObject Ref Source # | |
Defined in GI.Ggit.Objects.Ref | |
ManagedPtrNewtype Ref Source # | |
Defined in GI.Ggit.Objects.Ref toManagedPtr :: Ref -> ManagedPtr Ref | |
TypedObject Ref Source # | |
Defined in GI.Ggit.Objects.Ref | |
HasParentTypes Ref Source # | |
Defined in GI.Ggit.Objects.Ref | |
IsGValue (Maybe Ref) Source # | Convert |
Defined in GI.Ggit.Objects.Ref gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Ref -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Ref) | |
type ParentTypes Ref Source # | |
Defined in GI.Ggit.Objects.Ref |
class (GObject o, IsDescendantOf Ref o) => IsRef o Source #
Instances
(GObject o, IsDescendantOf Ref o) => IsRef o Source # | |
Defined in GI.Ggit.Objects.Ref |
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, delete, deleteLog, forceFloating, freezeNotify, getv, hasLog, isBranch, isFloating, isNote, isRemote, isTag, lookup, notify, notifyByPspec, ref, refSink, rename, resolve, runDispose, stealData, stealQdata, thawNotify, toString, unref, watchClosure.
Getters
getData, getLog, getName, getOwner, getProperty, getQdata, getReferenceType, getShorthand, getSymbolicTarget, getTarget.
Setters
setData, setDataFull, setProperty, setSymbolicTarget, setTarget.
delete
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m () | (Can throw |
Deletes ref
.
This method works for both direct and symbolic references.
The reference will be immediately removed on disk and from memory. The given reference pointer will no longer be valid.
deleteLog
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m () | (Can throw |
Deletes the log for ref
, on error error
is set.
getLog
Gets the Reflog
for ref
. The reflog will be created if it doesn't exist
yet.
getName
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m (Maybe Text) | Returns: the full name of a reference or |
Gets the full name of ref
.
getOwner
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m (Maybe Repository) | Returns: the repository where a reference resides or |
Gets the repository where ref
resides.
getReferenceType
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m RefType | Returns: the type of a reference. |
Gets the type of ref
. Either direct (GGIT_REF_OID
) or
symbolic (GGIT_REF_SYMBOLIC
).
getShorthand
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m (Maybe Text) | Returns: the shorthand name of a reference or |
Gets the shorthand name of ref
.
getSymbolicTarget
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m (Maybe Text) | Returns: the name if available, |
Get full name to the reference pointed to by a symbolic reference. Only available if the reference is symbolic.
getTarget
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m (Maybe OId) | Returns: a new oid if available, |
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).
hasLog
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m Bool |
Get whether ref
has an existing log.
isBranch
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m Bool | Returns: |
Check whether the reference is a branch.
isNote
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m Bool |
Check whether the reference is a note.
isRemote
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m Bool | Returns: |
Check whether the reference is a remote.
isTag
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m Bool |
Check whether the reference is a tag.
isValidName
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m Bool |
Check if the given name
is a valid name for a reference. Note that name
should be the full ref name (including prefixes).
Valid toplevel names can contain only capital letters and underscores and must start and end with a letter (e.g. HEAD, ORIG_HEAD).
Valid refs/ names may contain any characters, except '~', '^', ':', '\', '?', '[', '*', ".." and "@{", because they are interpreted by revparse.
lookup
Convenient method to resolve a reference to an object.
rename
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> Text |
|
-> Bool |
|
-> Text |
|
-> m (Maybe Ref) |
Rename an existing reference.
This method works for both direct and symbolic references.
The new name will be checked for validity.
See ggit_ref_create_symbolic()
for rules about valid names.
If not error, ref
will be deleted from disk and a
new Ref
will be returned.
The reference will be immediately renamed in-memory and on disk.
If the force
flag is not enabled, and there's already
a reference with the given name, the renaming will fail.
IMPORTANT: The user needs to write a proper reflog entry if the reflog is enabled for the repository. We only rename the reflog if it exists.
resolve
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> m (Maybe Ref) | Returns: the resolved reference to the peeled one or |
Resolves a symbolic 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, that reference is returned immediately.
setSymbolicTarget
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> Text |
|
-> Text |
|
-> m (Maybe Ref) | Returns: the newly created |
Create a new reference with the same name as the given reference but a different symbolic target. The reference must be a symbolic reference, otherwise this will fail.
The new reference will be written to disk, overwriting the given reference.
The target name will be checked for validity.
See ggit_ref_create_symbolic()
for rules about valid names.
setTarget
:: (HasCallStack, MonadIO m, IsRef a) | |
=> a |
|
-> OId |
|
-> Text |
|
-> m (Maybe Ref) | Returns: the newly created |
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.