#ifndef GIT_LIBRARY_H_INCLUDED #define GIT_LIBRARY_H_INCLUDED #include #include #include #include #include #include #include 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 *remoteRepoName); // explicit GitLibrary(); // ~GitLibrary(); }; #endif // #define GIT_LIBRARY_H_INCLUDED