48 lines
1.6 KiB
C++
48 lines
1.6 KiB
C++
#ifndef GIT_LIBRARY_H_INCLUDED
|
|
#define GIT_LIBRARY_H_INCLUDED
|
|
|
|
#include <QByteArray>
|
|
#include <QString>
|
|
#include <QJsonDocument>
|
|
#include <QJsonArray>
|
|
#include <QJsonObject>
|
|
#include <QDir>
|
|
#include <git2.h>
|
|
|
|
class CWD {
|
|
QDir m_prev;
|
|
QDir m_localRepoDir;
|
|
QDir m_localRepoGitDir;
|
|
bool m_valid;
|
|
public:
|
|
CWD(QString const &localRepoName);
|
|
~CWD();
|
|
|
|
QDir const &localRepoDir() const { return m_localRepoDir; }
|
|
QDir &localRepoDir() { return m_localRepoDir; }
|
|
QDir const &localRepoGitDir() const { return m_localRepoGitDir; }
|
|
QDir &localRepoGitDir() { return m_localRepoGitDir; }
|
|
};
|
|
|
|
class GitLibrary {
|
|
static QString m_userName;
|
|
static QString m_userPassword;
|
|
public:
|
|
static QString &userName() { return m_userName; }
|
|
static QString &userPassword() { return m_userPassword; }
|
|
|
|
static int Init();
|
|
static int Shutdown();
|
|
static int CloneRepository(char const *url, char const *localRepoName);
|
|
static int CheckoutRepository(char const *url, char const *localRepoName, char const *branchName);
|
|
static int CommitRepository(char const *localRepoName, char const *branchName, char const *commitMessage);
|
|
static int CommitFile(char const *localRepoName, char const *branchName, char const *fName, char const *commitMessage);
|
|
static int PushRepository(char const *localRepoName, char const *branchName, char const *userName, char const *userPassword);
|
|
static int PullRepository(char const *localRepoName, char const *branchName, char const *userName, char const *userPassword);
|
|
|
|
// explicit GitLibrary();
|
|
// ~GitLibrary();
|
|
};
|
|
|
|
#endif // #define GIT_LIBRARY_H_INCLUDED
|