gi-ggit-1.0.7: libgit2-glib bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
Safe HaskellNone
LanguageHaskell2010

GI.Ggit.Objects.Rebase

Contents

Description

Represents a rebase object.

Synopsis

Exported types

newtype Rebase Source #

Memory-managed wrapper type.

Constructors

Rebase (ManagedPtr Rebase) 
Instances
GObject Rebase Source # 
Instance details

Defined in GI.Ggit.Objects.Rebase

Methods

gobjectType :: IO GType #

HasParentTypes Rebase Source # 
Instance details

Defined in GI.Ggit.Objects.Rebase

type ParentTypes Rebase Source # 
Instance details

Defined in GI.Ggit.Objects.Rebase

type ParentTypes Rebase = Native ': (ObjectFactoryBase ': (Object ': ([] :: [Type])))

class (GObject o, IsDescendantOf Rebase o) => IsRebase o Source #

Type class for types which can be safely cast to Rebase, for instance with toRebase.

Instances
(GObject o, IsDescendantOf Rebase o) => IsRebase o Source # 
Instance details

Defined in GI.Ggit.Objects.Rebase

toRebase :: (MonadIO m, IsRebase o) => o -> m Rebase Source #

Cast to Rebase, for types for which this is known to be safe. For general casts, use castTo.

noRebase :: Maybe Rebase Source #

A convenience alias for Nothing :: Maybe Rebase.

Methods

abort

rebaseAbort Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a) 
=> a

rebase: a Rebase.

-> m ()

(Can throw GError)

Aborts a rebase that is currently in progress, resetting the repository and working directory to their state before rebase began.

commit

rebaseCommit Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a, IsSignature b, IsSignature c) 
=> a

rebase: a Rebase.

-> Maybe b

author: a Signature or Nothing to keep the author from the original commit.

-> c

committer: a Signature.

-> Maybe Text

message: the message for this commit, or Nothing to use the message from the original commit.

-> m (Maybe OId)

Returns: a OId of the newly created commit or Nothing. (Can throw GError)

Commits the current patch. You must have resolved any conflicts that were introduced during the patch application from the rebaseNext invocation.

finish

rebaseFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a, IsSignature b) 
=> a

rebase: a Rebase.

-> Maybe b

signature: the identity that is finishing the rebase or Nothing.

-> m ()

(Can throw GError)

Finishes a rebase that is currently in progress once all patches have been applied.

getOperationByIndex

rebaseGetOperationByIndex Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a) 
=> a

rebase: a Rebase.

-> Word64

idx: The index of the rebase operation to retrieve.

-> m (Maybe RebaseOperation)

Returns: The rebase operation or Nothing if idx was out of bounds.

Gets the rebase operation specified by idx.

getOperationEntryCount

rebaseGetOperationEntryCount Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a) 
=> a

rebase: a Rebase.

-> m Word64

Returns: the count of rebase operations that are to be applied.

Gets the count of rebase operations that are to be applied.

getOperationIndex

rebaseGetOperationIndex Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a) 
=> a

rebase: a Rebase.

-> m Word64

Returns: The index of the rebase operation currently being applied.

Gets the index of the rebase operation that is currently being applied. If the first operation has not yet been applied (because you have called repositoryRebaseInit but not yet rebaseNext) then this returns gGITREBASENOOPERATION.

next

rebaseNext Source #

Arguments

:: (HasCallStack, MonadIO m, IsRebase a) 
=> a

rebase: a Rebase.

-> m (Maybe RebaseOperation)

Returns: the rebase operation that is to be performed next or Nothing. (Can throw GError)

Performs the next rebase operation and returns the information about it. If the operation is one that applies a patch (which is any operation except gGITREBASEOPERATIONEXEC) then the patch will be applied and the index and working directory will be updated with the changes. If there are conflicts, you will need to address those before committing the changes.