#ifndef GIT_CLIENT_H_INCLUDED #define GIT_CLIENT_H_INCLUDED #include #include #include "process/command.h" class Worker; class GitClient : public QObject { Q_OBJECT Worker *m_worker; QString const m_repositoryPath; QString const m_customerId; QString const m_workingDirectory; QString const m_branchName; QString const m_customerRepository; std::optional gitCloneRepository(QString const &repPath); bool gitCheckout(QString const &branchName); public: explicit GitClient(QString const &workingDirectory = QCoreApplication::applicationDirPath(), QString const &branchName = "master"); void setWorkingDirectory(QString const &workingDirectory); QString workingDirectory() const; void setBranchName(QString const &branchName); QString branchName() const; std::optional gitCloneBranch(QString const &repPath, QString const &branchName); std::optional gitFetch(); bool gitFetchAndDiff(); bool gitPull(); std::optional gitDiff(QString const &commit); std::optional gitMerge(); }; #endif // GIT_CLIENT_H_INCLUDED