100 const std::vector<wxString>& aFiles,
101 const wxString& aMessage,
102 const wxString& aAuthorName,
103 const wxString& aAuthorEmail ) = 0;
106 const wxString& aMessage,
const wxString& aAuthorName,
107 const wxString& aAuthorEmail ) = 0;
112 bool aChangedOnly ) = 0;
117 const std::set<wxString>& aLocalChanges,
118 const std::set<wxString>& aRemoteChanges,
119 std::map<wxString, FileStatus>& aFileStatus ) = 0;
124 wxString& aValue ) = 0;
138 wxString* aTrustCommand ) = 0;
141 bool aRemoveGitDir, wxString* aErrors ) = 0;
171 wxString& aTheirsOid, std::vector<KIGIT_CONFLICT_SIDES>& aConflicts,
172 wxString& aError ) = 0;
175 const wxString& aTheirsOid,
176 const std::vector<std::pair<wxString, wxString>>& aResolvedFiles,
virtual RestoreResult RestoreVersion(KIGIT_COMMON &aCommon, const wxString &aCommitHash, KIGIT_ERROR_MESSAGE &aError)=0
virtual InitResult InitializeRepository(GIT_INIT_HANDLER *aHandler, const wxString &aPath)=0
virtual bool CreateTag(git_repository *aRepo, const wxString &aName, const wxString &aMessage)=0
virtual bool IsLibraryAvailable()=0
virtual bool CheckoutTag(git_repository *aRepo, const wxString &aName)=0
virtual int CreateBranch(git_repository *aRepo, const wxString &aBranchName, const wxString &aFrom)=0
virtual bool GetConfigString(GIT_CONFIG_HANDLER *aHandler, const wxString &aKey, wxString &aValue)=0
virtual PushResult Push(GIT_PUSH_HANDLER *aHandler, bool aForce=false)=0
virtual bool DeleteTag(git_repository *aRepo, const wxString &aName)=0
virtual void Shutdown()=0
KIGIT_ORPHAN_REGISTRY m_orphanRegistry
virtual bool SetRemoteUrl(git_repository *aRepo, const wxString &aName, const wxString &aUrl)=0
virtual bool AbandonOperation(git_repository *aRepo, wxString &aError)=0
Drop a merge, rebase, cherry-pick or revert left in progress and return to the last commit.
virtual ~GIT_BACKEND()=default
virtual bool GetMergeConflicts(git_repository *aRepo, const wxString &aStageDir, wxString &aHeadOid, wxString &aTheirsOid, std::vector< KIGIT_CONFLICT_SIDES > &aConflicts, wxString &aError)=0
KIGIT_ORPHAN_REGISTRY & OrphanRegistry()
Return the process-wide orphan thread registry owned by this backend.
virtual PullResult PerformPull(GIT_PULL_HANDLER *aHandler)=0
virtual wxString GetWorkingDirectory(GIT_STATUS_HANDLER *aHandler)=0
virtual bool IsRepository(GIT_INIT_HANDLER *aHandler, const wxString &aPath)=0
virtual bool DeleteBranch(git_repository *aRepo, const wxString &aBranchName)=0
virtual bool AddRemote(git_repository *aRepo, const wxString &aName, const wxString &aUrl)=0
virtual bool StashPop(git_repository *aRepo, size_t aIndex)=0
virtual MergeCommitResult CreateMergedCommit(git_repository *aRepo, const wxString &aExpectedHeadOid, const wxString &aTheirsOid, const std::vector< std::pair< wxString, wxString > > &aResolvedFiles, KIGIT_ERROR_MESSAGE &aError)=0
virtual bool Clone(GIT_CLONE_HANDLER *aHandler)=0
virtual bool StashApply(git_repository *aRepo, size_t aIndex)=0
virtual bool SetUserConfig(git_repository *aRepo, const wxString &aName, const wxString &aEmail)=0
virtual bool IsPathInHead(git_repository *aRepo, const wxString &aPath)=0
virtual bool DiscardChanges(git_repository *aRepo, const std::vector< wxString > &aPaths, wxString &aError)=0
virtual bool StashSave(git_repository *aRepo, const wxString &aMessage)=0
virtual BranchResult SwitchToBranch(GIT_BRANCH_HANDLER *aHandler, const wxString &aBranchName)=0
virtual git_repository * GetRepositoryForFile(const char *aFilename, wxString *aError, wxString *aTrustCommand)=0
aError receives why git refused to open the repository, and aTrustCommand the command that trusts it ...
virtual bool StashDrop(git_repository *aRepo, size_t aIndex)=0
virtual bool RemoveVCS(git_repository *&aRepo, const wxString &aProjectPath, bool aRemoveGitDir, wxString *aErrors)=0
virtual wxString GetCurrentBranchName(GIT_STATUS_HANDLER *aHandler)=0
virtual bool PerformFetch(GIT_PULL_HANDLER *aHandler, bool aSkipLock)=0
virtual std::map< wxString, FileStatus > GetFileStatus(GIT_STATUS_HANDLER *aHandler, const wxString &aPathspec, bool aChangedOnly)=0
virtual void UpdateRemoteStatus(GIT_STATUS_HANDLER *aHandler, const std::set< wxString > &aLocalChanges, const std::set< wxString > &aRemoteChanges, std::map< wxString, FileStatus > &aFileStatus)=0
virtual CommitResult Commit(GIT_COMMIT_HANDLER *aHandler, const std::vector< wxString > &aFiles, const wxString &aMessage, const wxString &aAuthorName, const wxString &aAuthorEmail)=0
virtual CommitResult Amend(GIT_COMMIT_HANDLER *aHandler, const std::vector< wxString > &aFiles, const wxString &aMessage, const wxString &aAuthorName, const wxString &aAuthorEmail)=0
virtual bool RemoveRemote(git_repository *aRepo, const wxString &aName)=0
virtual bool SetupRemote(GIT_INIT_HANDLER *aHandler, const RemoteConfig &aConfig)=0
The project's git session.
Registry of background git cleanup threads that outlive the owning project or dialog.
APIEXPORT void SetGitBackend(GIT_BACKEND *aBackend)
@ SuccessIndexStale
Committed, but the staged list was left as another program had it. Never retry on this.
APIEXPORT GIT_BACKEND * GetGitBackend()
#define APIEXPORT
Macros which export functions from a DLL/DSO.
A summary the user can act on, with the raw text that explains it kept apart for the details.