11enum class GitChangeType
25enum class GitStagedState
34enum class GitOperationKind
45enum class GitOperationStatus
60 GitChangeType mChangeType = GitChangeType::Modified;
61 GitStagedState mStagedState = GitStagedState::Unstaged;
67 std::string mShortOid;
70 std::string mAuthorName;
71 std::string mAuthorEmail;
72 std::string mCommitterName;
73 std::string mCommitterEmail;
74 int64_t mTimestamp = 0;
75 std::vector<std::string> mParentOids;
76 std::vector<std::string> mRefNames;
83 std::string mUpstreamName;
84 std::string mLastCommitOid;
85 std::string mLastCommitSummary;
87 bool mIsCurrent =
false;
88 int32_t mAheadCount = 0;
89 int32_t mBehindCount = 0;
95 std::string mTargetOid;
97 std::string mTaggerName;
98 int64_t mTimestamp = 0;
99 bool mIsAnnotated =
false;
105 std::string mFetchUrl;
106 std::string mPushUrl;
107 bool mIsDefault =
false;
112 std::string mContent;
113 int32_t mOldLineNo = -1;
114 int32_t mNewLineNo = -1;
121 int32_t mOldStart = 0;
122 int32_t mOldLines = 0;
123 int32_t mNewStart = 0;
124 int32_t mNewLines = 0;
125 std::vector<GitDiffLine> mLines;
130 std::string mOldPath;
131 std::string mNewPath;
132 bool mIsBinary =
false;
133 std::vector<GitDiffHunk> mHunks;
136struct GitProgressEvent
149 int32_t mPercent = -1;
150 int32_t mCurrent = 0;
155struct GitOperationResult
157 GitOperationKind mKind = GitOperationKind::Fetch;
158 GitOperationStatus mStatus = GitOperationStatus::Pending;
159 std::string mMessage;
160 std::string mDetailedError;
161 std::string mSuggestedAction;
162 int32_t mExitCode = 0;
165using GitCancelToken = std::shared_ptr<std::atomic_bool>;
167inline GitCancelToken CreateCancelToken()
169 return std::make_shared<std::atomic_bool>(
false);