@@ -150,6 +150,20 @@ extern NSString * const GTRepositoryInitOptionsInitialHEAD;
150150// / initialization.
151151extern NSString * const GTRepositoryInitOptionsOriginURLString;
152152
153+ // / The possible states for the repository to be in, based on the current ongoing operation.
154+ typedef NS_ENUM (NSInteger , GTRepositoryStateType) {
155+ GTRepositoryStateNone = GIT_REPOSITORY_STATE_NONE,
156+ GTRepositoryStateMerge = GIT_REPOSITORY_STATE_MERGE,
157+ GTRepositoryStateRevert = GIT_REPOSITORY_STATE_REVERT,
158+ GTRepositoryStateCherryPick = GIT_REPOSITORY_STATE_CHERRYPICK,
159+ GTRepositoryStateBisect = GIT_REPOSITORY_STATE_BISECT,
160+ GTRepositoryStateRebase = GIT_REPOSITORY_STATE_REBASE,
161+ GTRepositoryStateRebaseInteractive = GIT_REPOSITORY_STATE_REBASE_INTERACTIVE,
162+ GTRepositoryStateRebaseMerge = GIT_REPOSITORY_STATE_REBASE_MERGE,
163+ GTRepositoryStateApplyMailbox = GIT_REPOSITORY_STATE_APPLY_MAILBOX,
164+ GTRepositoryStateApplyMailboxOrRebase = GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE,
165+ };
166+
153167@interface GTRepository : NSObject
154168
155169// / The file URL for the repository's working directory.
@@ -573,6 +587,23 @@ extern NSString * const GTRepositoryInitOptionsOriginURLString;
573587// / Returns the enumerator or nil if an error occurred.
574588- (nullable GTEnumerator *)enumeratorForUniqueCommitsFromOID : (GTOID *)fromOID relativeToOID : (GTOID *)relativeOID error : (NSError **)error ;
575589
590+ // / Determines the status of a git repository--i.e., whether an operation
591+ // / (merge, cherry-pick, etc) is in progress.
592+ // /
593+ // / state - A pointer to set the retrieved state. Must not be NULL.
594+ // / error - The error if one occurred.
595+ // /
596+ // / Returns YES if operation was successful, NO otherwise
597+ - (BOOL )calculateState : (GTRepositoryStateType *)state withError : (NSError **)error ;
598+
599+ // / Remove all the metadata associated with an ongoing command like merge,
600+ // / revert, cherry-pick, etc. For example: MERGE_HEAD, MERGE_MSG, etc.
601+ // /
602+ // / error - The error if one occurred.
603+ // /
604+ // / Returns YES if operation was successful, NO otherwise
605+ - (BOOL )cleanupStateWithError : (NSError **)error ;
606+
576607@end
577608
578609NS_ASSUME_NONNULL_END
0 commit comments